Iptables - pytanie o teori

Masz problemy z siecią bądź internetem? Zapytaj tu
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Iptables - pytanie o teorię

Post autor: LordRuthwen »

Witam.
Zadam wam takie dość podstawowe pytanie, aczkolwiek nurtujące mnie od jakiegoś czasu.
Najpierw powinno się blokować a potem zezwalać czy najpierw zezwalać a potem blokować?
Np:
Chcąc zablokować ruch po porcie 25 dla jakiegoś hosta trzeba to zrobić tak:

Kod: Zaznacz cały

iptables -P INPUT DROP
iptables -P FORWARD DROP
.
.
.
iptables -A INPUT -t filter -i eth0 -m mac --mac-source AA:AA:AA:AA:AA:AA -s 192.168.0.2 -j ACCEPT
iptables -A FORWARD -t filter -i eth0 -m mac --mac-source AA:AA:AA:AA:AA:AA -s 192.168.0.2 -j ACCEPT
iptables -A INPUT -t filter -i eth0 -p tcp -s 192.168.0.2/32 --dport 25 -j DROP
czy tak:

Kod: Zaznacz cały

iptables -P INPUT DROP
iptables -P FORWARD DROP
.
.
.
iptables -A INPUT -t filter -i eth0 -p tcp -s 192.168.0.2/32 --dport 25 -j DROP
iptables -A INPUT -t filter -i eth0 -m mac --mac-source AA:AA:AA:AA:AA:AA -s 192.168.0.2 -j ACCEPT
iptables -A FORWARD -t filter -i eth0 -m mac --mac-source AA:AA:AA:AA:AA:AA -s 192.168.0.2 -j ACCEPT
Pytam, bo właśnie jeden gość sieje mi spamem po porcie 25 i wszelkie próby kontaktu z nim zawodzą a dostałem już wiadomość na abuse.
goofy
Posty: 96
Rejestracja: 06 września 2008, 12:01

Post autor: goofy »

Wykonywana jest pierwsza pasujaca regula. Jezeli najpierw puszczasz wszystko, lacznie z portem 25, to reszta nie bedzie juz sprawdzana. Moim zdaniem, najpierw powinienes blokowac.
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Nie ma łańcucha mangle, za to jest tablica. Pakiety przechodzą przez nią przed tablicami nat i filter. Każda z tych tablic ma takie same łańcuchy.
Co do pytania, ja bym przepuścił to co chcę, resztę domyślna polityka odrzuci.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Czyli, że jakbym to puścił przez mangle to nie miałaby znaczenia kolejność?
Awatar użytkownika
Yampress
Administrator
Posty: 6423
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress »

sa dwie różne szkoły albo tak albo tak.
bzyk_

Post autor: bzyk_ »

Ja bym sie w niepotrzebne uzywanie mangle nie bawil. Generalna zasada z iptalbes jest taka; tworzy sie jak najprostsze i najkrotsze reguly, bo pozniej bardzo latwo sie przy tym pogubic. A, i w Twojej konkretnie sprawie przydaje sie bardzo sztuczka lemata;

Kod: Zaznacz cały

modprobe ipt_recent ip_list_tot=32
iptables -A FORWARD -m state  --state RELATED, ESTABLISHED -j ACCEPT
iptables -A FORWARD -p tcp  --dport 25 -m recent --name SMTP --seconds 60 --update -j DROP
iptables  -A FORWARD -p tcp --dport 25 -m limit --limit 1/second --limit-burst 5  -j LOG --log-level info --log-prefix "smtp "
iptables -A FORWARD -p  tcp --dport 25 -m recent --name SMTP --set -j ACCEPT
Stosuje na to roznych maszynach (w sieciach +300 ludzi) i sprawuje sie znakomicie.
Po wiecej odsylam do zrodla;
http://www.lemat.priv.pl/index.php?m=page&pg_id=78
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Kod: Zaznacz cały

iptables -A INPUT -t filter -i eth0 -p tcp -s !192.168.0.2/32 --dport 25 -j ACCEPT
Jako pierwsze - najefektywniej.

Najpierw przepuszcza się tych co chcesz przepuścić a ci, których nie chcesz, powinni poczekać na swojego DROP-a, nie sądzisz? :)
ODPOWIEDZ