P2P i-Block Lists

Man sollte mind. 4GB Ram, 4 Kerne, und 3 GHZ haben.
Da es extrem viele IP Einträge sind, sollte man hier nicht auf IPtables setzten sondern auf IPset.
Die IPtables Performance geht schon ab ca. 1000 Regeln extrem in den Keller, wobei man bei 1.2mio IPset Regeln noch wunderbar weiterarbeiten kann.
Siehe dazu Doku über IPset.

mit “time cat antip2p_liste.txt | iptables-restore -v –noflush” kann man ca. 300.000 IP Regel einlesen, je nachdem wieviel RAM (Vmalloc) man hat. Danach geht die Netztwerkperformace drastisch in den Keller 🙁
Bei den i-Block listen ist darauf zu achten, das die Liste “bt_iana-private” IPs enthält die man
eventuell nicht blockieren möchte. ->
IANA – Internet Host Loopback [RFC5735]:127.0.0.0-127.0.0.0
IANA – Internet Host Loopback [RFC5735]:127.0.0.2-127.255.255.255
IANA – Private Use [RFC1918]:172.16.0.0-172.31.255.255
Der Filter “cr_bogon” und “bt_bogon” enthält ->
“bogon:172.0.0.0-172.127.255.255”
“bogon:127.0.0.0-127.255.255.255”
Das sollte man auch löschen.
“tbg_bogon” ->
“Bogon:171.207.0.0-172.127.255.255”
“Bogon:127.0.0.0-127.0.0.0”
löschen.
“tzmtqbbsgbtfxainogvm” ->
“2010-11 SSH Attack ………………:114.207.256.86-114.207.256.86”
Fehlerhafter Eintrag.
Es sind auch einige Einträge in den Listen Fehlerhaft. Dazu mittel “find . -type f -iname “*” -print0 | xargs -0 grep -i 256″ die
richtigen Listen finden in der die IP Zahl über 256 geht.

#Zusatzinfos
“sysctl -w net.ipv4.netfilter.ip_conntrack_max=1250425” = erhört die Connection Tracking
“time iptables -L antip2p -v -n -x | grep -e “DROP” -e “^[1-9]” | awk ‘{print $2}’ | grep -i “^[1-9]” ” = ganz nützlicher Befhel um zu suchen wo Packete hängen bleiben.
Am besten mit “screen” beim laden der IP Regeln arbeiten.
Maximal 944MB vmalloc möglich bei SuSE 32 Bit. Theoretisch wären 4GB möglich (2^32bit). Außerdem wird vmalloca von der Größe des SWAP begrenzt.
Mann sollte auch wichtige Prozesse niceen. ssh, iptables usw.
PeerBlock Listen ca. 600000 Einträge
bt_level1
tbg_corporate
bt_spyware
bt_ads
tbg_educational
bt_edu

Fehlermeldung:
“iptables: Memory allocation problem” = wenn man zusätzliche Regeln hinzufügen möchte (manuel).
“Nov 17 10:54:11 vmware kernel: vmap allocation for size 85110784 failed: use vmalloc= to increase size.” = wenn man zusätzliche Regeln hinzufügen möchte (manuel).
“iptables-restore: line 1250420 failed” = Wenn man 1.2 mio IPtables Regeln laden möchte. Gibt selbe Fehlermeldung unter messages, Zeile oben drüber.
Lösung: Den Vmalloc Wert erhöhen (cat /proc/meminfo), “vi /boot/grub/menu.lst” ->
“kernel /boot/bzImage-2.6.35.7 root=/dev/sda1 resume=/dev/sda2 quiet showopts vga=normal vmalloc=768m” oder “vmalloc=768MB”
und dann neu starten.
und “ulimit -a” bzw. “ulimit -v unlimited”

#Dauer für das einlesen von 2.5 mio IPtables Regeln.
auf VMware (2.8 GHZ(2Kerne),64Bit, 4GB RAM) = 2min.
Imperator (900Mhz, 512MB RAM) = geht nicht
Lap-Bit (1GHZ, 321MB RAM) = geht aber nur sehr sehr langsam und zusätzliche IPtables Befehle lassen sich aus Speicher allokations Problemen nicht ausführen.

#TODO############
IPtables Filter für den Upload von aMule und rTorrent. UPload drosseln, sofern der download darunter nicht leidet (–uid-owner, für die OUTPUT chain)

 

###########################################

#NEW Script

#!/bin/sh
set -x

#Alte IP Donwload Listen wegsichern und löschen
cd /root/scripte/ip_block_liste/new_list/
mkdir `date +%Y%m%d`_org_lists
cp -frv ads-trackers-and-bad-pr0n biglist.p2p blacklist_ssh_year.txt bt_proxy cwworuawihqvocglcoss czvaehmjpsnwwttrdoyl dshield edu ghlzqtqxnzctvvajwwag hijacked ijfqtofzixtwayqovmxn level-1 level-2 level-3 sinokoreacidr.txt spyware zeustracker.txt `date +%Y%m%d`_org_lists/
rm -frv ads-trackers-and-bad-pr0n biglist.p2p blacklist_ssh_year.txt bt_proxy cwworuawihqvocglcoss czvaehmjpsnwwttrdoyl dshield edu ghlzqtqxnzctvvajwwag hijacked ijfqtofzixtwayqovmxn level-1 level-2 level-3 sinokoreacidr.txt spyware zeustracker.txt


wget http://www.okean.com/sinokoreacidr.txt
cat sinokoreacidr.txt | awk -F " " '{print $1}' >> new_list_`date +%Y%m%d`

wget --no-check-certificate https://zeustracker.abuse.ch/blocklist.php?download=badips
mv blocklist.php\?download\=badips zeustracker.txt
cat zeustracker.txt >> new_list_`date +%Y%m%d`

wget wget http://www.nothink.org/blacklist/blacklist_ssh_year.txt
cat blacklist_ssh_year.txt >> new_list_`date +%Y%m%d`

#I-Block-Lists############################################################################################################
wget "http://list.iblocklist.com/?list=ijfqtofzixtwayqovmxn&fileformat=p2p&archiveformat=gz"
mv index.html\?list\=ijfqtofzixtwayqovmxn\&fileformat\=p2p\&archiveformat\=gz ijfqtofzixtwayqovmxn.gz
gunzip ijfqtofzixtwayqovmxn.gz
cat ijfqtofzixtwayqovmxn | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`
cat ijfqtofzixtwayqovmxn | awk -F ":" '{print $3}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`
cat ijfqtofzixtwayqovmxn | awk -F ":" '{print $4}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

wget "http://list.iblocklist.com/lists/bluetack/ads-trackers-and-bad-pr0n"
mv ads-trackers-and-bad-pr0n ads-trackers-and-bad-pr0n.gz
gunzip ads-trackers-and-bad-pr0n.gz
cat ads-trackers-and-bad-pr0n | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

#List name: dshield
#http://list.iblocklist.com/?list=xpbqleszmajjesnzddhv&fileformat=p2p&archiveformat=gz
wget "http://list.iblocklist.com/lists/bluetack/dshield"
mv dshield dshield.gz
gunzip dshield.gz 
cat dshield | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

#List name: edu
#http://list.iblocklist.com/?list=imlmncgrkbnacgcwfjvh&fileformat=p2p&archiveformat=gz
wget "http://list.iblocklist.com/lists/bluetack/edu"
mv edu edu.gz
gunzip edu.gz 
cat edu | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

#List name: hijacked
#http://list.iblocklist.com/?list=usrcshglbiilevmyfhse&fileformat=p2p&archiveformat=gz
wget "http://list.iblocklist.com/lists/bluetack/hijacked"
mv hijacked hijacked.gz
gunzip hijacked.gz 
cat hijacked | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

#List name: level1
#http://list.iblocklist.com/?list=ydxerpxkpcfqjaybcssw&fileformat=p2p&archiveformat=gz	
wget "http://list.iblocklist.com/lists/bluetack/level-1"
mv level-1 level-1.gz
gunzip level-1.gz 
cat level-1 | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`
cat level-1 | awk -F ":" '{print $3}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

#List name: level2
#http://list.iblocklist.com/?list=gyisgnzbhppbvsphucsw&fileformat=p2p&archiveformat=gz
wget "http://list.iblocklist.com/lists/bluetack/level-2"
mv level-2 level-2.gz
gunzip level-2.gz 
#cat level-2 | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

#List name: level3
#http://list.iblocklist.com/?list=uwnukjqktoggdknzrhgh&fileformat=p2p&archiveformat=gz
wget "http://list.iblocklist.com/lists/bluetack/level-3"
mv level-3 level-3.gz
gunzip level-3.gz 
#cat level-3 | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`
#cat level-3 | awk -F ":" '{print $3}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

wget "http://list.iblocklist.com/lists/bluetack/spyware"
mv spyware spyware.gz
gunzip spyware.gz
cat spyware | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

#List name: proxy
#http://list.iblocklist.com/?list=xoebmbyexwuiogmbyprb&fileformat=p2p&archiveformat=gz
wget "http://list.iblocklist.com/?list=bt_proxy&fileformat=p2p&archiveformat=gz"
mv index.html\?list\=bt_proxy\&fileformat\=p2p\&archiveformat\=gz bt_proxy.gz
gunzip bt_proxy.gz 
cat bt_proxy | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

#List name: badpeers
#http://list.iblocklist.com/?list=cwworuawihqvocglcoss&fileformat=p2p&archiveformat=gz
wget "http://list.iblocklist.com/?list=cwworuawihqvocglcoss&fileformat=p2p&archiveformat=gz"
mv index.html\?list\=cwworuawihqvocglcoss\&fileformat\=p2p\&archiveformat\=gz cwworuawihqvocglcoss.gz
gunzip cwworuawihqvocglcoss.gz
cat cwworuawihqvocglcoss | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

#List name: webexploit
#http://list.iblocklist.com/?list=ghlzqtqxnzctvvajwwag&fileformat=p2p&archiveformat=gz
wget "http://list.iblocklist.com/?list=ghlzqtqxnzctvvajwwag&fileformat=p2p&archiveformat=gz"
mv index.html\?list\=ghlzqtqxnzctvvajwwag\&fileformat\=p2p\&archiveformat\=gz ghlzqtqxnzctvvajwwag.gz
gunzip ghlzqtqxnzctvvajwwag.gz
cat ghlzqtqxnzctvvajwwag | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

#List name: cruzit web attacks
#http://list.iblocklist.com/?list=czvaehmjpsnwwttrdoyl&fileformat=p2p&archiveformat=gz
wget "http://list.iblocklist.com/?list=czvaehmjpsnwwttrdoyl&fileformat=p2p&archiveformat=gz"
mv index.html\?list\=czvaehmjpsnwwttrdoyl\&fileformat\=p2p\&archiveformat\=gz czvaehmjpsnwwttrdoyl.gz
gunzip czvaehmjpsnwwttrdoyl.gz
cat czvaehmjpsnwwttrdoyl | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

############################################################################################################

wget "john.bitsurge.net/public/biglist.p2p.gz"
gunzip biglist.p2p.gz
cat biglist.p2p | awk -F ":" '{print $2}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`
cat biglist.p2p | awk -F ":" '{print $3}' | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" >> new_list_`date +%Y%m%d`

############################################################################################################
rm -frv new_list
ln -s new_list_`date +%Y%m%d` new_list
/usr/sbin/ipset destroy
/usr/sbin/ipset create antip2p hash:net family inet hashsize 2000000 maxelem 4294967295
cat  new_list_`date +%Y%m%d` | grep -vE '^[[:space:]]*$|#| |//|99.136.75.119-TW' | awk -F " " '{print "add antip2p " $1}' | /usr/sbin/ipset restore -exist
#biglist.p2p:Bilfinger + Berger Bau AG:149.249.0.0-149.249.255.255
#level-2:Bilfinger + Berger Bau AG:149.249.0.0-149.249.255.255
/usr/sbin/ipset del antip2p 149.249.0.0-149.249.255.255
/usr/sbin/ipset del antip2p 10.0.0.0-10.255.255.255
/usr/sbin/ipset del antip2p 172.16.0.0-172.31.255.255
/usr/sbin/ipset del antip2p 192.168.0.0-192.168.255.255
/usr/sbin/ipset del antip2p 127.0.0.1
############################################################################################################

#Alte IP Donwload Listen löschen
#rm -frv ads-trackers-and-bad-pr0n biglist.p2p blacklist_ssh_year.txt bt_proxy dshield edu hijacked ijfqtofzixtwayqovmxn level-1 level-2 level-3 sinokoreacidr.txt spyware zeustracker.txt

#doppelte Einträge zählen
#cat  new_list_`date +%Y%m%d` | sort | uniq -cd | wc -l

#Alle Einträge zählen
#cat  new_list_`date +%Y%m%d` | wc -l

#IPset Einträge zählen. (Alle Einträge in newlist - doppelte Einträge aus  new_list_`date +%Y%m%d` = Anzal der Einträge bei ipset.
#ipset -L | wc -l

#Prüfen ob IP in Liste
#Besser IP in Range identifizieren.
#grep -i :207.250.68 *

#Spezial Nslookup
#"cat /var/log/firewall | grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"  | grep -vE '8.8.8.8|172.17' | sort -u | xargs -l nslookup | grep -i "name =" " = Spezial nslookup aus Firewall log und mit ausnahmen.

 

Post Revisions: