Все серверы, доступные из Интернета, подвержены риску атак вредоносных программ. Например, если у вас есть приложение, доступное из общедоступной сети, злоумышленники могут использовать попытки грубой силы, чтобы получить доступ к приложению.
Fail2ban - это инструмент, который помогает защитить ваш Linux-компьютер от грубого перебора и других автоматических атак, отслеживая журналы служб на предмет вредоносной активности. Он использует регулярные выражения для сканирования файлов журнала. Подсчитываются все записи, соответствующие шаблонам, и когда их количество достигает определенного предопределенного порога, Fail2ban блокирует нарушающий IP-адрес с помощью системного брандмауэра на определенный период времени. По истечении срока бана IP-адрес удаляется из списка банов.
В этой статье объясняется, как установить и настроить Fail2ban в Debian 10.
Установка Fail2ban на Debian #
Пакет Fail2ban включен в репозитории Debian 10 по умолчанию. Чтобы установить его, выполните следующую команду от имени пользователя root или пользователя с привилегиями sudo:
sudo apt update
sudo apt установить fail2ban
После завершения служба Fail2ban запустится автоматически. В этом можно убедиться, проверив статус услуги:
sudo systemctl статус fail2ban
Результат будет выглядеть так:
● fail2ban.service - Fail2Ban Сервис загружен: загружен (/ lib / systemd / system / fail2ban.услуга; включено; предустановка поставщика: включена) Активно: активна (работает) с 10.03.2021 18:57:32 UTC; 47с назад…
это оно. На этом этапе у вас есть Fail2Ban, работающий на вашем сервере Debian.
Конфигурация Fail2ban #
Стандартная установка Fail2ban включает два файла конфигурации, / и т.д. / fail2ban / тюрьма.conf
а также / и т.д. / fail2ban / тюрьма.г / по умолчанию-дебиан.conf
. Вы не должны изменять эти файлы, так как они могут быть перезаписаны при обновлении пакета.
Fail2ban читает файлы конфигурации в следующем порядке. Каждый .местный
файл отменяет настройки из .conf
файл:
/ и т.д. / fail2ban / тюрьма.conf
/ и т.д. / fail2ban / тюрьма.d / *.conf
/ и т.д. / fail2ban / тюрьма.местный
/ и т.д. / fail2ban / тюрьма.d / *.местный
Самый простой способ настроить Fail2ban - скопировать тюрьма.conf
к тюрьма.местный
и изменить .местный
файл. Более продвинутые пользователи могут создать .местный
файл конфигурации с нуля. В .местный
файл не обязательно должен включать все настройки из соответствующего .conf
файл, только те, которые вы хотите переопределить.
Создать .местный
файл конфигурации, скопировав значение по умолчанию тюрьма.conf
файл:
sudo cp / etc / fail2ban / тюрьма.conf, local
Чтобы начать настройку сервера Fail2ban, откройте тюрьма.местный
файл в текстовом редакторе:
Судо нано / и т. д. / fail2ban / тюрьма.местный
Файл включает комментарии, описывающие, что делает каждый параметр конфигурации. В этом примере мы изменим основные настройки.
Внесение IP-адресов в белый список #
IP-адреса, диапазоны IP-адресов или хосты, которые вы хотите исключить из блокировки, могут быть добавлены в игнорировать
директива. Здесь вы должны добавить IP-адрес вашего локального ПК и все другие машины, которые вы хотите добавить в белый список.
Раскомментируйте строку, начинающуюся с игнорировать
и добавьте свои IP-адреса через пробел:
ignoreip = 127.0.0.1/8 :: 1 123.123.123.123 192.168.1.0/24
Настройки бана #
бантайм
, время поиска
, а также максретри
опции устанавливают время бана и условия бана.
бантайм
это срок, на который IP заблокирован. Если суффикс не указан, по умолчанию используются секунды. По умолчанию бантайм
значение установлено на 10 минут. Большинство пользователей предпочитают устанавливать более длительное время блокировки. Измените значение по своему вкусу:
bantime = 1d
Чтобы навсегда заблокировать IP, используйте отрицательное число.
время поиска
это промежуток времени между количеством сбоев до того, как будет установлен запрет. Например, если Fail2ban настроен на блокировку IP-адреса после пяти сбоев (максретри
, см. ниже), эти сбои должны происходить в время поиска
продолжительность.
findtime = 10 мин
максретри
количество отказов до того, как IP будет забанен. По умолчанию установлено значение пять, что должно подойти большинству пользователей.
maxretry = 5
Уведомления по электронной почте #
Fail2ban может отправлять оповещения по электронной почте, когда IP-адрес заблокирован. Чтобы получать электронные письма, вам необходимо установить SMTP на вашем сервере и изменить действие по умолчанию, которое запрещает только IP-адрес % (action_mw) s
, как показано ниже:
действие =% (action_mw) s
% (action_mw) s
банит оскорбительный IP и отправляет электронное письмо с отчетом whois. Если вы хотите включить соответствующие журналы в электронное письмо, установите для действия значение % (action_mwl) s
.
Вы также можете изменить адреса электронной почты отправителя и получателя:
/ и т.д. / fail2ban / тюрьма.местныйdestemail = админ @ linuxize.com отправитель = корень @ linuxize.ком
Fail2ban тюрьмы #
Fail2ban использует концепцию тюрем. Тюрьма описывает услугу, включает фильтры и действия. Записи журнала, соответствующие шаблону поиска, подсчитываются, и при выполнении заранее определенного условия выполняются соответствующие действия.
Fail2ban поставляется с несколькими тюрьмами для разных сервисов. Вы также можете создавать свои собственные конфигурации тюрьмы. По умолчанию включен только ssh jail.
Для включения джейла нужно добавить enabled = true
после названия тюрьмы. В следующем примере показано, как включить постфиксную тюрьму:
[postfix] enabled = true port = smtp, ssmtp filter = postfix logpath = / var / log / mail.бревно
Параметры, которые мы обсуждали в предыдущем разделе, могут быть установлены для каждой тюрьмы. Вот пример:
/ и т.д. / fail2ban / тюрьма.местный[sshd] enabled = true maxretry = 3 findtime = 1d bantime = 4w ignoreip = 127.0.0.1/8 11.22.33.44 год
Фильтры расположены в / и т.д. / fail2ban / фильтр.d
каталог, хранящийся в файле с тем же именем, что и тюрьма. Если у вас есть индивидуальная настройка и опыт работы с регулярными выражениями, вы можете настроить фильтры.
Каждый раз при изменении файла конфигурации необходимо перезапускать службу Fail2ban, чтобы изменения вступили в силу:
sudo systemctl перезапуск fail2ban
Клиент Fail2ban #
Fail2ban поставляется с инструментом командной строки под названием fail2ban-клиент
который вы можете использовать для взаимодействия с сервисом Fail2ban.
Чтобы просмотреть все доступные параметры, вызовите команду с -час
вариант:
fail2ban-client -h
Этот инструмент можно использовать для блокировки / разблокировки IP-адресов, изменения настроек, перезапуска службы и т. Д. Вот несколько примеров:
Получите текущий статус сервера:
sudo fail2ban-client статус
Проверьте статус тюрьмы:
sudo fail2ban-client статус sshd
Разбанить IP:
sudo fail2ban-client установить sshd unbanip 11.22.33.44 год
Запретить IP:
sudo fail2ban-client установить sshd banip 11.22.33.44 год
Заключение #
Мы показали вам, как установить и настроить Fail2ban в Debian 10.
Для получения дополнительной информации по этой теме посетите документацию Fail2ban .
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.