Безпека

Як налаштувати IPS (Fail2ban) для захисту від різних атак

Як налаштувати IPS (Fail2ban) для захисту від різних атак

IPS або система запобігання вторгненню - це технологія, що використовується в мережевій безпеці для перевірки мережевого трафіку та запобігання різним атакам шляхом виявлення зловмисних входів. Окрім просто виявлення шкідливих входів, як це робить система виявлення вторгнень, це також запобігає мережі від зловмисних атак. Це може запобігти грубому застосуванню мережі, DoS (відмова в обслуговуванні), DDoS (розподілена відмова в обслуговуванні), експлойти, хробаки, віруси та інші поширені атаки. IPS розміщуються відразу за брандмауером, і вони можуть надсилати сигнали тривоги, скидати шкідливі пакети та блокувати порушуючі IP-адреси. У цьому підручнику ми використовуватимемо Fail2ban, який є програмним забезпеченням для запобігання вторгненню, щоб додати рівень захисту від різних атак грубої сили.

Як працює Fail2ban

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

Встановлення Fail2ban

Fail2ban не встановлюється попередньо на Ubuntu, тому перед його використанням ми повинні його встановити.

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

Після встановлення Fail2ban запустіть і ввімкніть службу Fail2ban за допомогою командного рядка.

[захищено електронною поштою]: ~ $ sudo systemctl start fail2ban
[захищено електронною поштою]: ~ $ sudo systemctl увімкнути fail2ban


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

[захищено електронною поштою]: ~ $ sudo systemctl статус fail2ban

Налаштування Fail2ban для SSH

Ми можемо налаштувати Fail2ban, змінивши / etc / fail2ban / jail.конф. файл. Перш ніж змінювати його, зробіть резервну копію цього файлу.

[захищено електронною поштою]: ~ $ sudo cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.місцеві

Тепер ми налаштуємо Fail2ban для запобігання службі sshd від зловмисних входів. Відкрийте / etc / fail2ban / jail.локальний файл у вашому улюбленому редакторі.

[захищено електронною поштою]: ~ $ sudo nano / etc / fail2ban / jail.місцеві

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

[ЗАВДАННЯ]
ignoreip = 127.0.0.1/8 192.168.18.10/32
бантим = 300
maxretry = 2
час знаходження = 600

ignoreip - це список маски 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 чи ні. Якщо увімкнено значення true, то послуга захищена; в іншому випадку він не захищений.

порт визначає порт обслуговування.

фільтр посилається на файл конфігурації, який використовуватиме fail2ban. За замовчуванням він буде використовувати / etc / fail2ban / filter.д / сшд.конф. файл для служби ssh -.

шлях до журналу визначає шлях до журналів, fail2ban контролюватиме, щоб захистити службу від різних атак. Для служби ssh журнали автентифікації можна знайти за адресою / var / log / auth.log, тому fail2ban буде контролювати цей файл журналу та оновити брандмауер, виявляючи невдалі спроби входу.

максретрі визначає кількість невдалих спроб входу в систему перед блокуванням fail2ban.

Після застосування вищевказаної конфігурації для fail2ban, перезапустіть службу, щоб зберегти зміни.

[захищено електронною поштою]: ~ $ sudo systemctl перезапустити fail2ban.обслуговування
[захищено електронною поштою]: ~ $ sudo systemctl статус fail2ban.обслуговування

Тестування Fail2ban

Ми налаштували fail2ban для захисту нашої системи від атак грубої сили на службу ssh. Тепер ми зробимо невдалі спроби входу в систему з іншої системи, щоб перевірити, працює fail2ban чи ні. Після деяких невдалих спроб входу зараз ми перевіримо журнали fail2ban.

[захищено електронною поштою]: ~ $ cat / var / log / fail2ban.журнал

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

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

[захищено електронною поштою]: ~ $ sudo fail2ban-статус клієнта


Наведений малюнок показує, що ми ввімкнули 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 тощо.

OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...