На моих серверах обычно трудится FTP демон Pure-FTPd, в то же время всегда установлен fail2ban для защиты сервера по SSH. Заметил что в фильтрах fail2ban лежит файл pure-ftpd.conf, что как бы намекает: “Реализуй же ты защиту…”. Но в jail.conf о pure-ftpd упоминания небыло, заниматься было лень, а тут на днях пробило.
Все действия проводились на Russian Fedora 16 (RFRemix 16).
Считаем что у нас уже установлены Pure-FTPd и fail2ban.
Для начала смотрим в лог pure-ftpd, есть ли в нём не удачные попытки авторизации. Если таковых нет, то попросите друга, или сами сделайте несколько ошибочных вводов пароля. Задача в том чтоб в логе появились сообщения об ошибках авторизации в нужном кол-ве, т.е. в том кол-ве, после которого клиента должно забанить.
|
|
Видим попытки безуспешной авторизации? Здорово! Теперь пробуем, увидит ли их fail2ban с нынешними фильтрами
|
|
Скорее всего фильтр ничего не найдёт, скажет что адреса не найдены, или как-то так… Изменим фильтр, чтоб тот корректно обрабатывал современные логи pure-ftpd.
# vim /etc/fail2ban/filter.d/pure-ftpd.conf
Вот содержимое файла без закоментированных участков:
|
|
Сохраним файл /etc/fail2ban/filter.d/pure-ftpd.conf
и попробуем снова увидит ли ошибочные авторизации fail2ban
# fail2ban-regex '/var/log/messages' '/etc/fail2ban/filter.d/pure-ftpd.conf'
В этот раз должны быть похожие строки:
|
|
что говорит о том, что фильтра правильно обрабатываются и находят попытки ошибочных авторизаций. Следующим шагом открываем для редактирования jail.conf
# vim /etc/fail2ban/jail.conf
В самом конце добавляем строки
|
|
example.com
замените на свой домен, не забудьте! Перезапустим fail2ban
# service fail2ban restart
Если ошибок нет, то на email root должно прийти письмо об удачной активации фильтра Pure-FTPd. Надеюсь и в этот раз стал вам полезен! Тестируйте…