У меня есть сервер Ubuntu Linux, который обращен к вебу. Из-за этого я получаю довольно много попыток грубой силы SSH (а кто не получает). Я хотел бы отобразить последние N неудачных попыток входа в строке входа. Я разработал простой скрипт:
grep "Failed" /var/log/auth.log | tail -5
но мне нужно знать, где мне разместить эту строку скрипта? Есть ли место, куда можно ее разместить, независимо от оболочки?
решение1
Есть несколько пакетов, которые можно использовать для помощи в атаках методом перебора.
- Denyhosts
- Fail2ban
Для сбора логов и отправки отчета можно использовать logwatch. Он также может отправлять сводку неудачных попыток входа.
Чтобы ответить на ваш первоначальный вопрос, вы можете поместить свой скрипт в «/etc/profile.d/yourscript.sh», и он должен быть выполнен при входе в систему.
Вы также можете рассмотреть возможность настройки пакета arno-iptables-firewall.
решение2
Это действительно зависит от оболочки. Для bash
, вы должны поместить его в .bash_login
файл.
Что касается предотвращения атак методом подбора, то помимо того, что уже было предложено для внесения IP-адреса атакующего в черный список, я обычно говорю sshd прослушивать нестандартный порт и отключать аутентификацию по паролю. Конечно, это не всегда возможно, но это, безусловно, эффективно.
решение3
Поместите все в /etc/profile.
Он выполнит все, что находится в /etc/profile, прежде чем перейти к файлу запуска вашей оболочки.
решение4
Eстьскрипт perl,SSHБлоккоторый может быть использован против грубой атаки SSH.
Он отслеживает частые попытки с IP-адреса и замедляет их попытки.