Mam Fail2Ban uruchomiony na moim Centos Server. (Konfiguracja poniżej)
W moim var / log / messages zauważyłem coś naprawdę dziwnego:
Jun 19 12:09:32 localhost fail2ban.actions: INFO [postfix] 114.43.245.205 already banned
Skonfigurowałem Fail2Ban, aby dodać zablokowany adres IP do iptables.
Moje jail.conf:
[postfix]
enabled = true
filter = postfix
action = iptables
port = smtp,ssmtp
filter = postfix
logpath = /var/log/maillog
bantime = 43200
maxretry = 2
Mój postfix.conf:
[INCLUDES]
before = common.conf
[Definition]
failregex = reject: RCPT from (.*)\[<HOST>\]: 550 5.1.1
reject: RCPT from (.*)\[<HOST>\]: 450 4.7.1
reject: RCPT from (.*)\[<HOST>\]: 554 5.7.1
reject: RCPT from (.*)\[<HOST>\]: (.*)@yahoo.com.tw
ignoreregex =
Moje pytanie brzmi: w jaki sposób ktoś, kto został już zablokowany, może iptables
nadal łączyć się z serwerem?
iptables -L -nv
swojego pytania?Odpowiedzi:
Ponowne więzienie zalecane w innej odpowiedzi tutaj nie rozwiązało problemu. W końcu jednak to naprawiłem, więc oto moja metoda na wypadek, gdyby pomogła innym.
Fail2ban domyślnie blokuje tylko TCP. Przynajmniej z moją konfiguracją zauważyłem, że komunikat „już zbanowany” pojawił się, gdy boty wróciły, aby zamiast tego spróbować zablokowanego portu przez UDP.
Aby rozwiązać ten problem, powiedz Fail2ban, aby zablokował port dla wszystkich protokołów zamiast tylko TCP. Musisz wprowadzić tę zmianę w /etc/fail2ban/jail.conf oraz w sekcji [Init] każdej akcji, której używasz na /etc/fail2ban/action.d/ .
Zmień to:
Do:
Następnie wyłączyłem żądania echa ICMP, więc zablokowane adresy IP nie mogły uzyskać dostępu do serwera:
Dodaj te dwie linie:
Następnie uruchom przeładowanie klienta fail2ban i nie powinieneś już widzieć tych „już zbanowanych” wiadomości, chyba że zostaniesz spamowany przez IP, który dostanie kilka prób dostępu, zanim blok zacznie obowiązywać.
Ważne jest również, aby zablokować wszystkie porty dla każdego przestępcy, a nie port, do którego próbowano uzyskać dostęp, używając akcji iptables-allports w każdym z Jailów. W przeciwnym razie mogą wywołać kolejne Więzienie i skończyć jako „już zbanowane” w dziennikach.
źródło
/etc/fail2ban/jail.local
niektórych filtrach są,action = iptables-multiport[name=apache-myadmin, port="http,https", protocol=tcp]
a niektóre nie, czy powinienem je wszystkie zmienić? Czy powinienem coś zmienić/etc/fail2ban/filter.d
?-p tcp',
-p udp ',-p udplite',
-p sctp' lub` -p dccp '”Jeśli spojrzysz na wynik
iptables-save
, zobaczysz, żefail2ban
łańcuchy są skonfigurowane, więc oceniają pakiety zgodnie z regułami określonymi przez filtry, na przykład:Ruch nadal dociera do serwera, zanim zostaną zastosowane inne reguły routingu, a ruch zostanie odrzucony.
fail2ban
wciąż widzi ten początkowy ruch i dlatego widzisz komunikaty „już zbanowane”. Ponadto istnieje specjalny filtr dla recidivists (/etc/fail2ban/filter.d/recidive.conf
):źródło
Stanie się tak, jeśli zabroniony adres IP nie jest faktycznie adresem IP klienta łączącego się z serwerem. Np. Jeśli twój serwer znajduje się za modułem równoważenia obciążenia lub serwerem proxy.
Ostatnio zajęło mi to trochę czasu. Czerwony śledź polegał na tym, że dzienniki zostały skonfigurowane do przechwytywania
X-Forwarded-For
adresu IP zamiast rzeczywistego adresu źródłowego, który w moim przypadku był modułem równoważącym obciążenie.W tym przypadku fail2ban nie jest zbyt pomocny, ponieważ zakazanie obrażającego adresu IP spowoduje zablokowanie całego ruchu.
źródło
Chcę przyczynić się do rozwiązania mojego problemu za pomocą wiadomości „już zbanowanych”. Jak pisałeś, miałem ich setki w ciągu kilku minut, podczas gdy napastnik powinien był zostać już zbanowany.
Zanim zacznę, oto mój system:
Kiedy zainstalowałem OpenVPN na moim serwerze root, przełączyłem firewalld na iptables. Mogło to spowodować dla mnie ten problem, ale poza tym mój system był w większości nietknięty i całkiem świeżo zainstalowany (Strato rootserver sugerował instalację obrazu).
Jeśli masz ten problem, sprawdź /etc/fail2ban/jail.d/00-firewalld.conf dla linii, która wygląda następująco:
Od momentu, kiedy to skomentowałem, zapisałem plik i uruchomiłem ponownie
fail2ban.service
, wszystko było w porządku z fail2ban. Żadnych więcej wiadomościNie jestem ekspertem, ale mam nadzieję udzielić właściwej odpowiedzi. Jeśli to Ci odpowiada, daj mi znać!
źródło
Połączył się z serwerem tylko jeden raz, ale w tym jednym połączeniu próbował dostarczyć wiele e-maili do prawdopodobnie nieistniejących skrzynek pocztowych (takich jak [email protected], [email protected], [email protected] itp.)
Skonfigurowałeś filtr Postfiksa, aby blokować te próby, aby IP został zbanowany po X próbach. Klient może być już odłączony od Postfixa, ale ponieważ postfix nie zakończył przetwarzania całej swojej wiadomości e-mail, fail2ban może wykryć kolejną próbę od tego samego klienta, gdy postfix przetwarza pocztę, a zatem adres wiadomości jest już zbanowany. Wynika to z tego, jak działa kolejka Postfix.
źródło
Niesamowite dobre pytanie. Szukałem, czy moje reguły zapory nie działają, ale są
iptables --list-rules
dokładnie dopasowane do innego serwera produkcyjnego z działającym fail2ban.Pomysłowym rozwiązaniem było dodanie portu 8080 do zablokowanych portów, ponieważ nadal uzyskiwałem dostęp do strony logowania przez porty programistyczne.
Więc poprawką w mojej sytuacji jest to, że ten problem był dość prostą adaptacją mojego
jail.local
:źródło
patrz /unix//a/525798/22315
prawdopodobnie brakuje portu 587 w wierszu „port =” i można sprawdzić plik konfiguracyjny Postfiksa lub wykonać polecenie „lsof -i: 587”, aby dowiedzieć się bezpośrednio, czy Postfix został skonfigurowany do otwierania tego portu.
źródło