Повышение безопасности вашего сервера должно быть одним из ваших главных приоритетов, когда дело доходит до управление сервером linux. Просматривая журналы своего сервера, вы часто можете обнаружить различные попытки входа в систему методом грубой силы, веб-флуд, поиск эксплойтов и многие другие.
С помощью программного обеспечения для предотвращения вторжений, такого как fail2ban, вы можете проверить журналы своего сервера и добавить дополнительные правила iptables для блокировки проблемных IP-адресов.
Читайте также: Как установить Fail2Ban для защиты SSH на CentOS / RHEL 8
Из этого туториала Вы узнаете, как установить fail2ban и настройте базовую конфигурацию для защиты вашей системы Linux от атак грубой силы.
Fail2ban написан на python, и единственное требование - установить python:
Установка fail2ban относительно просто:
Сначала обновите свои пакеты, включите Эпель репозиторий и установить fail2ban как показано.
# yum update. # yum install epel-release. # yum install fail2ban.
Сначала обновите свои пакеты и установите fail2ban как показано.
# apt-get update && apt-get upgrade -y. # apt-get install fail2ban.
При желании, если вы хотите включить поддержку почты (для почтовых уведомлений), вы можете установить sendmail.
# yum install sendmail [Вкл. CentOS / RHEL] # apt-get install sendmail-bin sendmail [Вкл.Debian / Ubuntu]
Включить fail2ban и Отправить почту используйте следующие команды:
# systemctl start fail2ban. # systemctl включить fail2ban. # systemctl запустить sendmail. # systemctl включить sendmail.
По умолчанию, fail2ban использует .conf
файлы, расположенные в /etc/fail2ban/ которые читаются первыми. Однако они могут быть отменены .местный
файлы, расположенные в том же каталоге.
Таким образом .местный
файл не обязательно должен включать все настройки из .conf
файл, но только те, которые вы хотите переопределить. Внесите изменения в .местный
файлы, а не в .conf
. Это предотвратит перезапись изменений при обновлении пакета fail2ban.
Для этого урока мы скопируем существующий fail2ban.conf файл в fail2ban.local.
# cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local.
Теперь вы можете внести изменения в .местный
файл с помощью вашего любимого текстового редактора. Вы можете редактировать следующие значения:
Один из самых важных файлов в fail2ban - это jail.conf
который определяет ваши тюрьмы. Здесь вы определяете службы, для которых следует включить fail2ban.
Как мы упоминали ранее .conf
файлы могут быть изменены во время обновлений, поэтому вам следует создать jail.local файл, в котором вы можете применить свои изменения.
Другой способ сделать это - просто скопировать .conf файл с:
# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local.
Если вы используете CentOS или Fedora, вам нужно будет изменить бэкэнд в jail.local из "авто" к «Systemd».
Если вы используете Ubuntu / Debian, нет необходимости вносить эту модификацию, даже если они тоже используют systemd.
Файл тюрьмы по умолчанию будет включать SSH для Debian и Ubuntu, но не на CentOS. Если вы хотите включить его, просто измените следующую строку в /etc/fail2ban/jail.local:
[sshd] enabled = true.
Вы можете настроить обстоятельства, после которых IP-адрес будет заблокирован. Для этой цели, fail2ban использует бантайм, время поиска и максретри.
Конечно, вы захотите внести определенные IP-адреса в белый список. Для настройки таких IP-адресов откройте /etc/fail2ban/jail.local с помощью вашего любимого текстового редактора и раскомментируйте следующую строку:
ignoreip = 127.0.0.1/8:: 1.
Затем вы можете указать IP-адреса, которые вы хотите игнорировать. IP-адреса следует разделять пробелами или запятыми.
Если вы хотите получать оповещения о событии по электронной почте, вам необходимо настроить следующие параметры в /etc/fail2ban/jail.local:
По умолчанию mta (агент по пересылке почты) установлен на Отправить почту.
Чтобы получать уведомления по электронной почте, вам также необходимо изменить "действие" установка из:
Действие =% (action_) s.
К одному из них:
действие =% (action_mw) s. действие =% (action_mwl) s.
Пока что мы рассмотрели основные параметры конфигурации. Если вы хотите настроить тюрьму, вам нужно будет включить ее в jail.local файл. Синтаксис довольно прост:
[jail_to_enable]... enabled = true.
Где заменить jail_to_enable с реальной тюрьмой, например, «Sshd». в jail.local файла, для службы ssh будут предопределены следующие значения:
[sshd] порт = ssh. logpath =% (sshd_log) s.
Вы можете включить фильтр, который поможет определить, является ли строка в журнале ошибочной. Значение фильтра на самом деле является ссылкой на файл с именем службы, за которым следует .conf. Например: /etc/fail2ban/filter.d/sshd.conf.
Синтаксис:
filter = service.
Например:
фильтр = sshd.
Вы можете просмотреть существующие фильтры в следующем каталоге: /etc/fail2ban/filter.d/.
Fail2ban поставляется с клиентом, который можно использовать для просмотра и изменения текущей конфигурации. Поскольку он предоставляет множество опций, вы можете просмотреть его руководство с помощью:
# человек fail2ban-client
Здесь вы увидите некоторые из основных команд, которые вы можете использовать. Чтобы просмотреть текущий статус fail2ban или для конкретной тюрьмы вы можете использовать:
# fail2ban-client status.
Результат будет примерно таким:
Для индивидуальной тюрьмы вы можете запустить:
# fail2ban-client status sshd.
На скриншоте ниже вы увидите, что я намеренно не прошел несколько попыток входа в систему, поэтому fail2ban может заблокировать IP-адрес, с которого я пытался подключиться:
Fail2ban - отличная, хорошо задокументированная система предотвращения вторжений, обеспечивающая дополнительную безопасность вашей системе Linux. Требуется некоторое время, чтобы привыкнуть к его настройке и синтаксису, но как только вы ознакомитесь с ним, вы сможете свободно изменять и расширять его правила.