потенційні конфлікти ufw та fail2ban


45

Чи спричинить проблеми як fail2ban, так і ufw? Я помітив, що fail2ban змінює правила iptables, але у ufw вже визначена маса правил iptables ... тому я не впевнений, чи fail2ban зіб'є їх з цим.


Яка версія Ubuntu ? ('ufw' трохи покращився між 10.04 LTS та 11.x )
david6

@ david6: вибачте, я не пригадую, в якій версії я працював, коли я спочатку задав питання.
Адам Монсен

Відповіді:


49

Ви можете використовувати ufw та fail2b разом, але, як було зазначено раніше, важливим є порядок (ufw) правил.

Поза програмою fail2ban використовує iptables та вставляє правила спочатку у ланцюг INPUT. Це не принесе шкоди або конфлікту з ufw.

Якщо ви хочете повністю інтегрувати fail2ban, використовуйте ufw (а не iptables). Вам потрібно буде відредагувати ряд файлів, у тому числі

/etc/fail2ban/jail.local

jail.local - це місце, де ви визначаєте свої послуги, включаючи, який порт вони слухають (подумайте про зміну ssh на порт, який не використовується за замовчуванням) та які дії потрібно вжити.

** Зверніть увагу *: ніколи не редагуйте jail.conf , ваші зміни слід внести jail.local! Цей файл починається з цього:

# Changes:  in most of the cases you should not modify this
#           file, but provide customizations in jail.local file,
#           or separate .conf files under jail.d/ directory

Використовуючи ssh як приклад, відзначте також визначення порту, який не використовується за замовчуванням =)

[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

Потім ви налаштуєте fail2ban для використання ufw in (один .conf файл для кожної служби)

/etc/fail2ban/action.d/ufw-ssh.conf

Синтаксис є

[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH

Примітка: Ви налаштовуєте fail2ban на використання ufw та вставлення нових правил ПЕРШИЙ, використовуючи синтаксис "вставити 1". Видалення знайде правило незалежно від порядку.

Тут є приємна публікація в блозі, яка детальніше тут

http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/

[EDIT] Для ubuntu 16.04 або новішої версії

за замовчуванням " defaults-debian.conf" in /etc/fail2ban/jail.dіз вмістом

[sshd]
enabled = true

активує ssh захист fail2ban.

Потрібно поставити це помилково.

Тоді створіть jail.local, як ви б робили в цілому, моє буде таким:

[ssh-with-ufw] 
enabled = true 
port = 22 
filter = sshd 
action = ufw[application="OpenSSH", blocktype=reject] 
logpath = /var/log/auth.log 
maxretry = 3

У програмі fail2ban за замовчуванням вже є ufw.conf, тому її не потрібно створювати.

Єдиною специфічною для вас зміною jail.local буде діяти там, де вам потрібно поставити відповідний додаток для захисту та що ви хочете отримати в результаті.

ufw прагне автоматично виявляти певну кількість додатків, що працюють в мережі. Щоб мати список, просто введіть sudo ufw app list. Це залежно від регістру.

перезавантажте fail2ban, і ви більше не побачите ланцюг fail2ban, і якщо якийсь IP отримає блок, ви побачите його sudo ufw status


7
Отже, коротко: не роблячи інтеграції, як пояснено, і ufw і fail2ban працюють як слід. Fail2ban вставить свої блокуючі визначення до застосування правил ufw. З іншого боку, якщо ви хочете, щоб блоки відображалися ufw status, вам потрібна інтеграція. Окрім того, що блоки з'являтимуться ufw status, не було б ніякої іншої вигоди? Тим більше, що автор блогу каже наступне: Поза Fail2ban працює з правилами iptables, однак вони не грають добре з нашими простішими командами UFW (...)
бук

1
Саме так. "Не грай добре" прирівнюється до того, що вони не відображаються, коли ви перевіряєте їх зі статусом ufw. Переваги інтеграції полягають у тому, що ви використовуєте один інструмент, ufw, для керування та відображення правил брандмауера. Немає нічого поганого в використанні fail2ban, як це є, поза коробкою, з точки зору функції. Проблема полягає в тому, що для перегляду правил fail2ban вам потрібно буде використовувати iptables -L -v -n, і, як ви вже бачите, при використанні ufw висновок тривалий і складний. Перевага інтеграції полягає в тому, що правила та синтаксис потім легше зрозуміти (якщо припустити, що ви в першу чергу використовуєте ufw)
Panther

Для запису, якщо ви натиснете будь-де на веб-сайті, на який ви пов’язали, ви будете перенаправлені на зловмисне / рекламне програмне забезпечення.
Антоніо Канджано

@AntonioCangiano - Посилання працює тут добре, перевірте свій браузер і DNS
Panther

@ bodhi.zazen Будь-який натискання на пов’язану статтю перенаправить на веб-сайт ізгоїв, як правильно вказав Антоніо. Я неохоче приймаю поради щодо безпеки з такої статті.
Горан Мішкович

4

Я використовую fail2ban та ufw роками на кількох різних комп’ютерах, і жодних проблем не виникало. Щоб налаштувати fail2ban:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano jail.local

Тепер відредагуйте файл за своїм бажанням, наприклад, якщо ви хочете заблокувати несанкціонований ssh, знайдіть рядки:

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

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

sudo /etc/init.d/fail2ban restart

Якщо ви відкрили порт 22 свого брандмауера ufw fail2ban, забороняєте клієнтам, які намагаються підключитися більше ніж 6 разів без успіху, він не порушить ваш брандмауер.


4

Встановлення 0,9,5 fail2ban включало в себе ufwдію, яку мені просто довелося встановити дляbanaction


2
Для запису дія присутня і у версії 0.8.13
Йоріл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.