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