12 26
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.
12 26
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.
12 26
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.
Ostatnie komentarze