netblock script

Fórumok

Sziasztok!

Készítettem egy netblocks scriptet, amivel az a célom, hogy a mail szerveren a bejövő IP-k tartományait blokkoljam.
Az a gondom, hogy így is bejön néha egy-egy SPAM. Tipikusan a Tigernet Kft. jön be valahogy.


#!/bin/bash
#####################################################
# BLOCK ZOMBIE BOGUS NETWORKS                       #
#####################################################
#!/bin/sh
### BEGIN INIT INFO
# Provides:          netblocks
# Required-Start:    $network $local_fs
# Required-Stop:     $network $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Start the Netblock daemon
### END INIT INFO

DAEMON=/usr/local/bin/netblocks
NAME=netblcoks
DAEMONNAME=netblocks
PIDFILE=/var/run/${NAME}.pid

set -e

case "$1" in
start)
	#Clear all iptables rule
	iptables -F
	#Clear all iptables rule
	BADIP="netblocks.cfg"
	# Remove comments
	grep -v '\#' '/etc/'$BADIP | sed /'^$'/d  > '/tmp/'$BADIP
	# Remove comments
	BANNED=$( grep -v -E “^#” '/tmp/'$BADIP )
	for ip in $BANNED
	do
		iptables -I INPUT -s $ip -j REJECT -m comment --comment "netblocks rule"
		iptables -I INPUT -s $ip -j LOG --log-prefix "netblocks: " --log-level 4
		iptables -I OUTPUT -d $ip -j REJECT -m comment --comment "netblocks rule"
		iptables -I OUTPUT -d $ip -j LOG --log-prefix "netblocks: " --log-level 4
	done
	echo "Netblocks service is started"
	;;
stop)
	iptables -F
	echo "Netblocks serice is stopped"
	;;
restart)
	$0 stop
	exec $0 start
	;;
*)
	echo "Usage: $N {start|stop|restart}" >$2
	exit 1
	;;
esac

exit 0

A /etc/netblocks tartalma, többek között...


193.9.28.0/22           #Hungary Tigernet Kft

Az IPTABLES-ben tökéletesen látszik a REJECT utasítás, ennek ellenére is megjön a levél.

Hozzászólások

Én ezt inkább postfixel oldottam meg. Így az smtp message is megy a blokkolásról, valamint bekerül a logba, hátha valaki panaszkodni akar, hogy onnan nem kapott meg fontos levelet.

Fedora 20, Thinkpad x220

"A /etc/netblocks tartalma, többek között...
193.9.28.0/22 #Hungary Tigernet Kft
"

Biztos, hogy az ukrán FLP Kochenov Aleksej Vladislavovich nevén lévő 193.9.28.0/24-et is feleslegesen tartalmazó 193.9.28.0/22-t akartad írni, és nem a Tiger Net Kft. 193.9.29.0/24, 193.9.30.0/23 (193.9.29.0 - 193.9.31.255) tartományait? Valamint ezen kívül is van még nekik, akár jöhetnek innen is, nézd meg a beérkezők logját vagy fejlécét: 194.165.26.0/23. Lehet, hogy innen érkeznek.

Ahogy _ventura_ is írta, lehet, hogy jobb lenne az SMTP szerveredben kezelni, és nem a tűzfal szintjén.

Ha csak levelezesrol van szo, miert nem hasznalsz DNSBL-t? Ha bizol az itelokepessegemben, keress meg privatban, adok egy DNSBL cimet ami tartalmazza a Tigernetet. :)

--
Pásztor János
Üzemeltető Macik

Köszi, azt már megkaptam tőled...
Az a gondom, hogy van egy kvázi router szerver, azon nem megy a spamassassin.
Ha sikerül időt szakítani rá, akkor ez a szerver megszűnik, így az eredeti levelező szerverünk az összes szűréssel végre rendesen fog működni.

"Értem én, hogy villanyos autó, de mi hajtja?"

Dnsbl-t az exim, a sendmail, a postfix, stb. szóval minden modern smtp szerver tud, nem kell hozzá spamassassin... csomagszintű tűzfallal leveleket szűrni... max. akkor tartanám érthetőnek ha pl. mail floodról van szó, de manapság azt is kezelik az smtp szerverek is önállóan.