Ogólnie mój router nie schodził w load average poniżej 0.35.
Nastąpiła u moich userów fala wirusów, trjanów itp. Poczytałem forum,
www.mks.com.pl, i inne rzeczy i doszedłem do wniosku, że nie da się tego zwalczyć za pomocą blokowania portów. Wpadłem na pomysł by logowac na interfejsie WEWNĘTRZNYM pakiety które nie idą do internetu albo mają adres SPOZA sieci wew.
Na firewallu Zciecha zrobiłem coś takiego :
====================================================================
# B L O K A D Y A N T Y W I R U S O W E
#====================================================================
#
# Blokada DOCELOWEGO adresu 192.xxx.0.0/16 na eth1 ..
$i -A FORWARD -i eth1 -p tcp -d 192.xxx.0.0/16 -j LOG -m limit --limit 10/minute --log-prefix "bad_addr_dst "
$i -A FORWARD -i eth1 -p tcp -d 192.xxx.0.0/16 -j DROP
# Nie wpuszczaj na int.wew. nikogo bez 192.xxx..
$i -t nat -A PREROUTING -i eth1 -s ! 192.xxx.0.0/16 -j LOG -m limit --limit 10/minute --log-prefix "bad_addr_des
$i -t nat -A PREROUTING -i eth1 -s ! 192.xxx.0.0/16 -j DROP
Ogólnie chodzi o wychwycenie pakietów DO i Z adresów PODOBNYCH do sieciowych. Np. mamy sieć 192.10.10.1-255, jeśli ktoś będzie się chciał połaczyć z 192.10.0.100 to oznacza, że jest to WIRUS skanujący sieć (może być user skanujący sieć ale jego też traktuję jak wirusa

)
Potem już tylko drobne skrypciki wychwytujące z logów delikwentów:
!/bin/bash
# skrypt sprawdzajcy syslog pod katem sieci localnej i zlych adresow docelowych
echo '#'
echo '# WIRUSY !!!'
echo '#'
cat /var/log/syslog | grep bad_addr_dst | grep "Apr 29" > t_bad_dst.txt
cat t_bad_dst.txt | awk '{ print $9" \t"$10" \t"$0 }'| sort > t_bad_dst_S.txt
cat t_bad_dst.txt | awk '{ print $9" \t"$10 }'| sort -u > t_bad_dst_Su.txt
cat t_bad_dst_S.txt | awk '{ print $1 }'| sort -u > t_bad_dst_uA.txt
Generuje on kilka plików ułatwiających poszukiwania userów z wirusami/trojanami itp. Kto ciekawy ten sam zgadnie jakią ktory pliczek ma zawartość

W przykładzie wycinany jest JEDEN DZIEŃ i u siebie trzeba to wyrzucić.
Drugi skrypcik to taki :
#!/bin/bash
# skrypt sprawdzajcy syslog pod katem sieci localnej i złych adresow zrodlowych
echo '#'
echo '# bad_addr_src'
echo '#'
cat /var/log/syslog | grep bad_addr_src > t_bad_addr_src.txt
cat t_bad_addr_src.txt | awk '{print $9 }' | sort -u > t_bad_addr_src_uM.txt
cat t_bad_addr_src.txt | awk '{mac=substr($9,23,17); mac = toupper(mac); gsub(/[0-9A-F]+/,"0&", mac); gsub(/0[
exec 3<t_bad_addr_src_uS.txt
echo "" > t_bad_addr_src_uSS.txt
while read -u 3 src dst mac_1 MAC reszta ;do
# echo "$MAC"
IP="brak w /etc/ethers"
grep "$MAC" < "/etc/ethers" | while read IP mac ;do
echo -e "$src \t $dst \t $mac_1 \t $MAC \t $reszta \t $IP" >> t_bad_addr_src_uSS.txt
done
done
Jest on troszkę bardziej skomplikowany, gdyż poszukuje prawdziwych IP komputerów ze złymi adresami IP wew. w/g MAC w pliku '/etc/ethers' (mam 'założony' arp

) Te adresy
...
Apr 23 22:49:03 s_nnd2 kernel: bad_addr_src IN=eth1 OUT= MAC=00:02:44:a5:73:f9:00:0e:a6:a1:5b:a2:08:00 SRC=195.168.0.5
Apr 23 22:49:04 s_nnd2 kernel: bad_addr_src IN=eth1 OUT= MAC=00:02:44:a5:73:f9:00:0e:a6:a1:5b:a2:08:00 SRC=195.168.0.2
Apr 23 22:49:05 s_nnd2 kernel: bad_addr_src IN=eth1 OUT= MAC=00:02:44:a5:73:f9:00:0e:a6:a1:5b:a2:08:00 SRC=195.168.0.2
...
okazały się mało groźne. Było ich niewiele i generowała je ... kaza czy inny eMule. Nie więcej jak kilka na sekundę.
Po długotrwałej walce z userami:
load average spadł ...ponizej 0.17 a często widzę na nim 0.05, 0.04 itp.
Miłego kombinowania
P.S.
Lektura
www.mks.com.pl nasunęła mi jeszcze jeden pomysł znajdowania śmieci. Skanowanie komputerów userów na porcie 80 - jeden z wirusów otwierał ten właśnie port. Spróbowałem nawet ręcznie to zrobić ale do jakiegoś automatyzmu jeszcze nie doszedłem.
P.S.2
Skuteczność tego rozwiązania określiłbym na 95%. Problemem było ...znaleźć antrywirusa, który wykrywałby znalezione przeze mnie śmieci (wirusy-trojany-itp.). Z doświadczeń userów wynika, że nieźle robi to skaner ze strony
www.mks.com.pl i Kasperski. Zdarzało się, że user mówi: 'Mam avasta i nie mam wirusów", ale po naszej wizycie zmieniał zdanie

. Często były to trojany a nie wirusy i trzeba antyspyware itp. to brać.
P.S.3
Troche problemu jak zawsze jest z p2p. Po pierwsze generuje pakiety DO SIEBIE
Czyli 192.10.10.25 -> 192.10.10.25 oraz jak ciągną userzy od siebie wzajemnie to powstają pakiety 'bezpośrednie' 192.168.10.10.25->192.10.10.26. Ale jak już o ty sie wie to nie jest problem.
P.S.3
Wspomogłem się przełacznikami FSD-1600 Planeta, które KIERUJĄ ruch TYLKO do SERWERA. Kosztują około 200zł i blokują ruch między userami zwłaszcza W SIECI WI-FI. Kombinuję by robić przełaczniki programowane komputerowe, ale mam za mało czasu

a pomocników brak.
_________________
Określenie przy nicku to tylko dla 'jaj'; tytuł za ilość postów.
Ja ciągle się uważam za niewinne dziecię w sprawach linuksa; żaden guru czy inny moderator
