Linux: IPTABLES “banowanie” IP

fast800miniat_365041533IPTables to bardzo przydatny program w linuxie jeśli chodzi o zabezpieczanie systemu. Tym razem opiszę jak zablokować dany adres IP lub cały przedział IP tak, żeby nie mogło dostać się do komputera ani skorzystać z żadnej usługi na komputerze (w moim przypadku serwerze).

Wielu ludzi posiadając dostęp do internetu ze zmiennym IP myśli, że może wszystko robić bo nawet jeśli zostaną zablokowani na jednym adresie IP to reset połączenia z internetem i maja już nowe. Jednak co się stanie jeśli zostanie zbanowany cały przedział IP? Oczywiście zostaną zablokowani także niewinni użytkownicy internetu jednak często bezpieczeństwo serwera jest ważniejsze. Można oczywiście zrobić restrykcje, że dane IP nie będzie mogło się łączyć tylko z danymi portami, na których działają usługi (np. serwerem SSH). Niżej opisałem kolejno “Blokowanie jednego adresu IP” oraz “Blokowanie przedziału adresów IP”.

Blokowanie 1 IP

Możemy zablokować tylko wybrany adres IP (jeśli np. jest to sieć osiedlowa/osoba która ma stałe IP). W regułkach użyłem funkcji REJECT, ale można ustawić DROP. W tym celu edytujemy plik konfiguracyjny iptables (u mnie Debian: /etc/iptables.up.rules) i dodajemy wpis (najlepiej przed wszystkimi innymi regułami):

Blokowanie IP na każdym porcie:

# banuje adres IP 10.0.0.123 na wszystkich portach
-A INPUT -s 10.0.0.123 -j REJECT

Blokowanie IP na PORT TCP 22 (SSH):
# banuje adres IP 10.0.0.123 na PORT TCP 22
-A INPUT -s 10.0.0.123 -p tcp -m tcp –dport 22 -j REJECT

Blokowanie zakresu adresów IP

Przy blokowaniu przedziału adresów IP sprawa wygląda inaczej. Trzeba się tutaj troszeczkę zagłębić w CIDR (wikipedia: CIDR: Classless Inter-Domain Routing). Poniżej przykłady.

Blokowanie zakresu IP 10.0.0.0 do 10.0.255.255

# banuje zakres IP 10.0.0.0 do 10.0.255.255
-A INPUT -s 10.0.0.0/16 -j REJECT

Blokowanie zakresu IP 10.0.0.0 do 10.0.255.255 na PORT TCP 22


# banuje zakres IP 10.0.0.0 do 10.0.255.255 na PORT TCP 22
-A INPUT -s 10.0.0.0/16 -p tcp -m tcp –dport 22 -j REJECT

Podałem przykład blokowania zakresu dwóch ostatnich pól w adresie IP. Takim sposobem można zbanować całe miasto tak właściwie. CIDR /16 to maska podsieci 255.255.000.000 w tabeli. W przełożeniu na adres IP oznacza to ostatnie dwa pola w adresie IP czyli zakres 65536 adresów. Jeśli ktoś chce zbanować tylko całe ostatnie pole z danego zakresu to trzeba zastosować CIDR /24 czyli maska 255.255.255.000. W przełożeniu na adres IP oznacza to tylko ostatnie pole w adresie IP (czyli blokowanie np. zakresu 10.10.10.1 – 10.10.10.254).

Both comments and pings are currently closed.

One Response to “Linux: IPTABLES “banowanie” IP”

  1. Tomek pisze:

    przydatne

Powered by WordPress | Designed by: NewWpThemes | Provided by Free WordPress Themes