RuWeb.net Forum

Защита SSH от взлома
timru - 30.9.2014 в 15:16

Меня пытаются взломать, вижу у себя в логах такое

Sep 26 21:00:15 357 sshd[27583]: error: PAM: authentication error for illegal user admin from 188.32.20.178
Sep 26 21:00:16 357 sshd[27586]: error: PAM: authentication error for illegal user conf from 92.127.203.245
Sep 26 21:00:24 357 sshd[27589]: error: PAM: authentication error for illegal user user from 171.211.195.54
Sep 26 21:00:26 357 sshd[27592]: error: PAM: authentication error for illegal user root from 188.255.172.243
Sep 26 21:00:32 357 sshd[27595]: error: PAM: authentication error for illegal user support from 177.105.235.47

Что делать?

Прежде всего, не паниковать. Ничего страшного. Подобные сообщения можно найти на любом сервере с белым IP. Злоумышленники массово сканируют подсети, т.е. берут например 185.12.92.0/24 и пробуют подключиться к 22-му порту на каждом IP этой подсети. Если подключение произошло успешно - перебирают простые комбинации логинов/паролей. Т.е. например root:root, user:user, admin:admin и т.д. Если пароли на вашем сервере хоть чуть-чуть сложные пароли, волноваться не о чем. Проблем здесь только 2:
1) если у вас слабый процессор, SSH в момент перебора может давать ощутимую нагрузку;
2) если вы пытаетесь войти по SSH в момент перебора, то может не получиться из-за превышения максимального числа подключений к SSH.
Решается все это очень просто, достаточно перевесить SSH на нестандартный порт, например с 22 на 3322. Конечно, чисто технически кто-то может просканировать ваш сервер с помощью nmap и найти, на каком порту висит SSH. Но на практике этого не происходит: не получив ответа с 22-го порта бот, просто переходит к следующему IP.


Есть программы типа fail2ban, стоит ли их использовать?

Скорее всего, fail2ban вам не нужен. В каких случаях он может понадобится:
1) вам обязательно нужно чтобы SSH висел именно на 22-м порту (например к нему подсоединяется какое-то стороннее ПО, у которого нельзя порт поменять);
2) у вас на сервере несколько сотен пользователей, и у всех включен ssh (это кстати будет нарушением наших правил - шелл-хостинг запрещен), соответственно наверняка среди них найдется какой-нибудь vasya, который захочет облегчить себе жизнь и поставит пароль vasya;
3) имеются реальные основания полагать, что брутят вас какие-то конкретные недоброжелатели, а не залетные боты (например смена порта не помогла); но тут уже стоит подумать не о fail2ban, а например об ограничении подключения к ssh только для определенных IP.


А если нужно защитить FTP?

Все вышесказанное применимо и к FTP. Его тоже можно перевесить на другой порт.



[Отредактировано 30.9.2014 кто timru]