fail2ban что это такое

Ограничение попыток входа в ssh с помощью fail2ban (средство от ботов подбирающих пароли через ssh)

fail2ban что это такое. Смотреть фото fail2ban что это такое. Смотреть картинку fail2ban что это такое. Картинка про fail2ban что это такое. Фото fail2ban что это такое

SSH довольно безопасен, особенно если вы примете разумные меры предосторожности, такие как требование аутентификации на основе пары ключей. Тем не менее, в дикой природе по-прежнему существует множество ботов, которые пытаются найти уязвимые хосты, пытаясь войти в систему с распространенными скомпрометированными именами пользователей и паролями, такими как root / root или admin / admin. Хотя маловероятно, что они добьются успеха, они все равно будут использовать вашу пропускную способность и генерировать огромное количество журналов.

Один из способов минимизировать количество попыток входа в систему методом перебора — изменить порт по умолчанию, который прослушивает SSH. Однако это не считается хорошей практикой — во-первых, нужно помнить, что каждый раз, когда они подключаются к серверу, следует устанавливать правильный порт, отличный от порта по умолчанию. Более того, это может создать еще одну уязвимость безопасности, если выбранный порт больше 1024. Обычно только root может связываться с номерами портов ниже 1024. Однако, если для SSH используется больший номер порта, при определенных обстоятельствах пользователи без корневого доступа может заменить демон SSH другой, возможно, вредоносной службой.
Лучший способ решить возникшую проблему — использовать инструмент, который заблокирует злоумышленнику доступ к SSH-серверу. Одним из таких широко используемых инструментов является fail2ban ( www.fail2ban.org ). Анализируя журналы, fail2ban обнаруживает повторяющиеся неудачные попытки аутентификации и автоматически устанавливает правила брандмауэра для отбрасывания трафика, исходящего с IP-адреса злоумышленника.

Установка fail2ban на Ubuntu

Установить fail2ban в Ubuntu (и других дистрибутивах на основе Debian) очень просто:

Проверяем как это работает

Вы можете проверить, запущена ли служба, с помощью следующей команды:

$ sudo systemctl status fail2ban

Вывод должен быть похож на следующий — статус службы должен быть активным:

Посмотрим, как fail2ban изменил правила iptables:

Вы также должны увидеть, что в конфигурации iptables есть новая цепочка f2b-sshd, на которую ссылается правило цепочки INPUT:



Пакет fail2ban содержит инструмент под названием fail2ban-client. Он позволяет вам проверять статус службы и взаимодействовать с ней (например, позволяет вручную блокировать и разблокировать IP-адреса, включать и отключать тюрьмы и т. д.)

Посмотрим, какие jails активны:



Есть только один jail — sshd — которsq отвечает за мониторинг журналов SSH-сервера на предмет неудачного входа в систему и настройку правил брандмауэра для блокировки дальнейших попыток.

Теперь мы можем проверить статистику по sshd jail:

Настройка fail2ban

В большинстве случаев конфигурации по умолчанию должно быть достаточно. Тем не менее, полезно понимать, что это за значения по умолчанию и как их можно изменить в соответствии с вашими потребностями.

В стандартной конфигурации fail2ban защитит SSH-сервер и заблокирует злоумышленника на 10 минут после 5 неудачных попыток входа в систему в течение 10 минут. Файл конфигурации по умолчанию можно найти в /etc/fail2ban/jail.conf. Файл хорошо документирован и в основном не требует пояснений. Имейте в виду, что вам не следует вносить какие-либо изменения в этот файл, так как он может быть перезаписан во время обновления fail2ban.

После изменения конфигурации не забудьте перезапустить службу:

Должен заметить, что в данном случае я изменил параметры конфигурации, понимая стратегию атаки и получил суточный список атакующих хостов и заблокировал его.

Но об этом позже расскажу в отдельной заметке, если эта будет кому то полезна и интересна.

Источник

Установка и настройка Fail2ban. Защита ssh сервера

Введение

Любая служба, видимая в сети, является потенциальной целью для злоумышленников. Будь то сервер доступный по ssh или сервер телефонии asterisk, или любое другое приложение имеющее выход в публичный интернет. Если вы внимательно читаете журналы приложений этих служб, вы можете увидеть повторяющиеся систематические попытки входа в систему, которые представляют собой попытки bruteforce-атак пользователей или ботов.

Служба Fail2ban может помочь в решении этой проблемы, создавая правила, автоматически изменяющие конфигурацию брандмауэра iptables. Это позволит серверу реагировать на попытки несанкционированного доступа без вашего вмешательства. В терминах Fail2ban такая комбинация фильтрации и действий называется “тюрьмой” (jail). Названо так, потому, что ip адрес блокируется на определенное время, как бы сажается в тюрьму.

В данном руководстве мы рассмотрим установку и использование Fail2ban на примере сервера с CentOS 7. В примере настроим блокировку попыток взлома сервера по ssh

Как работает Fail2ban

Работает утилита следующим образом, при настройке вы указываете путь к файлу логов. Fail2ban отслеживает изменения в лог-файлах служб и при обнаружении в логах определенного количества неудачных попыток входа в систему блокирует ip адрес злоумышленника. Например при неправильном вводе пароля для ssh на сервере Centos 7, в фале логов /var/log/secure регистрируется попытка неудачного входа и появляется строка

Утилита сравнивает эту строку с регулярным выражением в своих фильтрах. Например эта строка попадает под регулярное выражение в файле /etc/fail2ban/filter.d/sshd.conf

И поэтому эта попытка будет считаться взломом, и если число попыток превышает указанное количество, то ip адрес блокируется через iptables.

Установка Fail2ban в CentOS

Пакета Fail2ban нет в официальном репозитории CentOS, но он есть в репозитории проекта EPEL, что означает Extra Packages for Enterprise Linux (дополнительные пакеты для корпоративных систем Linux). Этот репозиторий можно установить при помощи специального пакета релиза, доступного в CentOS:

Теперь у нас должно получиться установить пакет Fail2ban:

После завершения установки включите службу Fail2ban командой systemctl:

Конфигурация локальных параметров

Файлы конфигурации службы Fail2ban хранятся в директории /etc/fail2ban. В ней есть файл с параметрами по умолчанию под названием jail.conf. Этот файл может быть перезаписан при обновлении пакета, поэтому мы не будем его редактировать, а создадим новый под названием jail.local.

Параметры конфигурации также могут быть прописаны в файлах, расположенных в директории /etc/fail2ban/jail.d/. Приоритет файлов конфигурации будет следующим (в порядке повышения):

1./etc/fail2ban/jail.conf
2./etc/fail2ban/jail.d/*.conf, в алфавитном порядке
3./etc/fail2ban/jail.local
4./etc/fail2ban/jail.d/*.local, в алфавитном порядке

Файлы конфигурации могут содержать раздел [DEFAULT] с общими настройками и отдельные разделы для “тюрем”. Значения параметров, установленные в отдельных разделах, имеют приоритет. Для начала можно создать простейшую версию jail.local. Откройте новый файл любым текстовым редактором:

Вставьте следующий текст:

ignoreip — указывает адреса источников, которые Fail2ban будет игнорировать (так называемый белый список). В данном примере она настроена не запрещать трафик с локальной машины и из сети 192.168.0.0/24. Можно указать дополнительные адреса через пробел.

enabled — принимает значение true/false включение отключение тюрьмы

port — В данном случае ssh — предустановленное значение стандартного порта SSH (22). Если у вас ssh работает не на 22-м порту, то в этом параметре пропишите номер своего порта.

logpath — путь к лог файлу, предполагает использование лога sshd

action — выполняемое действие из каталога /etc/fail2ban/action.d. В нашем примере это настроить iptables заблокировав порт ssh по протоколу tcp. Если нужно заблокировать все порты от адреса взломщика, то можно использовать действие iptables-allports.

Настройка общих параметров

В созданной нами версии файла jail.local мы определили основные параметры для конкретной тюрьмы. Давайте теперь настроем общие параметры для всех. Откроем jail.conf и рассмотрим некоторые из них. Если вам потребуется изменить какие-либо значения, для определенной «тюрмы» их нужно скопировать в соответствующий раздел jail.local.

Параметр bantime указывает временной интервал, в течение которого взломщику будет запрещено подключение, если он не сможет корректно выполнить аутентификацию. Время указывается в секундах, по умолчанию 600, то есть 10 минут.

Два следующих параметра, на которые стоит обратить внимание — findtime и maxretry. Они используются совместно для определения условий отказа клиенту в доступе.

Переменная maxretry устанавливает разрешенное клиенту количество попыток аутентификации во временном окне findtime, прежде чем ему будет отказано в доступе. По умолчанию это выполняется для клиента, который сделал 3 неудачных попытки входа в систему за 10 минут.

В данном параметре настраивается действие Fail2ban при осуществлении отказа в доступе. Значение action_ определяется в файле перед этим параметром. По умолчанию это настройка брандмауэра для отклонения трафика от узла нарушителя до истечения времени отказа в доступе.

Если нужно настроить уведомления по электронной почте, можно заменить action_ на action_mw. Чтобы в сообщении содержались соответствующие записи журнала, укажите action_mwl. Эти значения также заданы по умолчанию, но для использования уведомлений необходимо правильно настроить электронную почту.

После завершения редактирования файла конфигурации его нужно сохранить и перезапустить Fail2ban:

Для проверки работы службы можно воспользоваться программой fail2ban-client:

Вы также можете получить более подробную информацию о конкретной “тюрьме”. Например информация о нашем примере будет следующий.

Просмотр логов Fail2ban и конфигурации брандмауэра

Для таких служб, как Fail2ban, особенно важно обеспечить правильную работу. Сначала воспользуйтесь systemctl для проверки состояния службы:

Если что-то кажется ненормальным, можно попробовать устранить неполадки и проверить логи Fail2ban с момента последней загрузки:

Затем воспользуйтесь fail2ban-client для запроса общего состояния fail2ban-server или состояния отдельных “тюрем”.

Просмотр записей о недавних действиях в логе Fail2ban (для выхода нажмите Ctrl-C):

Вывод правил, настроенных в iptables:

Показать правила iptables в формате, отражающем необходимые для задействования каждого правила команды:

Заключение

Мы рассмотрели базовую настройку политики отказа в доступе для различных служб на примере SSH. Fail2ban очень легко настроить, это эффективный способ защиты любой службы, использующей аутентификацию.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Защита сервера средством утилиты Fail2ban. Как ее настроить?

Оглавление

Принцип работы

Fail2ban отслеживает файлы журналов (например, /var/log/auth.log, /var/log/apache/access.log), временно или постоянно запрещая подозрительную активность IP-адреса путем обновления существующих правил брандмауэра. Fail2ban позволяет автоматически выполнить различные действия, такие как заблокировать IP, используя правила iptables, или просто отправить уведомление по электронной почте администратору сервера. По умолчанию Fail2ban поставляется с правилами фильтра под различные сервисы (sshd, apache, mysql proftpd, и т. д.), но конфигурация может быть легко расширена для мониторинга любой другой службы. Все фильтры и действия настраиваются в файлах конфигурации, таким образом Fail2ban является отличным гибким инструментом для предотвращения взлома вашего сервера.

Установка Fail2ban

Для установки на Debian\Ubuntu выполните следующее:

Структура конфигурационных файлов

Файлы настроек находятся в каталоге /etc/fail2ban/. Для понимания работы утилиты, рассмотрим их более детально:

jail.conf — дефолтные настройки сервисов;

Файлы paths-arch.conf, paths-common.conf, paths-debian.conf и paths-opensuse.conf хранят в себе настройки путей для различных операционных систем семейства Linux.

Первоначальная настройка Fail2ban

Главный конфигурационный файл находится по адресу /etc/fail2ban/jail.conf, однако настоятельно не рекомендуется сразу вносить в него правки, сначала скопируем его под именем jail.local. Настройку продолжим непосредственно в этом файле, это предусмотрено разработчиками, все что вы сконфигурируете в jail.local будет автоматически перезаписывать настройки в jail.conf:

Первым делом в конфигурационный файл необходимо внести ваш IP адрес, чтобы правила Fail2ban на него не распространялись, иначе после запуска службы вы рискуете внести себя в бан и доступ к серверу будет утерян:

Необходимо найти и раскоментировать строку #ignoreip, добавив через пробел свой внешний статический IP адрес. В результате у вас должно получиться следующее:

Здесь же, в секции [DEFAULT] можно задать значения findtime и maxretry, например:

Параметры findtime и maxretry определяют условия, при которых будут блокироваться вредоносные пользователи. Maxretry определяет количество попыток входа, а findtime – интервал времени, в течение которого пользователь должен пройти аутентификацию. Если клиент превысил любой из этих показателей, он будет заблокирован. Bantime определяет длительность блокировки в секундах. Эти параметры в статье будут встречаться неоднократно. Если в настройке какого либо из сервисов вы их не зададите, они будут автоматически браться с секции [DEFAULT].

Не забывайте перезапускать Fail2ban после каждого редактирования конфигурационного файла.

Важно! Путь к файлу хранения логов (logpath) обязан быть указан правильно, иначе перезапуск Fail2ban завершится ошибкой. В случае отсутствия лог-файла по указанному пути, его можно создать командой touch, например:

Теперь мы можем перейти к редактированию общих правил защиты сервисов.

Защита сервиса sshd с помощью Fail2ban

Первым делом очистим наш дефолный конфигурационный файл:

В каталоге jail.d/*.*, отвечающим за настройку сервисов, создадим файл sshd.conf и добавим в него следующие строки:

Чтобы применить изменения перезапустим сервис и внесем его в автозагрузку:

Рассмотрим детально наши действия. Мы их будем выполнять неоднократно для настройки других защищаемых сервисов:

[sshd] # обозначение конфигурируемого сервиса, в данном случае sshd

enabled = true # правило разрешающее мониторинг сервиса.

port: 2102 # Если вы для службы ssh используете стандартный порт 22, эту строку можно не указывать, однако, если вы используете нестандартный порт для подключения настраиваемого сервиса, в нашем примере это 2102, его обязательно необходимо указать.

bantime = 900 # время в секундах, на которое нарушитель будет заблокирован

findtime = 300 # время обнаружения

maxretry = 3 # допустимое количество ошибок аутентификации. На четвертой попытке нарушитель будет заблокирован.

Как это работает: Нарушитель с IP-адресом 123.123.12.13 пытается подобрать пароль к учетной записи на вашем сервере. Параметр findtime задает время, на которое ip адрес попадает под мониторинг от первого момента, когда он начинает фигурировать в логах /var/log/auth.log. Если в течении 300 секунд (5 минут), у нарушителя будет более чем три ошибки аутентификации, он будет заблокирован на 900 секунд (15 минут).

Проверить состояние правила можно командой:

Мы увидим следующее:

Защита NGINX

a) Фильтр аутентификации

Допустим, на ваших сайтах есть разделы требующие аутентификации. Выполнить базовую защиту этих разделов от подбора паролей так же поможет Fail2ban. По умолчанию, защита NGINX доступна из коробки, однако её необходимо активировать. Для этого, в конфигурационном файле /etc/fail2ban/jail.conf находим блок [nginx-http-auth], где изначально указан только logpath. Добавляем в него значения:

на выходе у нас должно получиться следующее:

Обратите внимание на то, как указаны пути к логам. Начиная с версии Fail2ban 0.9.х, писать полные пути не обязательно. Если расположение логов защищаемого сервиса стандартное, то пути к ним предусмотрены разработчиками. Значение %(nginx_error_log)s будет равнозначно пути /var/log/nginx/error. log. Вы можете использовать оба варианта.

Теперь создадим файл nginx-http-auth.conf

В который вносим следующие значения, которые являются фильтрами для корректной работы правила:

б) Фильтр доступа к скриптам

Fail2ban является довольно гибки и функциональным инструментом. Если необходимого инструмента в jail.conf нет, опытный администратор может его написать сам. Например, мы хотим заблокировать ip адрес, который обращается к файлам с расширениями php, asp, exe, pl, cgi, scgi. Это очень полезный фильтр для обнаружения всякого рода эксплойтов.

Внимание! Будьте внимательны при использовании этого фильтра. Оно имеет смысл если у вас статический сайт, или вы четко уверены, к выполнению каких скриптов необходимо применить фильтрацию. Если сайт разрабатывали не вы, обратитесь за консультацией к разработчику

Для начала отредактируем главный конфигурационный файл:

В него необходимо добавить секцию [nginx-noscript], которая по умолчанию не существует:

Теперь создадим файл фильтра, к которому будет отсылаться наше правило при анализе access.log web-сервера:

Вносим в него следующее:

Изменения вступят в силу после перезагрузки сервиса Fail2ban

в) Фильтр сканеров

Сами по себе сканеры не несут какой либо угрозы сайту, однако сканирование вашего сайта может быть тем самым звоночком, что злоумышленник ищет его уязвимые места. Определить сканеры легко по всплеску ошибок 403 и 404 в /var/log/nginx/access.log. Итак, приступим:

Добавляем следующие блоки:

Создаем правило фильтрации для ошибок 403:

Создаем правило фильтрации для ошибок 404:

И хакеры используют это как инструмент DDoS. Они генерируют тысячи запросов в минуту к несуществующим веб-страницам, что приводит к снижению производительности web-сервера или его полной неработоспособности.

Защита APACHE

В файле /etc/fail2ban/jail.local так же предусмотрена защита web-сервера Apache. Настройка аналогична настройке web-сервера NGINX, который мы рассмотрели в предыдущем разделе. Пройдемся кратко, по основным доступным фильтрам и за что они отвечают:

Каждое из правил активируется добавлением в блок строки enabled = true. Так же, в каждом блоке вы можете задать правила bantime, findtime и maxretry, которые рассмотрены выше.

Для примера, создадим несколько правил обнаружения:

Если вы используете Apache с PHP, вам может понадобиться раздел [php-url-fopen]

Защита Dovecot

Полезным будет поставить защиту от подбора паролей на почтовые ящики, если Вы используете этот популярный IMAP\POP3-сервер. Добавим секцию для фильтра в главный конфигурационный файл:

Защита FTP сервера

Выставить защиту вашего FTP сервера так же не трудно. Однако, перед настройкой вы должны учесть, какой из FTP вы используте (vsFTPd, proFTPd, Pure-FTPd etc), настройки могут отличаться. Например, если вы используете Pure-FTPd, добавим секцию для фильтра в главный конфигурационный файл:

Защита ISPmanager

Добавим секцию для фильтра в главный конфигурационный файл:

Защита WordPress

Рассмотрим защиту популярного движка WordPress от подбора паролей. Добавим секцию для фильтра в главный конфигурационный файл:

Управление fail2ban

Перезапуск и проверка состояния Fail2ban:

Полный список правил:

Проверка срабатывания правила:

Проверить работу служб:

Показать состояние указанного jail:

Допустим, произошла ошибка, и ip адрес 123.123.12.13 не является нарушителем и нам его необходимо разблокировать:

Если необходимо добавить разрешение для данного ip адреса выполните:

Удалить ip адрес из доверенных:

Для просмотра списка всех доверенных адресов:

В эту строку вы можете через пробел добавить как несколько IP адресов, так и целые подсети, например 172.16.1.0/24

Заключение.

В данной статье мы рассмотрели популярную утилиту Fail2ban, которая существенно может повысить безопасность вашего сервера. Утилита гибкая в настройке. Мы рассмотрели основные правила обнаружения для ssh, ftp, nginx и apache, которые будут актуальны ввиду того, что используются повсеместно. Рассмотреть же все возможности Fail2ban в рамках одной статьи крайне сложно, все зависит от поставленных перед вами задач и используемых сервисов. Однако логика создания правил прозрачно просматривается.

Если Вы планируете купить выделенный сервер или арендовать VPS в нашей компании, наша техническая поддержка поможет обеспечить бесперебойную работу сервера и проконсультирует Вас о принципах организации безопасности на Вашем сервере.

Источник

Fail2ban [incremental]: Лучше, быстрее, надежнее

fail2ban что это такое. Смотреть фото fail2ban что это такое. Смотреть картинку fail2ban что это такое. Картинка про fail2ban что это такое. Фото fail2ban что это такое
Про fail2ban написано уже много, в том числе и на хабре. Эта статья немного о другом — как сделать защиту им еще надежнее и о еще пока неизвестных в широких кругах новых функциях fail2ban. Добавлю сразу — речь пойдет пока про development branch, хотя уже долго проверенный в бою.

Краткое вступление

В большинстве своем fail2ban устанавливается из дистрибутива (как правило это какая-нибудь стабильная старая версия) и настраивается по манам из интернета за несколько минут. Затем годами работает, без вмешательства админа. Нередко даже логи, за которыми вроде как следит fail2ban, не просматриваются.
Так вот, сподвигнуть на написание этого поста меня заставил случай, произошедший с одним сервером моего хорошего знакомого. Классика жанра — пришла абуза, за ней вторая и пошло поехало. Хорошо еще злоумышленник попался ленивый — логи не потер, да и повезло еще крупно, что logrotate был настроен, чтобы хранить логи месяцами.

Оказалось все довольно банально, подобрали пароль к его админской почте, который по совместительству был паролем для ssh (естественно без ключа). Не рут, но судоер, со всеми вытекающими. Первый его вопрос был: как подобрали — у меня же fail2ban там. И вот здесь как раз засада: не все представляют себе, что подбором паролей сегодня занимаются уже не отдельные компьютеры, а целые бот-сети, кстати поумневшие донельзя. Так вот по логам выяснили, что тут как раз такой случай: перебирала бот-сеть, причем на практике выяснившая его настройки в fail2ban (maxRetry=5, findTime=600 и banTime=600). Т.е. чтобы избежать бана, сеть делала 4 попытки в течении 10 минут с каждого IP. На минуточку в сети порядка 10 тысяч уникальных IP = что-то более 5 с половиной миллионов паролей в сутки.
Кроме того его почтовик делал большую глупость — а именно паузу до 10 секунд, при логине с неправильным именем. Т.е. выяснить, что некоторые имена, в том числе admin, реально имеются, этой сетке не составило труда. Далее шел целенаправленный перебор только паролей для имеющихся имен.
Подробнее на «ремонте» останавливаться не буду — это история долгая, и вообще тема для отдельной статьи. Скажу только, что все почистили и все разрешилось малой кровью, да и отделался он практически «легким» испугом.

Так вот, мысль написать статью возникла после того, как мне (частично заслужено) было высказано: «Так ты про такое знал и ничего не сказал, не предупредил. Да еще и решение есть и не поделился. Ну и сволочь ты». Короче, посему посту — быть.

Мой fail2ban

К безопасности «своих» серверов я отношусь чрезвычайно серьезно. Кроме того же fail2ban, всегда кастомного донельзя, у меня там и мониторинг и еще куча всего. Меня просто реально бесит, что из-за бестолковой серой массы, позволяющей брать под контроль бот-сетей свое железо, приходится убивать уйму времени на защиту (и постоянное сопровождение и контроль ее в дальнейшем). Кстати, чтобы минимизировать этот контроль, я и участвую активно в разработке и fail2ban, да и других проектов от безопасности.

Так вот, моя последняя расширенная версия [sebres:ban-time-incr], позволяет вывести этот назойливый зоопарк раз и навсегда (ну или пока они снова не приспособятся). Это фишка довольно часто обсуждалась всем коммюнити, но как-то руки не доходили. У меня оно жило в виде отдельных скриптов и каких-то кастомных изменений, пока не оформилось в готовый функционал.

Если коротко, то система, запоминая плохие IP адреса, позволяет каждый раз динамически (экспоненциально) увеличивать время блокировки (banTime) в зависимости от количества предыдущих запретов (banCount). При этом также каждый раз уменьшая количество (maxRetry) возможных провальных попыток (failure) до следующего бана. Наглядно это можно увидеть на следующем примере:

Здесь хорошо заметно, как каждый следующий бан продлевает время блокировки от 15 минут (0:15:00) первый раз, до 5 с лишним дней (5 days, 8:04:55) после десятой блокировки. У меня в базе есть IP у которых «срок» уже — от нескольких месяцев до перманентного бана.

Ниже можно увидеть, как новый функционал отразился на решении собственно банить IP XXX.XXX.XX.XXX. В примере параметр maxRetry установлен равным 5. Так мы видим, что пока IP не признан плохим он был первый раз забанен после 5-ти попыток, второй раз, уже как плохой — после 3-х (каждая попытка была засчитана за 2), третий и т.д. — после 2-х (попытка идет за 3) и четвертый раз забанен сразу после первой попытки (считается сразу за 5-ть):

Без этой логики подсчета failure, умные бот-сети научились подстраивать свою работу так, чтобы просто не попадать в бан. Когда я допилил таки и эту логику и выкатил в продакшн, за считанные дни я избавился практически от всей той нечисти, которую привык видеть годами в своих логах. Например, сейчас средний нормальный ежедневный прирост моих auth.log где то в районе 20-50 строк, раньше на некоторых серверах он был в сотни и тысячи раз больше.

Пока что это development branch, лежит pull request-ом, релиз запланирован пока в версии 0.9.2.
Кому интересно, почитать подробнее про реализацию и историю решения можно здесь — Ban time incr by sebres · Pull Request #716 · fail2ban/fail2ban.

Однако пока эта версия ляжет апдейтом на ваш сервер, пройдет еще немало времени — пока релиз выйдет в mainline, пока его в дистрибутивы возьмут… История длинная, например тот же debian все еще использует 0.8.x — собственно поэтому и статья. Так что качаем руками, устанавливаем… профит.

Взять эту версию можно здесь fail2ban-ban-time-incr.zip (sebres master branch).
Порт для debian-ов: ban-time-incr-debian.zip (merged master debian branch, и хоть и не main line — буду стараться по возможности поддерживать ветку актуальной).

Установить его довольно просто. Если у вас уже до того был fail2ban, установленный из дистрибутива, сохраняем из «/etc/fail2ban/» старые «fail2ban.local» и «jail.local» (Ну и лучше старые «fail2ban.conf» и «jail.conf»). Я бы на всякий случай (из-за возможных личных изменениях в filter и action) сохранил бы куда-нибудь весь каталог «/etc/fail2ban/».

Вот собственно и все, теперь надеюсь ваш сервер стал еще чуточку защищенней. Ну а вы не ленитесь и поглядывайте все-таки в логи (доверяй, но проверяй).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *