ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как настроить IPS (Fail2ban) для защиты от различных атак

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

IPS или система предотвращения вторжений – это технология, используемая в сетевой безопасности для проверки сетевого трафика и предотвращения различных атак путем обнаружения вредоносных входных данных. Помимо простого обнаружения вредоносных входов, как это делает система обнаружения вторжений, она также предотвращает вредоносные атаки в сети. Он может предотвратить сеть от грубой силы, DoS (отказ в обслуживании), DDoS (распределенный отказ в обслуживании), эксплойтов, червей, вирусов и других распространенных атак. IPS размещаются сразу за брандмауэром, и они могут отправлять сигналы тревоги, отбрасывать вредоносные пакеты и блокировать оскорбительные IP-адреса. В этой статье мы будем использовать Fail2ban, пакет программного обеспечения для предотвращения вторжений, чтобы добавить уровень безопасности против различных атак методом грубой силы.

 

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

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

 

Установка Fail2ban

Fail2ban не предустановлен в Ubuntu, поэтому перед его использованием мы должны установить его.

ubuntu@ubuntu:~$ sudo apt-get update -y

ubuntu@ubuntu:~$ sudo apt-get install fail2ban

 

После установки Fail2ban запустите и включите службу Fail2ban с помощью командной строки.

ubuntu@ubuntu:~$ sudo systemctl start fail2ban

ubuntu@ubuntu:~$ sudo systemctl enable fail2ban

 

Теперь проверьте статус службы fail2ban, чтобы убедиться, запущена она или нет.

ubuntu@ubuntu:~$ sudo systemctl status fail2ban

 

Настройка Fail2ban для SSH

Мы можем настроить Fail2ban, изменив файл /etc/fail2ban/jail.conf. Перед изменением сделайте резервную копию этого файла.

ubuntu@ubuntu:~$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

 

Теперь мы настроим Fail2ban, чтобы предотвратить злонамеренные входы в службу sshd. Откройте файл /etc/fail2ban/jail.local в своем любимом редакторе.

ubuntu@ubuntu:~$ sudo nano /etc/fail2ban/jail.local

Перейдите в раздел [DEFAULT] и введите параметры конфигурации в разделе [DEFAULT].

[DEFAULT]

ignoreip = 127.0.0.1/8 192.168.18.10/32

bantime = 300

maxretry = 2

findtime = 600

 

ignoreip – это список масок cidr, IP-адресов или DNS-хостов, разделенных пробелом. Добавьте свои доверенные IP-адреса в этот список, и эти IP-адреса будут внесены в белый список и не будут заблокированы fail2ban, даже если они выполнят атаку грубой силы на сервере.

bantime – это время, в течение которого IP-адрес будет заблокирован после определенного количества неудачных попыток доступа к серверу.

maxretry – это максимальное количество неудачных попыток, после которых IP-адрес блокируется fail2ban на определенное время.

findtime – это время, в течение которого, если хост делает неудачные попытки maxretry, он будет заблокирован.

 

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

ubuntu@ubuntu:~$ sudo nano /etc/fail2ban/jail.local

Найдите в файле раздел [ sshd ] и введите в него следующие параметры.

[sshd]

enable = true

port = ssh

filter = sshd

logpath = /var/log/auth.log

maxretry = 3

 

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

ubuntu@ubuntu:~$ sudo systemctl restart fail2ban.service

ubuntu@ubuntu:~$ sudo systemctl status fail2ban.service

 

Тестирование Fail2ban

Мы настроили fail2ban для защиты нашей системы от атак грубой силы на службу ssh. Теперь мы сделаем неудачные попытки входа в нашу систему из другой системы, чтобы проверить, работает ли fail2ban или нет. После нескольких неудачных попыток входа в систему мы проверим журналы fail2ban.

ubuntu@ubuntu:~$ cat /var/log/fail2ban.log

 

Мы видим, что после неудачных попыток входа в систему IP был заблокирован fail2ban.

Мы можем получить список всех сервисов, для которых включен fail2ban, с помощью следующей команды.

ubuntu@ubuntu:~$ sudo fail2ban-client status

 

Мы включили fail2ban только для службы sshd. Мы можем получить дополнительную информацию о службе sshd, указав имя службы в приведенной выше команде.

ubuntu@ubuntu:~$ sudo fail2ban-client status sshd

 

Fail2ban автоматически разблокирует заблокированный IP-адрес после блокировки, но мы можем разблокировать любой IP-адрес в любое время с помощью командной строки. Это даст больше контроля над fail2ban. Используйте следующую команду, чтобы разблокировать IP-адрес.

ubuntu@ubuntu:~$ sudo fail2ban-client set sshd unbanip 192.168.43.35

 

Если вы попытаетесь разблокировать IP-адрес, который не заблокирован fail2ban, он просто сообщит вам, что IP-адрес не заблокирован.

ubuntu@ubuntu:~$ sudo fail2ban-client set sshd unbanip 192.168.43.35

 

Вывод

Для системного администратора или инженера по безопасности поддержание безопасности серверов является большой проблемой. Если ваш сервер защищен паролем, а не парой открытого и закрытого ключей, то ваш сервер более уязвим для атак методом грубой силы. Они могут попасть в вашу систему, применяя разные комбинации паролей. Fail2ban – это инструмент, который может запретить злоумышленникам запускать различные виды атак, включая атаки грубой силы и DDoS-атаки на ваш сервер. В этой статье мы обсудили, как мы можем использовать Fail2ban для защиты нашего сервера от различных атак. Мы также можем использовать Fail2ban для защиты других сервисов, таких как apache, nginx и т. д.

Exit mobile version