Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Spam z wnętrza sieci CBL, PBL i XBL - jak sobie z tym radzić
http://forum.freesco.pl/viewtopic.php?f=8&t=17746
Strona 1 z 1

Autor:  mes mariusz [ niedziela, 21 czerwca 2009, 20:16 ]
Tytuł:  Spam z wnętrza sieci CBL, PBL i XBL - jak sobie z tym radzić

No i po roku czasu moje IP trafiło na CBL, PBL i XBL.

Info ze strony http://cbl.abuseat.org/lookup.cgi

Cytuj:
IP Address xx.xxx.xx.xx is currently listed in the CBL.

It was detected at 2009-06-19 07:00 GMT (+/- 30 minutes), approximately 2 days, 11 hours ago.

ATTENTION: At the time of detection, this IP was infected with, or NATting for a computer infected with a high volume spam sending trojan - it is participating or facilitating a botnet sending spam or spreading virus/spam trojans.

ATTENTION: If you simply repeatedly remove this IP address from the CBL without correcting the problem, the CBL WILL eventually stop letting you delist it and you will have to contact us directly.

We do not yet have a name for this spamBOT

You MUST patch your system and then fix/remove the trojan. Do this before delisting, or you're most likely to be listed again almost immediately.

If this IP is a NAT firewall/gateway, you MUST configure the NAT to prevent outbound port 25 connections to the Internet except from your real mail servers. Please see our recommendations on NAT firewalls

The Microsoft MSRT (Malicious Software Removal Tool) stands a good chance of being able to find/remove the malicious software. If you can find which machine[s] the malware is on.


Jeśli to rzeczywiście sugerowany trojan, to raczej nie czepił się NND (bo niby jak) a co najwyżej jakiegoś komputera wewnątrz sieci.

Najprostszym rozwiązaniem byłoby zablokowanie portu 25. Tylko, że to nie jest rozwiązanie. Ewentualnie poinstalować antywirusy na komputerach w sieci, i zdać się na ich skuteczność, co też jest rozwiązaniem IMHO kiepskim.

Jak Wy sobie z tym radzicie?

Może jakieś przyjazne narządzie do śledzenia aktywności SMTP z automatycznym blokowaniem podejrzanego ruchu ktoś zaproponuje ?

Autor:  viater [ niedziela, 21 czerwca 2009, 21:01 ]
Tytuł: 

Było - szukaj check25
Oprócz tego - jeśli masz kilka adresów publicznych, to dobrze jest ustawić sobie NAT na innym adresie niż serwer.

Autor:  JakubC [ poniedziałek, 22 czerwca 2009, 01:57 ]
Tytuł: 

Serwer mailowy na tym samym IP co snatowane windowsy wydaje mi się bzdurą. Co więcej, na RBLe zaczęły trafiać całe /24...

Wiadomości o trafianiu na RBLe, na ogół olewam, w nagminnych przypadkach informuję klientów.

Autor:  mes mariusz [ czwartek, 9 lipca 2009, 18:59 ]
Tytuł: 

No niestety, mamy tylko jedno stałe IP. Hmm... Może faktycznie ten skrypt rozwiąże problem ?

Autor:  barte-k [ czwartek, 9 lipca 2009, 20:31 ]
Tytuł: 

Ja to robię troszkę inaczej. Mam listę serwerów do których można się połączyć, użytkownicy mogą dodawać swoje (wpisy są moderowane) reszta połączeń leci w buraki ale jest logowana za pomocą iptables. 4 razy dziennie jeden ze skryptów sprawdza ilość zablokowanych połączeń na port 25 dla każdego z IP w sieci a drugi jeśli ilość takich połączeń przekroczy 1000 wysyła ogłoszenie do użytkownika. Jest jeszcze 3ci skrypt, który pomaga sprawdzić czy dany IP rzeczywiście spamuje (pokazuje adresy IP do których host łączy się na port 25).
Mam to od roku i od roku problem z RBL zniknął. check25 miałem ale się nie sprawdził.

Autor:  mes mariusz [ czwartek, 9 lipca 2009, 21:30 ]
Tytuł: 

Pewnie nie wrzucisz tych skryptów na forum?

Autor:  barte-k [ czwartek, 9 lipca 2009, 23:02 ]
Tytuł: 

Phe, a co - mogę się pochwalić przed milionami czytaczy ;-)
Skrypty są mocno pod moją konfigurację namaszczone więc ot tak działać u Ciebie raczej nie będą.
Daj mi dzień (lub dwa) to przepiszę je na w miarę uniwersalny sposób i podam przepis w tym temacie.

Autor:  mes mariusz [ piątek, 10 lipca 2009, 05:35 ]
Tytuł: 

barte-k pisze:
Phe, a co - mogę się pochwalić przed milionami czytaczy ;-)
Skrypty są mocno pod moją konfigurację namaszczone więc ot tak działać u Ciebie raczej nie będą.
Daj mi dzień (lub dwa) to przepiszę je na w miarę uniwersalny sposób i podam przepis w tym temacie.

OK :-)

Autor:  -MW- [ piątek, 10 lipca 2009, 10:58 ]
Tytuł: 

skryp blokujacy ruch hosta na porcie 25 tcp p przekroczeniu okreslonej ilosci polaczen na tym porcie.

http://83.18.79.186:85/testy/rc.blok-25

blokowanie polaczen pocztowych na routerze problem rowiazuje polowicznie, sa one blokowane i nie dochodzi do forwardu, a syf nadal
lata po laczach w sieci.

Autor:  mes mariusz [ piątek, 10 lipca 2009, 11:21 ]
Tytuł: 

Ja bym nie miał nic przeciw, by w przypadku wykrycia spamowania, całkowicie zablokować sieć na danym hoście - zmusiłoby to użytkownika do zajęcia się problemem.

Autor:  -MW- [ piątek, 10 lipca 2009, 12:59 ]
Tytuł: 

nic nie stoi na przeszkodzie aby w w/w skrypcie zamiasta

Cytuj:
if [ $A = $BL -a `$i -t filter -L BL25 -v -n |grep $IP[[:space:]] |wc -l` = 0 ];then
echo "--- "$godz"."$min"."$sek"s --- "$dzien"."$mies"."$rok"r ---" >> $LOG
echo `resolveip $IP |sed 's/.*is //g'`" "$IP >> $LOG
echo "" >> $LOG
$i -t filter -A BL25 -p tcp -s $IP --dport $SZUKAJ -j DROP
fi


zmienic na

Cytuj:
if [ $A = $BL -a `$i -t filter -L BL25 -v -n |grep $IP[[:space:]] |wc -l` = 0 ];then
echo "--- "$godz"."$min"."$sek"s --- "$dzien"."$mies"."$rok"r ---" >> $LOG
echo `resolveip $IP |sed 's/.*is //g'`" "$IP >> $LOG
echo "" >> $LOG
$i -t filter -A BL25 -s $IP -j DROP
fi

Autor:  mes mariusz [ piątek, 10 lipca 2009, 14:52 ]
Tytuł: 

mes mariusz pisze:
Ja bym nie miał nic przeciw, by w przypadku wykrycia spamowania, całkowicie zablokować sieć na danym hoście - zmusiłoby to użytkownika do zajęcia się problemem.

Albo zostawić tylko port 81 i automatycznie kierować usera na stronę z informacją o fakcie i przyczynie zablokowania.

Autor:  barte-k [ poniedziałek, 13 lipca 2009, 10:05 ]
Tytuł: 

Mariusz, jeśli chcesz oto mój skrypt (ponizej)
Na poczatku zmienne do plików:
- WHITELIST - plik z adresami IP serwerów pocztowych
- SUBNETS - adresy podsieci LAN (np. 192.168.1.0/24)
- BLACKHOST - hosty z sieci LAN zablokowane na amen
- P2P - regulki dotyczace blokowania P2P

Dwa ostatnie pliki mogą być puste. Ważne by uzupełnić dwa pierwsze, inaczej nic z tego skryptu nie bedzie pozytecznego. Jeżli nie użwasz samby możesz "odpłotkować" 2 linie w 3ciej petli FOR.

: [/] [] ()
#!/bin/sh

. /etc/rc.conf
. /etc/rc.d/functions

WHITELIST=`cat /etc/blocker/email_white | grep -v "#" | sed -e '/^$/d'`
SUBNETS=`cat /etc/blocker/subnets | grep -v "#" | sed -e '/^$/d'`
BLACKHOST=`cat /etc/blocker/host_black | grep -v "#" | sed -e '/^$/d'`
P2P=`cat /etc/blocker/p2p_block | grep -v "#" | sed -e '/^$/d'`

start () {
stat_busy "Uruchamiam blokady oraz białe listy..."

iptables -N blokady
iptables -I FORWARD -j blokady

for IPTB in $BLACKHOST
do
   iptables -A blokady -s $IPTB -j DROP
done

for IPTM in $WHITELIST
do
   iptables -A blokady -p tcp -d $IPTM --dport 25 -j ACCEPT
done
   iptables -A blokady -p tcp --dport 25 -j LOG
   iptables -A blokady -p tcp --dport 25 -j DROP

for IPTS in $SUBNETS
do
   iptables -A blokady -p tcp -s $IPTS --dport 135 -j DROP
   #iptables -A blokady -p tcp -s $IPTS --dport 139 -j DROP
   #iptables -A blokady -p tcp -s $IPTS --dport 445 -j DROP
   iptables -A blokady -p tcp -s $IPTS --dport 6667 -j DROP
done

echo -e $P2P | sh -

stat_done
}

stop () {
stat_busy "Wyłączam blokady oraz białe listy..."

iptables -D FORWARD -j blokady
iptables -F blokady
iptables -X blokady

stat_done
}

case "$1" in
    start)
    start
;;
    stop)
    stop
;;
    restart)
    stop
    sleep 2
    start
;;
    *)
    echo " "
    echo "Użyj: $0: [start|stop|restart]"
    echo " "
esac
exit 0


Tutaj skrypt do sprawdzania ilości (w sumie) połączeń na port 25 z każdego adresu IP z pliku /etc/hosts. Wynik można zapisywać do pliku i na jego podstawie blokować dane hosty (ogłoszeniem WWW lub do pliku $BLACKHOSTS)

: [/] [] ()
#!/bin/bash
SPAM="/tmp/spammers"
grep DPT=25 /var/log/kernel |grep 192.168. | awk '{ print $8 }' > $SPAM
IP=`cat /etc/hosts | awk '{print $1}' | grep -v "#"`
echo -e "\nAdres IP:\t\t\t\tIlość połączeń na port 25:"
for SPAM_IP in $IP
do
COUNT=`grep -wc $SPAM_IP $SPAM`
    if [ $COUNT -gt "5" ]; then
    HOST_IP=`resolveip $SPAM_IP | awk '{print $6}'`
    echo -e "$SPAM_IP ($HOST_IP)\t\t$COUNT"
    fi
done
echo -e "\nAby sprawdzić poszczególne hosty dokładniej, uruchom: spammers-check [adres IP]\n"
rm -rf $SPAM


Spammers-check:

: [/] [] ()
#!/bin/bash
grep DPT=25 /var/log/kernel* |grep -w $1 | awk '{ print $1,$2,$3,$8,$9 }' | less


Rozwiązanie nie jest może najłatwiejsze i wymaga trochę pracy (zwłaszcza na początku - dodawanie adresów IP serwerów) a jeden ze skryptów może obciążyć serwer, podobnie jak logowanie za pomocą iptables ale za to uszczelnia sieć na 100%. Korzystałem z check25 ale - co ciekawe - bardzo rzadko blokował spamujące osoby.

By zyskać na wydajności w pierwszym skrypcie można wywalić logowanie i operować tylko na białej liście... moim zdaniem nie ma takiego efektu psychologicznego jak np. z ogłoszeniem.

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/