potencjalne konflikty ufw i fail2ban

45

Czy uruchomienie zarówno fail2ban, jak i ufw spowoduje problemy? Zauważyłem, że fail2ban modyfikuje reguły iptables, ale ufw już zdefiniował mnóstwo reguł iptables ... więc nie jestem pewien, czy fail2ban je zepsuje.

Adam Monsen
źródło
Która wersja Ubuntu ? („ufw” poprawił się nieznacznie między 10,04 LTS a 11.x )
David 6
@ david6: przepraszam, nie pamiętam, jaką wersję uruchomiłem, kiedy pierwotnie zadałem pytanie.
Adam Monsen

Odpowiedzi:

49

Możesz używać ufw i fail2b razem, ale jak wskazano wcześniej, kolejność reguł (ufw) jest ważna.

Po wyjęciu z pudełka fail2ban używa iptables i najpierw wstawia reguły w łańcuchu INPUT. Nie spowoduje to żadnej szkody ani konfliktu z ufw.

Jeśli chcesz w pełni zintegrować fail2ban, aby używać ufw (a nie iptables). Będziesz musiał edytować wiele plików, w tym

/etc/fail2ban/jail.local

jail.local to miejsce, w którym definiujesz swoje usługi, w tym port, na którym nasłuchują (pomyśl o zmianie ssh na port inny niż domyślny) i jakie działania podjąć.

** Uwaga *: Nigdy nie edytuj pliku jail.conf , należy wprowadzić zmiany jail.local! Ten plik zaczyna się od tego:

# 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

Korzystając z ssh jako przykładu, zwróć również uwagę na definicję portu innego niż domyślny =)

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

Następnie skonfigurujesz fail2ban do używania ufw w (jeden plik .conf dla każdej usługi)

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

Składnia jest następująca

[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

Uwaga: Skonfigurujesz fail2ban, aby używał ufw i wstawiał PIERWSZE reguły przy użyciu składni „insert 1”. Usunięcie znajdzie regułę bez względu na kolejność.

Jest ładny wpis na blogu, który bardziej szczegółowo tutaj

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

[EDYCJA] Dla Ubuntu 16.04+

domyślnie „ defaults-debian.conf/etc/fail2ban/jail.dz zawartością

[sshd]
enabled = true

aktywuje ochronę ssh dla fail2ban.

Musisz ustawić to na fałsz.

Następnie stwórz jail.local, tak jak zrobiłbyś to ogólnie, mój będzie taki:

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

W domyślnej instalacji fail2ban znajduje się już plik ufw.conf, więc nie trzeba go tworzyć.

Jedyną konkretną zmianą dla twojego jail.local byłaby linia działania, w której musisz umieścić aplikację dotyczącą ochrony i to, co chcesz uzyskać w wyniku.

ufw ma tendencję do automatycznego wykrywania określonej ilości aplikacji działających w sieci. Aby mieć listę wystarczy wpisać sudo ufw app list. Rozróżnia małe i wielkie litery.

przeładujesz fail2ban, a nie zobaczysz już łańcucha fail2ban, a jeśli jakikolwiek adres IP dostanie blok, zobaczysz go sudo ufw status

Pantera
źródło
7
Krótko mówiąc: bez wykonywania integracji, jak wyjaśniono, zarówno ufw, jak i fail2ban działają tak, jak powinny. Fail2ban wstawi swoje definicje blokowania przed zastosowaniem reguł ufw. Z drugiej strony, jeśli chcesz, aby bloki były wyświetlane ufw status, potrzebujesz integracji. Oprócz ufw statuspojawienia się bloków , nie byłoby innych korzyści? Szczególnie dlatego, że autor bloga mówi co następuje: po wyjęciu z pudełka fail2ban współpracuje z regułami iptables, jednak te nie grają ładny z naszych prostych poleceń UFW (...)
Bouke
1
Dokładnie. „Nie baw się dobrze” oznacza, że ​​nie pojawia się, gdy sprawdzasz je ze statusem ufw. Korzyści z integracji polegają na tym, że używasz jednego narzędzia, ufw, do zarządzania i wyświetlania reguł zapory. Nie ma nic złego w korzystaniu z fail2ban w stanie gotowym do użycia pod względem funkcji. Problem polegałby na tym, że aby zobaczyć reguły fail2ban, należy użyć iptables -L -v -n, i jak widać, przy użyciu ufw dane wyjściowe są długie i trudne do naśladowania. Zaletą integracji jest to, że reguły i składnia są łatwiejsze do zrozumienia (zakładając, że właśnie dlatego używasz ufw)
Panther
Dla przypomnienia, jeśli klikniesz gdziekolwiek w połączonej witrynie, nastąpi przekierowanie do złośliwego oprogramowania / adware.
Antonio Cangiano,
@AntonioCangiano - Link działa tutaj dobrze, sprawdź swoją przeglądarkę i DNS
Panther
@ bodhi.zazen Każde kliknięcie połączonego artykułu przekieruje na nieuczciwą stronę internetową, jak słusznie zauważył Antonio. Niechętnie korzystam z porad dotyczących bezpieczeństwa z takiego artykułu.
Goran Miskovic
4

Używam fail2ban i ufw od lat na kilku różnych komputerach i nigdy nie miałem żadnych problemów. Aby skonfigurować fail2ban:

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

Teraz edytuj plik tak, jak chcesz, na przykład jeśli chcesz zablokować nieautoryzowane ssh, znajdź linie:

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

jeśli „włączone” jest ustawione na „fałsz”, zmień to na „prawda”, jak wspomniano tutaj. Po ustawieniu reguł musisz ponownie uruchomić proces fail2ban:

sudo /etc/init.d/fail2ban restart

Jeśli otworzyłeś port 22 na swojej zaporze ufw fail2ban zablokuje klientów, którzy próbują połączyć się więcej niż 6 razy bez powodzenia, nie zepsuje twojej zapory.

enedene
źródło
4

Zainstalowanie 0.9.5 fail2ban zawierało ufwakcję, którą po prostu musiałem ustawić dlabanaction

Carson Reinke
źródło
2
Dla przypomnienia, akcja jest obecna również w wersji 0.8.13
Joril