LINUX.ORG.RU
ФорумAdmin

Как изменить число попыток входа по SSH

 , ,


0

3

Всем привет! Поглядел сегодня /var/log/auth.log и заметил несколько интересных моментов:

- китайские товарищи зачем-то щимятся на мой домашний сервер по SSH, причем некоторые очень настойчиво;
- система защиты, настроенная по умолчанию, дает 6 попыток для аутентификации с одного айпи, затем бан секунд на 20, после чего попытки с этого айпи иногда продолжаются снова;
- геройскую оборону держит некий pam_unix(sshd:auth), который и отфутболивает назойливых незванных гостей с мессагой типа authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=221.194.47.233

У меня сразу возник вопрос, а не слишком ли это толерантно - 6 попыток и блокировка на 20 сек? Хочу попросить стражника быть построже, но не знаю, как это сделать. Из гугла понял, что настраивать надо через pam, но не нашел, как сделать именно то, что мне нужно. Например, сделать только 3 попытки входа, затем бан на сутки. А если стучаться из своей домашней сети, то число попыток входа не ограничено.


Ответ на: комментарий от a-lexx

Нет. Вход по ssh от имени пользователя и далее sudo запросит пароль того же пользователя. Если вход по ssh по паролю, то далее в sudo вводится тот же пароль (т.е. в данном случае нет двойной защиты). А вот если вход по ssh по ключу, который защищен паролем (это не пароль пользователя, это отдельный пароль от ключа) и далее в sudo вводится пароль пользователя, то теперь уже будет двойная защита.

rumgot ★★★★★
()

Например, сделать только 3 попытки входа, затем бан на сутки.

fail2ban

А вообще отключи rootа через ssh + повесь на нестандартный порт.

Jopich1
()
Ответ на: комментарий от rumgot

Спасибо за разъяснение. Для PuTTY не будет проблем, а вот как быть с sftp-клиентом, получается только под обычным пользователем можно будет сидеть, а там тоже бывает админские привилегии нужны.

a-lexx
() автор топика
Ответ на: комментарий от a-lexx

Согласен. Бывает. В таких случаях приходится разрешать вход по ssh от root. Но лучше стараться обходиться.

rumgot ★★★★★
()
Ответ на: комментарий от burato

Это могло по дефолту там быть?

Да, у меня тоже самое. А journalctl выдает такое

янв 14 20:17:01 Unit2 CRON[599]: pam_unix(cron:session): session opened for user root by (uid=0)
янв 14 20:17:01 Unit2 CRON[600]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
янв 14 20:17:01 Unit2 CRON[599]: pam_unix(cron:session): session closed for user root
янв 14 21:17:01 Unit2 CRON[648]: pam_unix(cron:session): session opened for user root by (uid=0)
янв 14 21:17:01 Unit2 CRON[649]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
янв 14 21:17:01 Unit2 CRON[648]: pam_unix(cron:session): session closed for user root
янв 14 22:17:01 Unit2 CRON[715]: pam_unix(cron:session): session opened for user root by (uid=0)
янв 14 22:17:01 Unit2 CRON[716]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
янв 14 22:17:01 Unit2 CRON[715]: pam_unix(cron:session): session closed for user root
янв 14 23:17:01 Unit2 CRON[743]: pam_unix(cron:session): session opened for user root by (uid=0)
янв 14 23:17:01 Unit2 CRON[744]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
янв 14 23:17:01 Unit2 CRON[743]: pam_unix(cron:session): session closed for user root

Попробуй под другим пользователем зайти, посмотри, что будет.

a-lexx
() автор топика
Ответ на: комментарий от evilface

Ну, если у вас, условно, пользователь идёт на example.com и получает фронт, который шлёт запросы на example.com/api, а /api nginx, будучи реверс-прокси, перенаправляет вовнутрь к веб-сокетному серверу (или любому другому бэку) (как, собственно, весь веб сейчас и делается), то всё работать будет прекрасно.

Просьба, если не сложно, попробовать зайти на адрес gpro.ddns.net из корпоративной сети. Посмотрим) Должно прийти несколько сообщений в консоль.лог

a-lexx
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.