много неудачных попыток входа в систему по SSH. Стоит ли мне беспокоиться? [дубликат]

Возможный дубликат:
Стоит ли блокировать неудачные попытки входа в систему
Нормально ли получать сотни попыток взлома в день?

Я управляю несколькими совершенно разными корневыми серверами в разных центрах обработки данных и замечаю довольно большое количество неудачных попыток входа в систему по SSH на большинстве из них. Вот снимок за последние три дня:

SSHD login attempts graph

Нет регулярного шаблона, но обычно я регистрирую несколько сотен попыток в день. Мне кажется, что ботнеты случайно пытаются проникнуть на чужие серверы. Я использую довольно безопасные пароли, но все же: стоит ли мне беспокоиться или что-то делать с этим?

Лучше всего было бы изменить порт SSH, но это возможно не во всех случаях.

В любом случае, это нормально ?

NB: Вход в систему PublicKey соответствует ожиданиям.

7
задан 13 April 2017 в 15:13
6 ответов

Что вы можете сделать:

  1. Можно настроить правила iptables для блокировки ssh-атак, эти правила разрешат не более 3 соединений в минуту с любого хоста и будут блокировать хост на другую минуту, если эта скорость превышена.

    iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m latest --set --name SSH -j ACCEPT iptables -A INPUT -p tcp --dport 22 -m недавний --update --seconds 60 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_brute_force" iptables -A INPUT -p tcp --dport 22 -m latest --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP

  2. Блокировать через системные журналы

    2.1 sshdfilter : использует iptables для блокировки (т. Е. Динамически добавляет настраиваемые правила брандмауэра для блокировки конкретного злоумышленника).

    2.2 Fail2Ban : это скрипт Python, который добавляет настраиваемые правила брандмауэра для блокировки атакующего.

    2.3 DenyHosts : не использует правила брандмауэра для блокировки атаки. Скорее, он записывает правила блокировки в /etc/hosts.deny.[12102 providedUse Port Knocking (например, knockd )

  3. Лучшее решение, используйте RSA AUTHENTICATION:

    Если вы не используете пароли, но только ключи RSA для аутентификации, поиск действительного пароля методом перебора, очевидно, будет бесполезным.

Примечание: вы можете объединить некоторые из этих советов,

13
ответ дан 2 December 2019 в 23:13

Работает на порту ssh по умолчанию и на общедоступном IP-адресе и, вероятно, открыт для подключений от всех. Да, это обычное дело. Если вы используете безопасные и надежные пароли, вы можете быть в некоторой степени в безопасности, но опять же, вы никогда не узнаете.

Необходимо сделать следующее:

  1. использовать аутентификацию на основе открытого ключа и, если возможно, отключить аутентификацию на основе пароля.
  2. Отключить вход в систему root.
  3. изменить порт ssh на какой-то случайный, при изменении его на всех серверах, иметь некоторый механизм для их запоминания.
  4. использовать автоматическую блокировку таких вторгающихся IP-адресов с помощью fail2ban или других подобных пакетов.
  5. Разверните сервер удаленного доступа (OpenVPN) и разрешите только ssh с этого сервера удаленного доступа к этим серверам. Это не всегда выполнимо, но снижает ваши шансы на зондирование.
2
ответ дан 2 December 2019 в 23:13

Отличный способ остановить эти попытки - установить блокировку порта .
Вот некоторые инструменты для этого: knockd (C), fwknop (C), KnockKnock (Python) и KnockKnockServer (Java), и многие другие.

Блокировка портов может держать ваш SSH-порт закрытым для внешнего доступа до тех пор, пока не будет получен «секретный удар» или авторизация одиночного пакета.

После того, как ваш сервер получит секретный удар, брандмауэр разрешит новые SSH-соединения на пару секунд, что позволит вам установить соединение.

port knocking image

Это может вызвать небольшие неудобства, но у вас больше не будет неудачных попыток входа в систему из ботнетов.

Изображение предоставлено: cipherdyne.org

5
ответ дан 2 December 2019 в 23:13

Измените порт, но также используйте правило, запрещающее IP-адреса, которые пытаются войти в систему и терпят неудачу несколько раз. Кроме того, рассмотрите возможность входа в систему только с определенных IP-адресов и не разрешайте вход в систему с правами root. Убедитесь, что пользователю нужно повысить уровень до администратора, чтобы что-то делать.

И вы, вероятно, можете сделать лучше, чем "весьма безопасные пароли". Поиск в Google покажет вам несколько довольно простых способов сделать ваши SSH-соединения более безопасными.

Без обид, но если вы отвечаете за управление этими серверами, вы уже должны знать эти вещи. Я не упомянул какие-либо конкретные пакеты для загрузки, но их легко найти.

2
ответ дан 2 December 2019 в 23:13

Несколько вещей, которые вы могли / должны сделать:

  • Измените порт
  • Tigthen iptables (максимальное количество подключений / мин, выбранные IP-адреса, ...)
  • Отключить root ssh- вход в систему
  • Отключить пароли в виде открытого текста
  • Использовать аутентификацию по ключу
  • Использовать блокировку портов (может быть, немного выше)

Если у вас есть сервер, доступный в Интернете, вы столкнетесь с этим. Большинство из них - это просто сценарии, пытающиеся выполнить несколько комбо. Я поместил эту команду в свой MOTD, чтобы отслеживать ее.

echo -ne "Total failed attempts: $(grep 'Failed password' /var/log/auth.log* | wc -l) failed attempts"
1
ответ дан 2 December 2019 в 23:13

Вы должны быть обеспокоены и предпринять шаги по усилению защиты ваших серверов.

Дальнейшие действия в отношении cop1152's ответ:

  1. Вы могли поменять порт.Однако, если у вас есть клиенты, которые регулярно используют ssh и ожидают порта по умолчанию, это не вариант.
  2. Вы можете использовать такой пакет, как fail2ban ( http: //www.fail2ban .org / ), чтобы временно заблокировать IP-адреса, которые совершают несколько неудачных попыток входа в систему за короткий промежуток времени.
  3. Если вы знаете IP-адреса, с которых ваши клиенты входят в систему, вы можете использовать fail2ban для блокировки всех IP-адресов, кроме известные IP-адреса (белый список также известен: http://www.fail2ban.org/wiki/index.php/Whitelist ).
5
ответ дан 2 December 2019 в 23:13

Теги

Похожие вопросы