Разное

Failtoban настройка: Настройка и использование Fail2ban. Защита Linux от перебора паролей

07.06.2023

Содержание

Настройка Fail2ban для защиты SSH-соединения

Любой сервер рано или поздно подвергается попытке взлома. Это не значит, что кто-то хочет взломать конкретно ваш сервер — в подавляющем большинстве случаев подобные атаки носят случайный характер и производятся ботами. Программа-взломщик ищет в сети доступный для SSH-подключения сервер и пытается подключиться к нему, перебирая имена пользователей и пароли.

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

В этой инструкции мы расскажем, как установить и настроить Fail2ban на вашем сервере.

Установку будем производить на сервер под управлением Ubuntu 20.04. Перед началом установки рекомендуем ознакомиться с инструкцией о его первичной настройке.

Установка

Если до этого вы не обновляли базы данных apt, то установку можно начать с этого:

После обновления apt можно переходить к установке Fail2ban:

Теперь активируем Fail2ban, чтобы она автоматически запускалась после перезагрузки сервера:

Перед запуском Fail2ban в работу осталось настроить параметры фильтрации, по которым будет происходить блокировка IP.

Настройка

По умолчанию Fail2ban использует правила блокировки, указанные в файле jail.conf. Это системный файл, который обновляется вместе с программой, поэтому использовать его в качестве основного файла с параметрами блокировки не рекомендуется.

Мы создадим собственный конфигурационный файл jail.local. Система приоритетов в Fail2ban настроена таким образом, что в качестве основных применяются правила, указанные в jail.local.

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

Конфигурационный файл Fail2ban состоит из так называемых jail-ов — отдельных блоков правил для разных служб. В одном файле jail.local можно не только указать все правила для всех сетевых служб сервера, но и управлять их включением и выключением.

Структура всех jail-ов одинакова:

  1. В первой строке в квадратных скобках указывают название службы, к которой будет применяться следующий ниже набор правил. В нашем случае это [sshd].

  2. Далее определяют параметр enabled, отвечающий за включение или отключение данного jail-а. Мы установим его true, чтобы наш jail был активен.

  3. После этого указывают условия блокировки: максимальное количество попыток подключения (maxretry), время, за которое эти попытки были произведены (findtime), и время, на которое нужно запретить доступ с этого IP (bantime).

  4. В последней части jail-а указывают IP-адреса, которые считаются надёжными (ignoreip), например, IP-адрес вашего домашнего компьютера.

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

Создадим конфигурационный файл:

Текст конфигурационного файла будет примерно таким:

Этот набор условий означает, что IP-адрес, с которого было произведено 6 неудачных попыток SSH-подключения за последний час (3600 секунд), будет заблокирован на одни сутки (86400 секунд). Не будут блокироваться IP-адреса в диапазоне от 127.0.0.1 до 127.0.0.8 и адрес 23.34.45.56.

Время для параметров findtime и bantime можно указывать не только в секундах, но и в минутах, часах, днях и даже неделях. Для этого необходимо сразу после численного значения параметра указать соответствующую букву (m, h, d, w).

Получение уведомлений

После строки с указанием надёжных IP можно добавить параметр, отвечающий за отправку на e-mail уведомлений о заблокированных IP.

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

Теперь на указанную здесь почту будут приходить уведомления о каждом заблокированном программой IP-адресе.

Чтобы получать более детальную информацию о заблокированных IP, на сервер можно установить службу whois:

В этом случае в письма о блокировке будут добавлены более подробные сведения, получаемые службой whois.

Будьте внимательны при настройке уведомлений!

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

Начало работы

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

Команда для запуска программы:

Команда для вывода на экран сведений о работе jail-а, отвечающего за службу sshd:

Если в данный момент сервер не подвергается атаке, сразу после установки и запуска программы на экране будет следующая информация:

Здесь приведены сведения о попытках подключения к серверу и о заблокированных IP-адресах.

Если вы решите изменить настройки, указанные в конфигурационном файле jail.local, не забудьте перезапустить Fail2ban, чтобы изменения вступили в силу:

Обратите внимание

Некоторые современные программы для брутфорса могут «обходить» заданные по умолчанию значения fail2ban. Например, делать 4 попытки подключения в течение 1 часа, ждать оставшееся время и пробовать подключиться заново. Поэтому мы рекомендуем установить собственные значения для всех условий.

Fail2ban обзор, установка, настройка. — Asterisk IP-телефония

Любой сервис, доступный из Интернета, подвержен атакам злоумышленников. Если сервис требует аутентификации, несанкционированные пользователи и боты будут пытаться проникнуть в систему путем перебора учетных данных. К примеру, сервис SSH станет объектом атак ботов, которые попытаются пройти аутентификацию с помощью стандартных учетных данных. К счастью, сервисы типа fail2ban помогают смягчить такие атаки. Сервис fail2ban динамически корректирует […]

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

К примеру, сервис SSH станет объектом атак ботов, которые попытаются пройти аутентификацию с помощью стандартных учетных данных. К счастью, сервисы типа fail2ban помогают смягчить такие атаки.

Сервис fail2ban динамически корректирует правила брандмауэра, чтобы заблокировать адреса, которые безуспешно пытаются войти в систему определенное количество раз.

Общие сведения

Основная идея fail2ban заключается в отслеживании логов общих сервисов для выявления ошибок аутентификации.

Когда fail2ban мониторит логи сервиса, он смотрит на настроенный для этого сервиса фильтр. Фильтр предназначен для определения сбоев аутентификации этого конкретного сервиса на основе сложных регулярных выражений. Шаблоны регулярных выражений определяются в переменной failregex.

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

Действие по умолчанию – блокировка потенциально вредоносного хоста/IP-адреса путем изменения правил брандмауэра iptables. Вы можете расширить это действие –  настроить электронные уведомления администратора с данными о злоумышленнике или строками лога, которые вызвали указанное действие.

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

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

При использовании цели по умолчанию (iptables) для отслеживания SSH-трафика при запуске сервиса fail2ban создает новую цепочку. Он добавляет новое правило в цепочку INPUT, которая направляет весь TCP-трафик, направленный на порт 22, в новую цепочку. В новой цепочке fail2ban вставляет одно правило, которое возвращается в цепочку INPUT.

Это заставляет трафик прыгать в новую цепочку, а затем возвращаться обратно. Сначала это не влияет на трафик. Однако когда IP-адрес превышает количество попыток аутентификации, в начало новой цепочки добавляется правило, которое будет сбрасывать трафик от этого IP-адреса. Когда срок блокировки истечет, правило iptables будет удалено. Цепочка и связанные с ней правила удаляются при выходе из fail2ban.

В данной статье настроим конфигурацию fail2ban для asterisk и ssh. В качестве стенда для выполнения настройки служит centos 7 + Asterisk 15.7.2.

Установка Fail2ban

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

yum install epel-release

Теперь можно установить пакет fail2ban:

yum install fail2ban
Установка fail2ban.

После завершения установки используйте инструмент systemctl, чтобы запустить и включить автозапуск fail2ban:

systemctl enable fail2ban

Проверьте что всё в порядке

systemctl status fail2ban

Настройка Fail2ban

Сервис Fail2ban хранит настройки в каталоге /etc/fail2ban.

В нём можно найти файл jail.conf, содержащий стандартные настройки.

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

Файл jail.conf содержит раздел [DEFAULT], после которого следует раздел для индивидуальных сервисов. Файл jail.local может переопределить любое из этих значений. Файлы применяются в алфавитном порядке:

/etc/fail2ban/jail.conf
/etc/fail2ban/jail.d/*.conf,
/etc/fail2ban/jail.local
/etc/fail2ban/jail.d/*.local,

Любой из файлов может содержать раздел [DEFAULT], который выполняется первым, а затем – разделы для индивидуальных сервисов. Последнее значение, установленное для данного параметра, имеет приоритет.

Создадим файл jail.local с настройками для asterisk и ssh в текстовом редакторе:

nano /etc/fail2ban/jail.local

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

[DEFAULT]
ignoreip = 127. 0.0.1
bantime = 86400
findtime = 600
maxretry = 5
backend = auto

Этот файл переопределяет параметры:

  • ignoreip — задаёт белый список адресов. На данный момент он не блокирует исходящий трафик локальной машины. Можно добавить дополнительные ip-адреса через пробел.
  • bantime — устанавливает интервал времени, в течение которого клиент будет заблокирован, если он не смог пройти аутентификацию. Значение параметра измеряется в секундах; по умолчанию установлено 600 секунд, (10 минут).
  • findtime — задаёт длительность интервала, в течение которого событие должно повториться определённое количество раз, после чего клиент будет заблокирован.
  • maxretry — устанавливает количество неудавшихся попыток входа. backend — определяет, как fail2ban будет контролировать логи. Настройка auto означает, что fail2ban будет пробовать pyinotify, затем gamin, а затем алгоритм опроса, основанный на доступных данных

После раздела [DEFAULT] идут разделы для определенных сервисов, которые могут использоваться для переопределения настроек по умолчанию. Как правило, в этих разделах переопределяются только значения, которые отличаются от стандартных значений.

Раздел для сервиса asterisk будет иметь следующие параметры:

[asterisk-iptables]
enabled = true
filter = asterisk
action = iptables-allports[name=SIP, protocol=all]
logpath = /var/log/asterisk/fail2ban
maxretry = 5
  • [asterisk-iptables] – заголовок раздела для сервиса.
  • enabled — даный раздел будет прочитан и включен
  • filter — указывает файлы фильтров определяющие, какие строки fail2ban должен найти в логах, чтобы определить вредоносное поведение.
  • action — действия, которые будет выполнять Fail2ban при обнаружении атакующего IP-адреса, все правила реагирования на действия злоумышленника описаны в файле /etc/fail2ban/action.d. Соответственно, в качестве значения параметра action не может быть указана информация, которой нет в файле /etc/fail2ban/action.d.
  • logpath — путь к файлу журнала, который программа Fail2ban будет обрабатывать с помощью заданного ранее фильтра.
    Вся история удачных и неудачных входов в систему, в том числе и по SSH, по умолчанию записывается в log–файл /var/log/auth.log.
  • maxretry — устанавливает количество неудавшихся попыток входа.

Раздел для сервиса ssh будет иметь следующие параметры:

[ssh-iptables]
enabled  = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/secure
maxretry = 3

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

Сохраните и закройте файл. Перезапустите fail2ban при помощи systemctl для применения внесенных изменений:

systemctl restart fail2ban

Ubuntu, CentOS, Fedora и Debian

Введение

Fail2ban  – это программное обеспечение, которое защищает ваш сервер от атак методом грубой силы. Он делает это, отслеживая журналы сервера и обнаруживая любую подозрительную активность.

Программа определяет необоснованное количество неудачных попыток и автоматически добавляет в iptables новые, блокирующие заданный IP-адрес. Затем этот IP-адрес (или хост) блокируется на указанное время или на неопределенный срок.

Таким образом, установка этого программного обеспечения для мониторинга журналов — отличный способ обеспечить еще один уровень безопасности вашего сервера. Тем не менее, это может быть только частью вашего общего плана безопасности сервера. Узнайте больше о мерах с помощью этих 21 совета по безопасности сервера.

В этом руководстве вы узнаете, как установить и настроить Fail2ban на вашем сервере.

Пререквизиты

  • Доступ к командной строке / окно терминала
  • Доступ к пользовательской учетной записи с Sudo или корневыми привилегиями

Установка. работает на вашем сервере. Ниже вы найдете команды для установки и включения Fail2ban на

Ubuntu , CentOS , Fedora и Debian .

Важно: Fail2ban не заменяет программные брандмауэры, такие как iptables. Он задуман как еще один уровень безопасности и не должен заменять брандмауэр.

Установите Fail2ban на Ubuntu

1. Перед добавлением новых пакетов важно обновить системный репозиторий и обновить программное обеспечение. Для этого выполните команду:

 apt-get update && apt-get upgrade 

Нажмите y для подтверждения и нажмите Введите .

2. Теперь вы можете установить Fail2ban с помощью:

 apt-get install fail2ban 

3. При желании вы можете установить Sendmail для поддержки по электронной почте:

 Далее apt-get install sendmail 2, необходимо  разрешить доступ по SSH   через брандмауэр: 

 ufw разрешить ssh 

5. Наконец, включить брандмауэр :

 ufw enable 

Установить Fail2ban на CentOS

1. Чтобы установить Fail2ban на CentOS, вам нужен репозиторий EPEL . Обновите систему и добавьте репозиторий, выполнив:

 yum update && yum install epel-release 

2. Настроив репозиторий EPEL, установите Fail2ban с помощью команды:

 yum install fail2ban 

3. Затем, вам нужно запустить службу Fail2ban и включить ее При загрузке:

 SystemCtl Start Fail2ban 
 SystemCtl включить Fail2ban 

4. Для поддержки по электронной почте вы можете установить Sendmail с:

 Yum Install Sendmail 

5. TO Start и включите Sendmail . Сервис.

 systemctl start sendmail 
 systemctl enable sendmail 

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

1. Начните с обновления системы :

 dnf update 

2. Затем установить Fail2ban и Sendmail (необязательно, если вам нужна поддержка по электронной почте):

 dnf установить fail2ban 
 dnf установить sendmail 

3. Поскольку эти службы не запускаются автоматически в Fedora, вам необходимо

5 запустить и включить

6 их с помощью:

 systemctl start fail2ban 
 systemctl enable fail2ban 
 systemctl start sendmail 
 systemctl enable sendmail 

Установить Fail2ban в Debian

1.  Обновление и обновление  системы:

 apt-get update && apt-get upgrade -y 

Нажмите y и Введите для подтверждения.

2. Затем  установите Fail2ban с помощью команды:

 apt-get install fail2ban 

3. Для поддержки по электронной почте вы также можете установить Sendmail с помощью команды:

 apt-get install sendmail-bin 

Примечание: Ознакомьтесь с нашим всесторонним сравнением CentOS и Ubuntu для веб-серверов.

Configure Fail2ban

Configure Fail2ban, редактируя следующие файлы конфигурации:

  • Fail2ban. local File
  • тюрьма.Local File

Configure Fail2bar.Local File

Fail2ban2bers Define It Global Confighater. файл. Файл состоит из конфигурации по умолчанию, и обычно его не рекомендуется изменять.

Все изменения в конфигурации нужно делать в отдельном fail2ban.local файл.

1. Поэтому первое, что нужно сделать, это скопировать содержимое файла .conf в файл .local . Команда для этого:

 cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local 

2. После этой команды не будет вывода. Следующим шагом является открытие файла fail2ban.local с помощью текстового редактора по вашему выбору:

 nano fail2ban.local 

3. Вы должны увидеть файл, похожий на изображение ниже:

В этом примере комментарии выделены синим цветом. объясните каждую опцию и ее возможные значения. Белые линии — это параметры, которые вы можете изменить, и они включают в себя:

  • loglevel  – Set the log level output to  CRITICAL,   ERROR WARNING NOTICE INFO , or  DEBUG .
  • logtarget  – Установите цель журнала, которая может быть либо ФАЙЛ SYSLOG  5 9R 0005 СТАНДАРТНЫЙ ВЫПУСК .
  • syslogsocket – Set the syslog socket file to  auto  or  FILE  (this is only used if the  logtarget  is set to  SYSLOG )
  • socket  – укажите файл сокета, который используется для связи с демоном. Не удаляйте этот файл. Путь по умолчанию: /var/run/fail2ban/fail2ban.sock
  • pidfile  – укажите файл PID, который используется для хранения идентификатора процесса сервера fail2ban. Расположение по умолчанию: /var/run/fail2ban/fail2ban. pid

Файл конфигурации jail.local

Другой файл конфигурации Fail2ban, который вам, возможно, потребуется изменить, — это файл jail.conf , который включает определение тюрем. Фильтры с действиями.

Как и в случае с глобальной конфигурацией, jail.config файл нельзя изменять напрямую. Вместо этого все настройки следует выполнять в файле jail.local .

1. Если вам необходимо внести некоторые изменения, скопируйте содержимое файла .conf в файл .local :

 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 

2. Откройте файл jail.local в текстовом редакторе по вашему выбору:

 nano jail.local 

3. Вы должны увидеть следующее содержимое:

Здесь вы можете установить следующие параметры:

  • ignoreself — укажите, следует ли игнорировать локальный IP-адрес, установив значение true (по умолчанию) или false 9 9.
  • ignoreip  – позволяет указать IP-адреса, маски CIDR или хосты DNS, которые должны быть заблокированы. Разделяйте несколько адресов пробелом.
  • ignorecommand  – определение  пути/к/команде  если нужно игнорировать.
  • Bantime - Укажите количество секунд. Хост запрещен (по умолчанию 600 )
  • MAXRETRY - Количество неудач. установите 5 ).
  • findtime — время, в течение которого хост не должен использовать номер maxretry , чтобы не быть забаненным (обычно установлено значение  10 минут). Например, если хост выходит из строя 5 раз за 10 минут, он блокируется на 600 секунд.
  • бэкэнд  – укажите бэкэнд, используемый для получения модификации файлов. Если вы используете CentOS или Fedora, вам необходимо установить серверную часть на systemd . Значение по умолчанию  auto  достаточно для других операционных систем.
  • [ssh] — по умолчанию в Fail2ban нет включенных джейлов. Поэтому вам нужно сделать это вручную, добавив джейлы в файл конфигурации. Например, вы можете включить тюрьму демона SSH, раскомментировав (удалив # ) строки [ssh] и enabled = true .
  • DESTEMAIL - Указывает адрес электронной почты, в котором вы хотите получить уведомления
  • SENDER - Определяет адрес электронной почты от того, где вы получаете уведомления

. установить дополнительные настройки в файле jail.local, например, для SSH и iptables. Эти параметры включают в себя:

  • banaction  – указывает действие по умолчанию, которое используется при достижении maxretry .
  • banaction_allports   — позволяет пометить IP-адрес, который должен быть заблокирован на каждом порту.
  • порт – Значение должно соответствовать установленному сервису. Это может быть ssh или номер порта (если вы используете альтернативный порт).
  • filter — имя файла, содержащего информацию об отказоустойчивом выражении, расположенном в /etc/fail2ban/filter.d .

Перезапустите службу

Если вы внесли какие-либо изменения в файлы fail2ban.local и jail.local , обязательно перезапустите службу fail2ban.

Чтобы перезапустить службу fail2ban с новой конфигурацией, выполните команду:

 служба fail2ban перезапустить 

Вывод

Следуя этому руководству, вы должны были установить и настроить базовую конфигурацию Fail2ban.

Fail2ban — отличный инструмент для добавления еще одного уровня безопасности. Он особенно эффективен против атак грубой силы SSH.

Руководство по настройке Fail2Ban для усиления защиты вашего Linux-сервера

ВПС

05 декабря 2022 г.

Noviantika G.

6min Read

Fail2Ban, пожалуй, лучшее программное обеспечение для защиты сервера Linux от автоматических атак. Когда он включен, он предлагает множество настраиваемых правил для запрета исходных адресов, которые могут попытаться получить доступ к вашей машине. Fail2Ban работает рука об руку с брандмауэром, поэтому мы рекомендуем вам установить и включить их как отдельные уровни безопасности.

В этой статье мы объясним, что такое Fail2Ban и варианты его использования. Мы также покажем вам, как установить и настроить Fail2Ban.

Что такое Fail2Ban и для чего он используется?

Fail2Ban — это приложение для анализа журналов, которое защищает узел виртуального сервера Linux от многих угроз безопасности, таких как атаки по словарю, DoS, DDoS и атаки методом грубой силы. Он работает, отслеживая системные журналы на предмет любой вредоносной активности и сканируя файлы на наличие любых записей, соответствующих выявленным шаблонам.

Если Fail2Ban обнаружит всплеск неудачных попыток входа в систему, он автоматически добавит новые правила брандмауэра в ваши iptables и заблокирует исходный адрес на указанное время или на неопределенный срок.

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

Как установить Fail2Ban

Чтобы установить службу Fail2Ban, подключитесь к серверу с root-доступом, используя SSH-клиент, например Terminal (macOS и Linux) или PuTTY (Windows).

Ubuntu:

Вот как установить Fail2Ban на Ubuntu:

  1. Перед установкой нового пакета мы рекомендуем обновить системный репозиторий и программное обеспечение. Выполните следующую команду:
 apt-get update && apt-get upgrade 
  1. Установите пакет Fail2Ban, выполнив следующую команду:
 apt-get install fail2ban 
  1. Если вы хотите добавить поддержку по электронной почте для службы Fail2Ban, вставьте следующую команду и нажмите Введите :
 apt-get install sendmail 
  1. Проверьте статус Fail2Ban с помощью следующей команды:
 sudo systemctl status fail2ban 

CentOS:

Чтобы установить Fail2Ban на CentOS, выполните следующие действия:

  1. Fail2Ban для CentOS7 включен в репозиторий Extra Packages for Enterprise Linux (EPEL). Загрузите его, выполнив команду ниже:
 sudo yum install epel-release 
  1. После этого установите Fail2Ban, введя следующую команду и нажав Введите :
 sudo yum install fail2ban 
  1. Включите и запустите службу, выполнив следующие команды:
 sudo systemctl enable fail2ban 
 sudo systemctl start fail2ban 

Debian:

Вот как установить Fail2Ban на Debian:

  1. Обновите и обновите системный репозиторий, введя команду ниже и нажав Enter 4:
 apt-get update && apt-get upgrade -y 
  1. Продолжите установку Fail2Ban с помощью следующей команды:
 apt-get install fail2ban 
  1. Если вы хотите добавить поддержку электронной почты, установите Sendmail, выполнив эту команду:
 apt-get install sendmail-bin sendmail 
  1. Вот как проверить статус Fail2Ban:
 статус systemctl fail2ban 

Fedora:

Следуйте этим инструкциям, чтобы установить Fail2Ban на Fedora:

  1. Обновите системный репозиторий, вставив приведенную ниже команду и нажав . Введите :
  2. .
 обновление dnf 
  1. Установите Fail2Ban с помощью этой команды:
 dnf install fail2ban 
  1. Если вы хотите установить Sendmail, введите следующую команду и нажмите Enter :
 dnf install sendmail 
  1. Запустите и включите службу Fail2Ban, выполнив следующие команды:
 запуск systemctl fail2ban 
 systemctl enable fail2ban 
  1. Если вы добавили Sendmail, выполните следующее, чтобы запустить и включить его:
 systemctl start sendmail 
 systemctl enable sendmail 

Как настроить Fail2Ban

После установки Fail2Ban рассмотрите возможность его настройки. В этом разделе мы рассмотрим, как это сделать, используя файлы fail2ban.local и jail.local .

Измените настройки по умолчанию с помощью файла fail2ban.

local (необязательно)

Файл fail2ban.conf содержит базовую конфигурацию Fail2Ban. Он содержит глобальные настройки, которые не следует изменять.

Если вы хотите внести какие-либо изменения, мы рекомендуем создать локальный файл. Сделайте копию fail2ban.conf и переименуйте ее в fail2ban.local , чтобы переопределить профиль конфигурации по умолчанию.

Вот как изменить имя копии и настроить параметры файла fail2ban.local:

  1. Переименовать файл в fail2ban.local , выполнив приведенную ниже команду. Имейте в виду, что он не выдаст никакого вывода:
 cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local 
  1. Введите следующую команду и нажмите Введите , чтобы открыть файл:
 sudo nano /etc/fail2ban/fail2ban.local 
  1. Теперь вы можете редактировать определения внутри файла.

Давайте рассмотрим параметры и значения, которые они могут принимать.

 loglevel = INFO 

Определите уровень вывода журнала как:

  • КРИТИЧЕСКИЙ – аварийные ситуации, которые должны быть исследованы немедленно.
  • ОШИБКА — что-то пошло не так, но не критично.
  • ПРЕДУПРЕЖДЕНИЕ – потенциально опасное состояние.
  • ВНИМАНИЕ – нормальное, но существенное состояние.
  • INFO – информационные сообщения, которые можно игнорировать.
  • ОТЛАДКА – сообщения уровня отладки.
 logtarget = STDERR 

Журнал действий в определенном целевом сокете, который может быть:

  • ФАЙЛ – вывод в файловый сокет.
  • SYSLOG — вывод в файл журнала на основе сообщений.
  • STDERR – выводится как стандартная ошибка.
  • STDOUT – стандартный вывод.
 syslogsocket = auto 

Установите для файла сокета системного журнала значение auto или файл (если вы установили logtarget как SYSLOG ).

 socket = /var/run/fail2ban/fail2ban.sock 

Установите файл сокета для связи с демоном. Расположение по умолчанию — /var/run/fail2ban/fail2ban.sock .

 pidfile = /var/run/fail2ban/fail2ban.pid 

Установите файл PID для хранения идентификатора процесса сервера Fail2Ban. Расположение по умолчанию — /var/run/fail2ban/fail2ban.pid .

Настройка файла конфигурации jail.local

Fail2Ban имеет еще один файл конфигурации с именем jail.conf который включает в себя джейлов – фильтры с действиями. Однако пользователям не следует изменять этот файл напрямую, поскольку он содержит базовый набор правил для программного обеспечения.

Вместо этого сделайте копию исходного файла и назовите ее jail.local . Используя его, вы сможете настраивать и настраивать фильтры и действия, такие как ignoreip , bantime , findtime , maxretry и серверная часть .

ignoreip

Для этой функции необходимо указать доверенные IP-адреса, хосты DNS или маски CIDR, которые Fail2Ban должен игнорировать . Этот параметр разрешает весь трафик, поступающий из указанных источников. Вы можете добавить несколько адресов и разделить их пробелом.

bantime

Этот параметр устанавливает время, на которое клиент будет забанен после неудачной аутентификации. Период бана измеряется в секундах, а значение по умолчанию — 600 или 10 минут.

findtime

Этот параметр определяет период времени для неудачных попыток входа в систему. Если хост не проходит аутентификацию определенное количество раз (на основе параметра maxretry ) в течение установленного периода, его IP-адрес будет заблокирован.

maxretry

maxretry работает вместе с findtime – устанавливает максимальное количество неудачных попыток входа в систему в течение заданного временного окна. Значение по умолчанию — 5,9.0003

серверная часть

Эта функция позволяет указать внутреннюю конфигурацию для изменения файла. Значение по умолчанию — auto , но если вы используете CentOS или Fedora, оно должно быть systemd .

Вот доступные значения, которые вы можете выбрать:

  • pynotify — отслеживает изменения файловой системы в режиме реального времени и требует установки монитора изменения файлов.
  • gamin — то же, что и pynotify , но требуется инструмент Gamin.
  • polling — использует алгоритм опроса, не требующий внешних библиотек.
  • systemd — использует библиотеку Python systemd для доступа к журналу systemd .
  • auto — будут использоваться предыдущие значения в этом порядке — pyinotify , gamin и polling .

Вы также можете настроить дополнительные конфигурации в файле jail.local , включая настройки SSH и iptables . Доступные параметры включают:

  • banaction — определяет, какое действие по умолчанию использовать при достижении порога maxretry . Если вы используете firewalld , установите значение firewallcmd-ipset . Однако, если вы настроили UFW в качестве брандмауэра, измените его на ufw .
  • banaction_allports — позволяет помечать и блокировать IP-адреса на каждом порту. Если вы используете firewalld , установите значение firewallcmd-ipset .
  • порт – значение должно соответствовать установленному сервису. Если вы используете порт по умолчанию, измените значение на имя службы. Если вы используете нетрадиционный порт, введите его номер здесь.
  • filter — имя файла, расположенное в /etc/fail2ban/filter.d , содержит информацию failregex , используемую для анализа файлов журналов.

Заключение

Fail2Ban — это программа для анализа журналов, которая помогает защитить веб-серверы на базе Linux от кибератак.

В этой статье показано, как установить Fail2Ban в популярных операционных системах, таких как Ubuntu, CentOS, Debian и Fedora. Мы также объяснили, как редактировать файлы конфигурации программного обеспечения fail2ban.local и jail.local .

Мы надеемся, что эта статья помогла вам настроить Fail2Ban на вашем Linux-сервере. Если у вас есть какие-либо вопросы или предложения, оставьте их в разделе комментариев ниже.

Ознакомьтесь с другими рекомендациями по обеспечению безопасности VPS

Полное руководство по Iptables
Как настроить OpenVPN в Linux
Как настроить брандмауэр UFW в Ubuntu
Как установить ClamAV на CentOS

Часто задаваемые вопросы по конфигурации Fail2Ban

Нужен ли мне Fail2Ban?

Да, это важная часть инфраструктуры безопасности вашего сервера.

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

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