Netfilter – recent

Iptables, Ściąga Admina Komentarze (0) »

RECENT

1) iptables -A FORWARD -m recent –name dupa –update –seconds 30 –hitcount 3 -j DROP
2) iptables -A FORWARD -p tcp –dport 3000 -m recent –name –set

1) określone pakiety oznaczone „dupa” uaktualniaj od ostatniego, zwracaj uwagę tylko na te które przyszły w trójkę w przedziale 30 sekund a na wszystkich pozostałych wykonaj regułę DROP
2) ustaw określonym pakietom nazwę „dupa”

–hitcount sprawdza określoną liczbę trafionych pakietów w okresie czasu –seconds
–set dodaje pakiet żródłowy do listy, jeżeli jest na liście to robi jego update
–rcheck sprawdza czy pojawił się pakiet o określonej nazwie w ciągu sekund określonych parametrem –seconds, jeżeli przykładowo leci 10 pakietów to zapisuje czas pierwszego złapanego i jeżeli pojawią się następne to ten z nich, który pojawił się po czasie –seconds znowu przechodzi
–update działa inaczej niż –rcheck ponieważ zapisuje czas ostatniego złapanego pakietu i dopiero musi upłynąć czas –seconds bez transmisji jakichkolwiek wskazanych pakietów aby mogły przejść
–rsource,–rdest aby nie pisać reguł dla każdego usera można znaczyć je po źródle lub przeznaczeniu
parametry –set –rcheck –update –remove mogą się pojawić tylko pojedynczo w regule iptables

Netfilter – limit

Iptables, Usługi Komentarze (0) »

LIMIT

1) iptables -A FORWARD -p tcp –dport 3000 -m limit –limit 3/minute –limit-burst 4 -j ACCEPT
2) iptables -A FORWARD -p tcp –dport 3000 -j DROP

1) Gdy wskazany pakiet wystąpi pierwszy raz to wykonaj regułę ACCEPT na czterech pakietach, następnie czekaj przez czas określony współczynnnikiem 3/minute tzn. 20 sekund i wykonaj regułę ACCEPT na jednym pakiecie, ale jeśli po 20 sekundach nie pojawi się żaden wskazany pakiet a pojawi się dopiero po 40 sekundach od pierwszych trzech to zastosuj regułę do dwóch pakietów, ale jeśli ani po 20 ani po 40 nie pojawi się żaden wskazany pakiet a pojawi się dopiero po 60 sekundach od pierwszych trzech to zastosuj regułę do trzech pakietów itd.
Jak pisze Bromirski, każde 20 sekund które minie bez pakietu, który pasowałby do tej reguły, spowoduje odnowienie jednego numeru z serii, jeśli żaden pakiet nie będzie pasował do reguły w ciągu 80 sekund, seria zostanie w pełni odnowiona do 4 sztuk tak jak zaczęliśmy.

IIII <—- 20s —-> I
IIII <—- 20s —-> <—- 20s —-> II
IIII <—- 20s —-> <—- 20s —-> <—- 20s —-> III
IIII <—- 20s —-> <—- 20s —-> <—- 20s —-> <—- 20s —-> IIII

–limit x/second,minute,hour,day określa przedział czasowy pomiędzy seriami
–limit-burst x określa ilość pakietów w pierwszej serii

Logowanie użytkowników

Iptables, Ściąga Admina Komentarze (0) »

Logowanie użytkowników

Pomijając aspekty prawne niezwykle przydatne jest logowanie ruchu użytkowników, o zaletach posiadania takich logów nie muszę chyba nikogo przekonywać.

Oczywiste jest że logowanie wszystkich pakietów jakie generują komputery naszych użytkowników jest mało możliwe, przynajmniej ze względu pojemności dysków twardych.
Dlatego też zajmiemy się logowaniem tylko i wyłącznie nowych połączeń.

Oto najprostsza metoda:

$fw -t nat -A PREROUTING -i eth1 -p tcp -j LOG -m state –state NEW –log-level 7 –log-prefix „Logowanie userow ”

Karta eth1 to oczywiście karta wewnętrzna naszej sieci.

Teraz w logach pojawiają się nam wpisy z prefixem „Logowanie userow”, co z nimi zrobimy zależy od fantazji admina. Ze swojej strony życzę aby jak najrzadziej udostępniać je smutnym panom.

Liczenie maszyn w sieci

Iptables, Ściąga Admina Komentarze (0) »

Często stajemy przed zadaniem policzenia ilości aktywnych użytkowników w sieci lub stopnia wykorzystania adresów IP.
Nic prostszego, z pomocą przychodzi nam hashlimit:

#liczymy maszyny

iptables -A PREROUTING -i eth1 -t mangle -m hashlimit \
–hashlimit 1/min \
–hashlimit-mode srcip \
–hashlimit-burst 1 \
–hashlimit-name „ip_count” \
–hashlimit-htable-size 10000 \
–hashlimit-htable-max 10000 \
–hashlimit-htable-expire 60000 \
-j MARK –set-mark 5555

Oczywiście karta eth1 to karta wewnętrzna naszej sieci, nie liczymy tego co do nas przychodzi tylko to co wychodzi z naszej sieci.

Ok, super. Teraz jak odczytać ilość użytkowników?

Tak:
wc -l /proc/net/ipt_hashlimit/ip_count | awk ‚{print $1}’

Dalej już mrtg, rdd lub co kto lubi.

Walka z wirusami

Iptables, Ściąga Admina Komentarze (0) »

Walka z wirusami.
Iptables można zaprząc do pomocy w walce z wirusami typu saser/blaster oraz wirusami spamującymi.
Oto rozwiązanie jakie mam uruchomione w swoich sieciach, jak na razie sprawdza się całkiem przyzwoicie.
$fw -N worms
$fw -A FORWARD -j worms
$fw -A worms -i \! eth0 -p tcp -m tcp –dport 445 -m recent –set –name saser –rsource
$fw -A worms -i \! eth0 -m recent –rcheck –seconds 10 –hitcount 20 –name saser –rsource -j LOG
$fw -t nat -A PREROUTING -p tcp -m recent –rcheck –seconds 10 –name saser –rsource -j DROP
$fw -A worms -i \! eth0 -p tcp -m tcp –dport 135 -m recent –set –name blaster –rsource
$fw -A worms -i \! eth0 -m recent –rcheck –seconds 10 –hitcount 20 –name blaster –rsource -j LOG
$fw -t nat -A PREROUTING -p tcp -m recent –rcheck –seconds 10 –name blaster –rsource -j DROP
$fw -A worms -i \! eth0 -p tcp -m tcp –dport 139 -m recent –set –name blaster_2 –rsource
$fw -A worms -i \! eth0 -m recent –rcheck –seconds 10 –hitcount 20 –name blaster_2 –rsource -j LOG
$fw -t nat -A PREROUTING -p tcp -m recent –rcheck –seconds 10 –name blaster_2 –rsource -j DROP
$fw -A worms -i \! eth0 -p tcp -m tcp –dport 25 –syn -m recent –set –name spam –rsource
$fw -A worms -i \! eth0 -m recent –rcheck –seconds 10 –hitcount 20 –name spam –rsource -j LOG
$fw -t nat -A PREROUTING -p tcp -m recent –rcheck –seconds 10 –name spam –rsource -j DROP
W swoich zaporach nie mam celu LOG, za wiele tego, nawet z limitem na log, taki to urok z sieciami po parę tys. użytkowników.
Jednakże na początek proponuje z celem LOG uruchomiæ aby sprawdzić poprawność działania regułek.
Z blokadą na spam proszę ostrożnie, jest zbyt restrykcyjna dla niektórych klientów, a przy okazji wycina delikwentów korzystających z portu 25 do niecnych celów.
W każdym razie ten zestaw całkiem miło sprząta ruch w sieci.

WordPress - Hosting: Twój hosting - Skórka: N.Design Studio - Spolszczenie: Adam Klimowski.
RSS wpisów RSS komentarzy Zaloguj się