Kínai IP blokkolás

Üdv!
A kínai IP címekkel gondolom nektek is tele a púpotok. :)
Volt korábbról egy ilyen scriptem, ami leszedte a friss IP-ket innen:

#!/bin/bash
#
# drop China IPs
#

ISO="chinacidr2"
IPT=/usr/sbin/iptables
WGET=/usr/bin/wget
EGREP=/bin/egrep

SPAMLIST="countrydrop"
ZONEROOT="/root/iptables"
DLROOT="http://www.okean.com"

[ ! -d $ZONEROOT ] && /bin/mkdir -p $ZONEROOT

$IPT -N $SPAMLIST

DB=$ZONEROOT/blocklist.txt

$WGET -O /root/iptables/chinacidr.txt http://www.okean.com/chinacidr.txt
sed 's/China//g' /root/iptables/chinacidr.txt > /root/iptables/blocklist.txt

SPAMDROPMSG="China Drop"

BADIPS=$($EGREP -v "^#|^$" $DB)
for ipblock in $BADIPS
do
$IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
$IPT -A $SPAMLIST -s $ipblock -p tcp --dport 22 -j DROP
done

$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST

exit 0
# --- end ---

Aki szűri ezeket van frissebb forrása esetleg? A fenti linken is frissül, de sok új kínai IP van ami nincs a listájukban.
Gondolom a kis kínaiak gyorsan váltogatnak IP-t. :)

Hozzászólások

Én csak annyit tennék hozzá, hogy a 22-es port mellé felvenném a 23-ast és az 53-ast is, ezekre is rápróbálnak mostanában egyre többször..
--
God bless you, Captain Hindsight..

Én úgy tudom - és anno próbáltam is - , hogy ezzel a fajta tiltási megoldással elég nagy terhelés keletkezik a szerveren (CPU), mivel rengeteg egyezőséget kell folyamatosan ellenőrizni az iptablesnek.

Érdemesebb megpróbálni az xtables + GeoIP használatával történő country blockot. Googlen ha rákeresel, számtalan megoldást találhatsz rá.

Erre nézz rá esetleg.

IPSetet használ, aminek a segítségével hatékonyan lehet tiltani nagy mennyiségű IP-címet. Lehet vele tiltani komplett országokat is a http://ipverse.net/ipblocks/data/countries listái alapján. Plusz már alapból vannak benne olyan címek, amiknek a letiltását érdemes megfontolni, pl a SpamHaus drop listája.

A szkript gyengéje, hogy az IPSet egyelőre nem támogatott az OpenVZ által, de KVM-el, vagy fizikai vason hasít.

geoip-ben nincs belevarva az iso code-ok, tehat csinalhasz sajat adatbazis sajat country koddal: abbol a txt-bol csinalsz egy geoip _formatumu_ csv-t fajl mondjuk "CHN" country koddal, a fenti xt_geoip_build-del legeneralod az iptableshez szukseges fajlokat, majd iptables geoip modullal szepen szursz a "CHN" country kodra.

a geoip lookup az ip keresesre van kihegyezve, ennel gyorsabb megoldast nem fogsz talalni.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Az iptables geoip modulját hogy lehet feltenni Centos6/7 alá?

Ha jól olvastam, akkor már csak ez kellene:

iptables -A INPUT -m geoip --src-cc CN -j DROP

Fordítani kell hozzá? (rpm-ben nem elérhető?)
Ez lehet az xtables? Mert Centos6 alatt /lib64/xtables alatt keresi a geoip modult a fenti iptables szabály.