Рейтинг:0

Как предотвратить несанкционированные попытки входа по ssh

флаг us

Я обнаружил много несанкционированных попыток входа в /var/log/auth.log.

...
26 сентября, 22:15:34 имя хоста sshd [3072475]: неверный пароль для недопустимого пользователя с порта xyzw 51056 ssh2
26 сентября, 22:15:39 имя хоста sshd [3072519]: неверный пароль для недопустимого пользователя с порта xyzw 62354 ssh2
26 сентября, 22:16:51 имя хоста sshd [3072643]: неверный пароль для недопустимого пользователя с порта xyzw 10596 ssh2
...

Я озадачен, почему это происходит, поскольку я настроил переадресацию портов на своем интернет-маршрутизаторе (zyxel VMG3925-B10B), чтобы, например. порт 54321 сопоставлен с портом 22 на внутреннем IP-адресе моего ubuntu-box.

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

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

waltinator avatar
флаг it
Когда я работал в сфере компьютерной безопасности, я ВСЕГДА выполнял разведывательное сканирование nmap на портах 1-65535 (всех). Простое использование порта 54321 ничего не скрывает. Существует пакет под названием «fail2ban», который может помочь
Рейтинг:2
флаг gn

Поковырявшись, злоумышленники выяснили, что ваш внешний порт 54321 является вашим портом доступа по ssh. Порты, перечисленные в вашем журнале, являются их исходными портами, а не портами назначения. Вы должны обнаружить, что попытки входа в систему по ssh через ваш порт 54321 происходят гораздо реже, чем если бы это был порт 22.

Вы можете смягчить проблему с помощью правил iptables, или fail2ban (как пишется), или другим способом. Я использую последний модуль в itpables:

# Динамический список плохих парней. Обнаружение и удаление плохих IP-адресов, которые проводят атаки с использованием пароля на SSH.
# Как только они появятся в списке BADGUY, УДАЛИТЕ все пакеты от них.
#$IPTABLES -A INPUT -i $EXTIF -m недавние --update --hitcount 3 --seconds 5400 --name BADGUY_SSH -j LOG --log-prefix "SSH BAD:" --информация на уровне журнала
#$IPTABLES -A INPUT -i $EXTIF -m недавние --update --hitcount 3 --seconds 5400 --name BADGUY_SSH -j DROP
# Иногда делайте время блокировки очень долгим. Как правило, чтобы попытаться избавиться от скоординированных атак со стороны Китая.
$IPTABLES -A INPUT -i $EXTIF -m недавние --mask $BIT_MASK --update --hitcount 3 --seconds 90000 --name BADGUY_SSH -j LOG --log-prefix "SSH BAD:" --log-level Информация
$IPTABLES -A INPUT -i $EXTIF -m недавние --mask $BIT_MASK --update --hitcount 3 --seconds 90000 --name BADGUY_SSH -j DROP
$IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 -m недавние --mask $BIT_MASK --set --name BADGUY_SSH -j ACCEPT

Теперь я использую BIT_MASK (в настоящее время «255.255.252.0»), потому что злоумышленники стали умнее и часто просто переключаются на другой IP-адрес в той же подсети. $EXTIF — это моя сетевая карта, обращенная к WAN.

флаг us
Привет @Doug Спасибо за ваши ответы. Я начал с установки fail2ban, что кажется хорошим началом. До сих пор я полагался на ufw с несколькими правилами открытия некоторых портов. Мне нравится идея, которую вы опубликовали, где iptables используются с битовой маской. Я пытался найти, как настроить iptables. Похоже, что правила iptables очищаются при перезагрузке, если вы не сделаете что-то вроде ``` apt-get установить iptables-persistent ``` но могу я спросить, как вы настраиваете и сохраняете правила iptables? Я бы не смог этого запомнить. Где вы храните файлы, содержащие, например, файлы . $BIT_MASK и правила
Doug Smythies avatar
флаг gn
Я использую скрипт для загрузки правил iptables после загрузки. Вызывается из постзагрузочной службы. Используя сценарий, я также могу иметь дело с некоторыми непосредственно связанными вещами, которые на самом деле не относятся к iptables. Я не фанат iptables-persistent.
флаг us
Спасибо @тесто :)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.