Безопасность

Как настроить IPS (Fail2ban) для защиты от различных атак

Как настроить IPS (Fail2ban) для защиты от различных атак

IPS или система предотвращения вторжений - это технология, используемая в сетевой безопасности для проверки сетевого трафика и предотвращения различных атак путем обнаружения вредоносных входных данных. Помимо простого обнаружения вредоносных входов, как это делает система обнаружения вторжений, она также предотвращает вредоносные атаки в сети. Он может предотвратить сеть от грубой силы, DoS (отказ в обслуживании), DDoS (распределенный отказ в обслуживании), эксплойтов, червей, вирусов и других распространенных атак. IPS размещаются сразу за брандмауэром, и они могут отправлять сигналы тревоги, отбрасывать вредоносные пакеты и блокировать оскорбительные IP-адреса. В этом руководстве мы будем использовать Fail2ban, пакет программного обеспечения для предотвращения вторжений, чтобы добавить уровень безопасности против различных атак методом грубой силы.

Как работает Fail2ban

Fail2ban читает файлы журнала (e.грамм. / var / log / apache / error_log) и получает оскорбительные IP-адреса, которые пытаются ввести слишком много неудачных паролей или ищут эксплойты. По сути, Fail2ban обновляет правила брандмауэра, чтобы блокировать разные IP-адреса на сервере. Fail2ban также предоставляет фильтры, которые мы можем использовать для конкретной службы (e.грамм., apache, ssh и т. д.).

Установка Fail2ban

Fail2ban не предустановлен в Ubuntu, поэтому перед его использованием мы должны установить его.

[электронная почта защищена]: ~ $ sudo apt-get update -y
[электронная почта защищена]: ~ $ sudo apt-get install fail2ban

После установки Fail2ban запустите и включите службу Fail2ban с помощью командной строки.

[электронная почта защищена]: ~ $ sudo systemctl start fail2ban
[электронная почта защищена]: ~ $ sudo systemctl enable fail2ban


Теперь проверьте статус службы fail2ban, чтобы убедиться, запущена она или нет.

[электронная почта защищена]: ~ $ sudo systemctl status fail2ban

Настройка Fail2ban для SSH

Мы можем настроить Fail2ban, изменив / etc / fail2ban / jail.conf файл. Перед изменением сделайте резервную копию этого файла.

[электронная почта защищена]: ~ $ sudo cp / etc / fail2ban / jail.conf / и т.д. / fail2ban / тюрьма.местный

Теперь мы настроим Fail2ban, чтобы предотвратить злонамеренные входы в службу sshd. Откройте / etc / fail2ban / jail.локальный файл в вашем любимом редакторе.

[электронная почта защищена]: ~ $ sudo nano / etc / fail2ban / jail.местный

Перейдите в [По умолчанию] и введите параметры конфигурации в [По умолчанию] раздел.

[ПО УМОЛЧАНИЮ]
ignoreip = 127.0.0.1/8 192.168.18.10/32
bantime = 300
maxretry = 2
findtime = 600

игнорировать это список маски cidr, IP-адреса или хоста DNS, разделенных пробелом. Добавьте свои доверенные IP-адреса в этот список, и эти IP-адреса будут внесены в белый список и не будут заблокированы fail2ban, даже если они выполнят атаку грубой силы на сервере.

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

максретри это максимальное количество неудачных попыток, после которых IP блокируется fail2ban на определенное время.

время поиска это количество времени, в течение которого хост делает максретри неудачные попытки, он будет заблокирован.

После настройки вышеуказанных параметров, теперь мы настроим сервис, к которому будут применяться вышеуказанные правила. По умолчанию Fail2ban имеет предопределенные фильтры для различных сервисов, поэтому нам не нужно вводить какие-либо конкретные записи для сервисов. Мы только включаем или отключаем разные службы в файле конфигурации. Откройте / etc / fail2ban / jail.локальный файл в вашем любимом редакторе.

[электронная почта защищена]: ~ $ sudo nano / etc / fail2ban / jail.местный

Найти [sshd] в файле и введите следующие параметры в разделе.

[sshd]
enable = true
порт = ssh
фильтр = sshd
logpath = / var / log / auth.бревно
maxretry = 3

включено определяет, защищена ли эта служба с помощью fail2ban или нет. Если включено - истина, то служба защищена; в противном случае он не защищен.

порт определяет сервисный порт.

фильтр относится к файлу конфигурации, который будет использовать fail2ban. По умолчанию он будет использовать / etc / fail2ban / filter.d / sshd.conf для службы ssh.

logpath определяет путь к журналам, fail2ban будет следить за защитой сервиса от различных атак. Для службы ssh журналы аутентификации можно найти в / var / log / auth.log, поэтому fail2ban будет отслеживать этот файл журнала и обновлять брандмауэр, обнаруживая неудачные попытки входа в систему.

максретри определяет количество неудачных попыток входа в систему, прежде чем они будут заблокированы fail2ban.

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

[электронная почта защищена]: ~ $ sudo systemctl restart fail2ban.услуга
[электронная почта защищена]: ~ $ sudo systemctl status fail2ban.услуга

Тестирование Fail2ban

Мы настроили fail2ban для защиты нашей системы от атак грубой силы на службу ssh. Теперь мы сделаем неудачные попытки входа в нашу систему из другой системы, чтобы проверить, работает ли fail2ban или нет. После нескольких неудачных попыток входа в систему мы проверим журналы fail2ban.

[электронная почта защищена]: ~ $ cat / var / log / fail2ban.бревно

Мы видим, что после неудачных попыток входа в систему IP был заблокирован fail2ban.

Мы можем получить список всех сервисов, для которых включен fail2ban, используя следующую команду.

[электронная почта защищена]: ~ $ sudo fail2ban-client status


На приведенном выше рисунке показано, что мы включили fail2ban только для службы sshd. Мы можем получить дополнительную информацию о службе sshd, указав имя службы в приведенной выше команде.

[электронная почта защищена]: ~ $ sudo fail2ban-client status sshd

Fail2ban автоматически разблокирует заблокированный IP-адрес после блокировки, но мы можем разблокировать любой IP-адрес в любое время с помощью командной строки. Это даст больше контроля над fail2ban. Используйте следующую команду, чтобы разблокировать IP-адрес.

[электронная почта защищена]: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43 год.35 год

Если вы попытаетесь разблокировать IP-адрес, который не заблокирован fail2ban, он просто сообщит вам, что IP-адрес не заблокирован.

[электронная почта защищена]: ~ $ sudo fail2ban-client set sshd unbanip 192.168.43 год.35 год

Заключение

Для системного администратора или инженера по безопасности поддержание безопасности серверов является большой проблемой. Если ваш сервер защищен паролем, а не парой открытого и закрытого ключей, то ваш сервер более уязвим для злоумышленников. Они могут попасть в вашу систему, применив разные комбинации паролей. Fail2ban - это инструмент, который может ограничить злоумышленники запускать различные виды атак, включая атаки грубой силы и DDoS-атаки на ваш сервер. В этом руководстве мы обсудили, как мы можем использовать Fail2ban для защиты нашего сервера от различных атак. Мы также можем использовать Fail2ban для защиты других сервисов, таких как apache, nginx и т. Д.

Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...
Как разработать игру в Linux
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д...
Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...