img

Установка и настройка Fail2Ban: Ubuntu, CentOS, Fedora и Debian

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

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

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

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

Необходимые условия:

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

Установка Fail2ban

Способ установки Fail2ban зависит от операционной системы, установленной на вашем сервере. Ниже вы найдете команды для установки и включения Fail2ban на Ubuntu, CentOS, Fedora и Debian.

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

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

apt-get update && apt-get upgrade

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

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

apt-get install fail2ban

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

apt-get install sendmail

4. Далее необходимо разрешить доступ к SSH через файервол:

ufw allow 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 enable fail2ban

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

yum install sendmail

5. Чтобы запустить и включить службу Sendmail, выполните команду:

systemctl start sendmail
systemctl enable sendmail

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

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

dnf update

 

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

dnf install fail2ban
dnf install sendmail

 

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

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

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

1. Обновите и модернизируйте систему:

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

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

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

apt-get install fail2ban

 

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

apt-get install sendmail-bin sendmail

Настройка Fail2ban

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

  • файл fail2ban.local
  • файл jail.local

Настройка файла fail2ban.local

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

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

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

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

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

nano fail2ban.local

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

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

  • loglevel — установка вывода журнала в CRITICAL, ERROR, WARNING, NOTICE, INFO или DEBUG.
  • logtarget — установка цели журнала, которая может быть либо FILE, либо SYSLOG, либо STDERR, либо STDOUT.
  • syslogsocket — установка файла сокета syslog в auto или FILE (используется только в том случае, если целью журнала является 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.
  • ignoreip — позволяет указать IP-адреса, CIDR-маски или DNS-хосты, которые должны быть запрещены. Разделите несколько адресов пробелом.
  • ignorecommand — определите путь/к/команде, если она должна быть проигнорирована.
  • bantime — укажите количество секунд, в течение которых хост будет запрещен (по умолчанию 600).
  • maxretry — количество отказов, допустимых перед тем, как хост будет забанен (по умолчанию установлено значение 5).
  • findtime — время, в течение которого хост не должен использовать число maxretry, чтобы не быть забаненным (обычно задается 10 минут). Например, если хост потерпел неудачу 5 раз за 10 минут, он будет забанен на 600 секунд.
  • backend — укажите бэкэнд, используемый для получения модификации файлов. Если вы используете CentOS или Fedora, вам нужно установить backend на systemd. Для других операционных систем достаточно значения по умолчанию auto.
  • [ssh] — по умолчанию в Fail2ban не включены джейлы. Поэтому вам нужно сделать это вручную, добавив джейлы в конфигурационный файл. Например, вы можете включить джейл демона SSH, откомментировав (удалив #) строки [ssh] и enabled = true.

  • destemail — укажите адрес электронной почты, на который вы хотите получать уведомления
  • sender — определяет адрес электронной почты, с которого вы получаете уведомления.

Дополнительные конфигурации jail.local

В файле jail.local можно задать дополнительные настройки, например, для SSH и iptables. К ним относятся:

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

Перезапуск системы

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

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

service fail2ban restart

Итак

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

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

Ссылка
скопирована
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
Комментарии
ОСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59