Aby zapobiec brutalnym atakom na ssh, dodałem kilka reguł iptables (poniżej). Pytanie brzmi: jak mogę wyświetlić listę zablokowanych adresów IP?
(1)
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
iptables -L INPUT -v -n
pokazuje wszystkie zablokowane IPOdpowiedzi:
Jedną z opcji byłoby zalogowanie dowolnego z upuszczonych pakietów przy użyciu reguły takiej jak:
Wstaw to bezpośrednio przed
DROP
regułą. Następnie możesz grepować plik syslog na cokolwiek z „FW_DROPPED” w nim, a lista adresów IP będzie tam. Wpisy w pliku dziennika wyglądają mniej więcej tak:Więc wycięcie tego, co następuje po „SRC =”, pokaże ci upuszczone adresy IP. Posortuj to, eliminując duplikaty, a będziesz mieć swoją listę.
Uważam, że samouczek Iptables jest najbardziej przydatną dokumentacją dla iptables / netfilter.
źródło
Możesz znaleźć szczegóły w / proc / net / ipt_recent / SSH.
Ten artykuł zawiera więcej informacji.
źródło
Patrzeć na
/proc/net/ipt_recent/YOURNAME
gdzie YOURNAME to nazwa użyta z opcją --name w regule iptables.
źródło
/proc/net/xt_recent/[list-name]
Oto prosty jeden linijka:
źródło
To, co robię, na przykład w celu fałszowania adresów wejściowych, to zdefiniowanie łańcucha
SPOOF_REJECT
:następnie, aby wysłać pakiety do tego łańcucha, jeśli są sfałszowane:
Możesz zrobić coś takiego dla każdej kategorii pakietów, które upuszczasz lub odrzucasz, aby uzyskać linię w dzienniku systemowym do wyszukiwania, a następnie okresowo grep, wytnij, sortuj, aby uzyskać tylko adresy IP z tych linii dziennika.
Zaletą korzystania z poszczególnych łańcuchów dla każdej kategorii jest to, że konfiguracja staje się prostsza i łatwiejsza do odczytania
iptables
. Gdy dodajesz coraz więcej reguł, będziesz zadowolony, że użyłeś poszczególnych łańcuchów do konkretnych różnych działań.źródło
„Pytanie brzmi: jak mogę wyświetlić listę zablokowanych adresów IP?”
Utwórz łańcuch BANNED:
Utwórz łańcuch rejestrowania:
Dodaj skok do zbanowanego łańcucha w łańcuchu INPUT przed większością innych reguł
Teraz dodaj adresy ip do zbanowanego łańcucha:
Możesz także używać go jako bazy danych z opcjami komentowania, dzięki czemu możesz wiedzieć, kiedy i dlaczego itp. Flokowanie jest ważne, gdy iptables jest często aktualizowany przez wiele procesów - wygląda na to, że iptables nie ma wbudowanego żadnego blokowania.
Aby wyświetlić zabronione adresy i reguły w zbanowanym łańcuchu:
Aby wyświetlić tylko posortowane unikalne adresy IP:
Mam kilka demonów działających na moich serwerach sprawdzających pliki syslog i blogi, więc jeśli ktoś spróbuje czegoś paskudnego, ich adres jest automatycznie blokowany na kilka dni, w zależności od rodzaju i ciężkości oraz liczby wcześniejszych ataków. Informacje są rejestrowane w bazie danych mysql i okresowo wygasają. Adresy są również dystrybuowane na każdą inną maszynę w klastrze za pośrednictwem replikacji mysql, dzięki czemu są również chronione i synchronizowane. Moje oprogramowanie wyszukuje również właściciela sieci i wysyła skargę do dostawcy usług internetowych.
Po 10 latach pracy mam nadzieję, że wkrótce będzie dostępna dla wszystkich. Obecnie mam około 1,5 miliona historii adresów IP i setki tysięcy ataków pocztowych i ssh, które pomagają oczyścić sieć. Jeśli więcej z niego skorzysta, to mam nadzieję, że będzie to miało większy wpływ.
źródło