Поиск по сайту:
Да — я в ладье. Меня разлив не тронет! Но как мне жить, когда народ мой тонет? (Саади).

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

25.03.2021
Установка 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

 

Читать  Структура команд в Linux

Настройка 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

 

  • enabled определяет, защищена ли эта служба с помощью fail2ban или нет. Если включено – истина, то служба защищена; в противном случае он не защищен.
  • port определяет служебный порт.
  • filter относится к файлу конфигурации, который будет использовать fail2ban. По умолчанию он будет использовать файл /etc/fail2ban/filter.d/sshd.conf для службы ssh.
  • logpath  определяет путь к журналам, fail2ban будет следить за защитой сервиса от различных атак. Для службы ssh журналы аутентификации можно найти в /var/log/auth.log, поэтому fail2ban будет отслеживать этот файл журнала и обновлять брандмауэр, обнаруживая неудачные попытки входа в систему.
  • maxretry определяет количество неудачных попыток входа в систему, прежде чем они будут заблокированы fail2ban.
Читать  Список всех запущенных служб в Debian

После применения вышеуказанной конфигурации для 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 и т. д.

Читать  Bash. Циклы в Bash

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Решение задачи того, как собрать семантическое ядро для сайта является…

Спасибо!

Теперь редакторы в курсе.