Мне попадались на глаза 3 проекта, которые анализируют логи ошибочных подключений, и, когда число этих ошибочных попыток ввода пароля превосходит порог, банят это имя пользователя ... на временной интервал или навсегда.
fail2ban , denyhosts , sshutout
С fail2ban всё более-менее понятно...
denyhosts - последняя версия 2.6 это конец 2008г.
sshutout - по-моему, жил и живёт только в ALT Linux...
Кто может а). внести ясность по этим инструментам (2-м последним) или б). дополнить список подобных инструментов.
бан за ошибки при авторизации SSH
Многие нынче fail2ban и пользуются, а про sshutout я, честно говоря, впервые слышу.
fail2ban вполне себе жив, и поддерживает практически любой сетевой демон пишущий логи (у одного моего клиента даже логины в веб портал зимбры отслеживаются и тормозятся)
банят это имя пользователя ..
Если стоит задача заблокировать пользователя на некоторое время можно попробовать pam_tally.so. И ничего устанавливать не прийдется.
fail2ban
Он конечно хорош, но чтоб добавить демона так черт ногу сломит.
З.ы. давно им не пользовался лет этак 6-7, если там поменялось то что я описал выше то прошу меня поправить.
но чтоб добавить демона так черт ногу сломит.
Непонятно что значит "добавить демона"?
fail2ban сам по себе сервис, управляется как всякий сервис: service ...
Конфигурировать его под новую службу? ... может и сложно, но у него сейчас готовые конфигурации практически под любой сетевой сервис ... может только подправить там слегка.
Если стоит задача заблокировать пользователя на некоторое время можно попробовать pam_tally.so.
Как?
Конфигурировать его под новую службу? ... может и сложно, но у него сейчас готовые конфигурации практически под любой сетевой сервис ... может только подправить там слегка.
да именно это я и имел ввиду
И кстати последняя версия DENYHOSTS это 3.1
И у DENYHOSTS есть килер фича (ИМХО) это то что можно задать интервал обновления его базы ip редисок
К примеру задаём что раз в 4 часа он будет ходить и выгружать на общий сервак ip тех кого забанил за 4 часа прошедших и скачивать обновленую базу ip редисок забаненых другими. И тем самым мы получаем защиту которая сразу будет отбрасывать подключения с ip редисок, не доводя их до ввода логина. Чего не умеет fail2ban
И кстати последняя версия DENYHOSTS это 3.1
Где?
Я на их сайте проекта не нашёл позже 2.6 - это конец 2008г.
Где?
В Fedora 23, правда, в стандартном репозитории обнаружилась версия 2.10:
[olej@dell home]$ dnf list denyhosts*
Последняя проверка окончания срока действия метаданных: 15 days, 13:30:53 назад, Tue Jan 10 12:29:09 2017.
Доступные пакеты
denyhosts.noarch 2.10-6.fc23 fedora
[olej@dell home]$ dnf info denyhosts*
Последняя проверка окончания срока действия метаданных: 15 days, 13:31:09 назад, Tue Jan 10 12:29:09 2017.
Доступные пакеты
Имя : denyhosts
Архитектура : noarch
Эпоха : 0
Версия : 2.10
Релиз : 6.fc23
Размер : 96 k
Репозиторий : fedora
Краткое опи : A script to help thwart ssh server attacks
URL : http://github.com/denyhosts/denyhosts/
Лицензия : GPLv2
Описание : DenyHosts is a Python script that analyzes the sshd server log
: messages to determine which hosts are attempting to hack into your
: system. It also determines what user accounts are being targeted. It
: keeps track of the frequency of attempts from each host and, upon
: discovering a repeated attack host, updates the /etc/hosts.deny file
: to prevent future break-in attempts from that host. Email reports can
: be sent to a system admin.
Как?
В /etc/pam.d/ssh, перед секцией auth (@include common-auth) добавить
required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200В /etc/pam.d/ssh, перед секцией accaunt (@include common-account) добавить
account required pam_tally2.soПосле 3-х неудачных попыток (deny=Х) пользователь блочится на 20 минут (unlock_time=Х). Даже root (even_deny_root).
На локльный вход это не распространяется.
Вроде здесь.[/quote][quote="Olej"]Где?
Я на их сайте проекта не нашёл позже 2.6 - это конец 2008г.
Да, в GIT-репозитории проекта версия 3.1.
Вот тыц
И это тоже ... 3.1
Хотя эта версия носит статус бэта:
Version 3.1 beta
This is a minor update to the DenyHosts 3.x series. This release fixes a bug when moving between Python 2 and Python 3 environments. DenyHosts should now work equally well under either version of Python.
Судя по этому анонсу, цель этого пакета - адаптация от Python 2 к Python 3.
Кроме того, как оказалось, пакет популярен, и есть в репозитории, например, Fedora 23:
[olej@dell home]$ dnf list denyhosts*
Последняя проверка окончания срока действия метаданных: 15 days, 13:30:53 назад, Tue Jan 10 12:29:09 2017.
Доступные пакеты
denyhosts.noarch 2.10-6.fc23 fedora
Похоже, что с версиями здесь дело обстоит так: 2.Х - под Python 2, 3.Х - под Python 3.
[quote="Olej"]Как?
В /etc/pam.d/ssh, перед секцией auth (@include common-auth) добавить
required pam_tally2.so file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200В /etc/pam.d/ssh, перед секцией accaunt (@include common-account) добавить
account required pam_tally2.soПосле 3-х неудачных попыток (deny=Х) пользователь блочится на 20 минут (unlock_time=Х). Даже root (even_deny_root).
На локльный вход это не распространяется.[/quote]
Интересно...
- только там /etc/pam.d/ssh нет, а есть /etc/pam.d/sshd ...
- auth там 4...
- а account - 2 ...
Есть где об этом почитать?
только там /etc/pam.d/ssh нет, а есть /etc/pam.d/sshd ...
Возможно, в зависимости от системы расположение конфигов (и их содержание) может меняться.
Есть где об этом почитать?
Про pam в общем рекомендую ознакомится с этой статейкой http://rus-linux.net/lib.php?name=/MyLDP/sec/pam.html
Оригинал - http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_SAG.html
Про pam в общем рекомендую ознакомится с этой статейкой http://rus-linux.net/lib.php?name=/MyLDP/sec/pam.html
Оригинал - http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_SAG.html
Спасибо.
Вот ещё по существу: Три замка на воротах SSH. Усложните жизнь потенциальным хакерам.