Blokuj zakres adresów IP


48

Jestem bombardowany próbami włamań z Chin, wszystkie o podobnych adresach IP.

Jak zablokować zakres adresów IP za pomocą czegoś takiego jak 116.10.191. * Itp.

Używam Ubuntu Server 13.10.

Obecna linia, której używam to:

sudo /sbin/iptables -A INPUT -s 116.10.191.207 -j DROP

To pozwala mi tylko blokować każdy z nich na raz, ale hakerzy zmieniają adresy IP przy każdej próbie.


4
powinieneś rzucić okiem na fail2ban, który jest naprawdę dobry w dynamicznym blokowaniu uciążliwych adresów IP.
user9517 obsługuje GoFundMonica

Lubię również dodać knockd, aby wyeliminować praktycznie 100% nieudanych prób dostępu z moich logów. help.ubuntu.com/community/PortKnocking
Bruno Bronosky

pam_shield może tu być pomocny. github.com/jtniehof/pam_shield
Daniel

Odpowiedzi:


86

Aby zablokować adresy 116.10.191. *:

$ sudo iptables -A INPUT -s 116.10.191.0/24 -j DROP

Aby zablokować adresy 116.10. *. *:

$ sudo iptables -A INPUT -s 116.10.0.0/16 -j DROP

Aby zablokować adresy 116. *. *. *:

$ sudo iptables -A INPUT -s 116.0.0.0/8 -j DROP

Ale uważaj, co blokujesz za pomocą tej metody. Nie chcesz uniemożliwiać ruchowi osób uprawnionych docierających do hosta.

edycja : jak wskazano, iptables ocenia reguły w kolejności sekwencyjnej. Reguły znajdujące się wyżej w zestawie reguł są stosowane przed regułami znajdującymi się niżej w zestawie reguł. Więc jeśli w twoim zestawie reguł znajduje się reguła, która zezwala na wspomniany ruch, to dodanie ( iptables -A) reguły DROP nie da zamierzonego wyniku blokowania. W takim przypadku wstaw ( iptables -I) regułę:

  • jako pierwsza zasada

sudo iptables -I ...

  • lub przed regułą zezwalającą

sudo iptables --line-numbers -vnL

powiedzmy, że pokazuje regułę numer 3 zezwala na ruch ssh i chcesz zablokować ssh dla zakresu ip. -Ipobiera argument liczby całkowitej, która jest lokalizacją w twoim zestawie reguł, do którego chcesz wstawić nową regułę

iptables -I 2 ...


Sprawdź arin.net i zablokuj cały zakres posiadanych przez Amsterdam zakresów adresów IP . To miejsce RIPE z sondami-pająkami - wątpię, czy stamtąd wydobywa się legalny ruch.
WEBjuju

należy pamiętać, że może to nie działać w zależności od kolejności reguł iptable , patrz odpowiedź serverfault.com/a/507502/1
Jeff Atwood

2
o snap @JeffAtwood Jestem zaszczycony twoim komentarzem. odpowiedź zaktualizowana;)
Creek

A jak odblokować pewien zakres?
bzero,

11

sudo /sbin/iptables -A INPUT -s 116.10.191.0/24 -j DROP

To blokuje zasięg. W razie potrzeby można rozwinąć podsieć za pomocą tego samego ogólnego formatu.


czy to zadziała na całym 4 zestawie? Podobnie jak 0/24 tylko 0-24. Próbowałem na przykład 500, ale to nie działało. Czy 0/24 obejmie wszystkie pozostałe liczby w latach 100. i 200.
Stephen Cioffi

3
@Stephen Jest to zakres CIDR. Jeśli chcesz obliczyć dla innego zakresu, użyj tego: subnet-calculator.com/cidr.php
Nathan C

4

Jako alternatywne podejście możesz użyć czegoś tak prostego jak fail2ban. Ustanawia limit czasu dla kolejnych nieudanych prób logowania i sprawia, że ​​brutowanie jest niemożliwe, ponieważ mają tylko kilka szans na przekroczenie limitu czasu. Ustawiłem swój czas oczekiwania na 30 minut. Zanim nadejdą godzinę lub dwie, zdają sobie sprawę, że nie będą w stanie zrobić żadnego postępu i się poddać.


Również blokowanie całych krajów może hamować autoryzowane użycie.
Esa Jokinen

Zdaję sobie sprawę, że ten wątek ma ponad rok, ale chciałem, aby ludzie coś wiedzieli. Mam zainstalowany i uruchomiony fail2ban, ale regularnie sprawdzam także logi serwera. Istnieje zakres adresów IP 89.248.x.x, który próbuje wypróbować różne loginy e-mail z grubsza po godzinie od ostatniej próby w ciągu dnia. Najwyraźniej utrzymywanie findtimetrybu fail2ban na 30 minut nie jest już wystarczające, aby powstrzymać każdego nieprzyjemnego skrypciarza.
Tanzeel Kazi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.