В этой статье мы расскажем, как установить fail2ban на вашем CentOS VPS. Fail2ban является свободным, открытым исходным кодом разработанный на Python. Это отличный и очень полезный инструмент для остановки бесконечных атак грубой силы на ваши услуги и предотвращения вторжений в вашу систему. Fail2ban сканирует файлы журнала на сервере для повторных сбоев пароля и запрещает атакуемые IP — адреса.
Fail2ban не доступен по умолчанию в CentOS, поэтому сначала нам нужно включить репозиторий стороннего производителя Epel.
CentOS 6 32 бит:
rpm -Uvh http://mirror.pnl.gov/epel//6/i386/epel-release-6-8.noarch.rpm
CentOS 6 64 бит:
rpm -Uvh http://mirror.us.leaseweb.net/epel/6/x86_64/epel-release-6-8.noarch.rpm
Вы можете убедиться в том, что хранилище EPEL включена, выполнив:
# yum repolist Repository base is listed more than once in the configuration repo id repo name status base CentOS 6 - i686 - Base 4,787+15 epel Extra Packages for Enterprise Linux 6 - i386 7,959 extras CentOS-6 - Extras 12 updates CentOS-6 - Updates 844+50 updates-released CentOS 6 - i686 - Released Updates 844+50 repolist: 14,446
Установите fail2ban используя стандартный способ для установки пакетов rpm:
yum install fail2ban
Установите fail2ban для автоматического запуска при загрузке:
chkconfig --add fail2ban chkconfig fail2ban on
При этом установка производится. Теперь вам нужно настроить параметры Fail2ban в соответствии с вашими потребностями, путь редактирования файла конфигурации по умолчанию ‘jail.conf‘, расположенный в каталоге ‘/etc/fail2ban’ на вашем сервере. В этом файле вы можете установить, какие услуги вы хотите контролировать, количество неудачных попыток входа в систему перед тем как будет запрещен IP-адрес, время запрета на его IP-адрес, и т.д …
Откройте файл /etc/fail2ban/jail.conf и добавьте свой собственный IP — адрес и все ваши доверенные IP — адреса в ignoreip. Каждый IP — адрес / сеть может быть разделены пробелом. Например:
# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not # ban a host which matches an address in this list. Several addresses can be # defined using space separator. ignoreip = 127.0.0.1 1.2.3.4 122.122.122.0/24
Следующее, что вы заметите это bantime . Это число показывает , сколько времени IP — адрес будет заблокирован сервером в секундах. Значение по умолчанию составляет 600 секунд, и вы можете уменьшить или увеличить это число в соответствии с вашими потребностями.
maxretry это число неудачных попыток входа в систему, прежде чем fail2ban запрет IP — адрес.
findtime есть временные рамки, в которых хост должен войти. Это означает, что если хост не удается войти в некоторые из ваших услуг в заданное время, то он будет запрещен. По умолчанию findtime составляет 600 секунд.
Этот файл также содержит разделы по умолчанию с основными правилами о некоторых услугах, которые можно контролировать.
После того, как вы сделали необходимые изменения в файле jail.conf, необходимо перезапустить fail2ban:
service fail2ban restart
Вы можете проверить правила Iptables, добавленные Fail2ban, выполнив:
iptables -L
PS. Если вам понравился этот пост, пожалуйста поделитесь им с друзьями в социальных сетях помощью кнопок на левой стороне поста или просто оставьте комментарий ниже. Заранее благодарю.