Sziasztok!
Van egy saját gyűjtésű listám ami 200e+ db IP címet és 1e+ db tartományt tartalmaz.
hosts.deny esetében gyakorlatilag minden kapcsolat megállt, gondolom nem erre tervezték.
Iptables esetén van valakinek tapasztalata mennyi szabályt bír el jelentős lassulás vagy beállás nélkül?
Illetve ha erre van más jó megoldás az is nagyon érdekelne.
- 5204 megtekintés
Hozzászólások
Itt azt írta az egyik kommentelő, hogy 12000 iptables szabályt egy 4 magos gép 2 perc alatt töltötte be.
- A hozzászóláshoz be kell jelentkezni
Az csak a betöltés.
Amúgy ha ésszel csinálja a jóember (pl. classic bináris-fa lenne az ideális, de nyilván elég, ha csak kisebb részekre bontja az ember), akkor azért a betöltésen túl nem hinném, hogy gondot kéne okozzon a működésben.
- A hozzászóláshoz be kell jelentkezni
Betöltés nem lenne lényeg, naponta egyszer frissíteném, illetve elég lenne az újakat betölteni. Újraindításkor max. az egészet. Viszont ennyire nem ismerem az iptables működését, hogy a kapcsolat megvizsgálása és ennyi szabály esetén nem okoz-e problémát.
- A hozzászóláshoz be kell jelentkezni
netfilter first matchel a lancban, emiatt kiszamithato modon lassu. neked IPSet-et kellene hasznalnod, hash:ip, illetve hash:net tipusokkal.
- A hozzászóláshoz be kell jelentkezni
Az ipset jó dolog, de a sima matchekkel is simán kezelhető. Ha tiszta bináris fában tárolod a szabályokat, akkor is max. 32 szabályon kell átvergődni, ennél sokkal hosszabb szabályhalmazok is működnek.
- A hozzászóláshoz be kell jelentkezni
"max. 32 szabályon kell átvergődni"
aha, és mennyi szabály is kell ilyen 200k cím esetében?
- A hozzászóláshoz be kell jelentkezni
262143
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
Mekkora bejövő/eldobandó pps -el számolsz?
Érdemes megpróbálni route táblából kezelni az eldobást.
- A hozzászóláshoz be kell jelentkezni
Úgy rémlik az IP Set mintha pont ilyesmire lenne kitalálva, de ha szerencséd van Kadlecsik Józsi majd jön, és megmondja a tutit.
- A hozzászóláshoz be kell jelentkezni
+1 az ipset-re.
- A hozzászóláshoz be kell jelentkezni
Nem szeretnék semmilyen tutit megmondani... de szerintem az ipset alkalmasabb a célra, mint az iptables bináris fába rendezett szabályokkal: annak memóriaigénye és kiértékelése "drágább", mint ipset-tel. Továbbá azokat a szabályokat valaminek ki kell számolni és bár Jesper SubnetSkeleton perl modulja remek, de az függ az IPTables::libiptc modultól. Viszont a libiptc soha nem volt publikus library.
- A hozzászóláshoz be kell jelentkezni
Nem tudom ilyen tool van-e, de én lookup table-t használnék. Az még mindig O(1) :) Mondjuk ipv6-ra már nem...
- A hozzászóláshoz be kell jelentkezni
+1 ipset-re
Nagy számú IP-hez való. Hash táblát használ: memóriát áldoz a sebesség oltárán. Be lehet állítani az arányt. Néha Kadlecsik József elő is ad róla itt-ott.
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
Köszi, így találtam videót róla.
- A hozzászóláshoz be kell jelentkezni
Nem lenne egyszerűbb mindent tiltani, és csak bizonyos IP-ket engedélyezni?
- A hozzászóláshoz be kell jelentkezni
+1 megelőztél :)
- A hozzászóláshoz be kell jelentkezni
Nem. Szolgáltatást kell adni a gépről, nem csinálhatok egy feliratkozó form-ot, hogy itt vedd fel az IP címed ha használni akarod a weboldalt. :)
- A hozzászóláshoz be kell jelentkezni
nekem erre az az otletem volt, hogy bevagom az ilyen ipket egy "fake" orszag ala a geoip adatbazisba, es csak arra az orszagra tiltok. elvileg a geoip lookup bitang gyors, igy mindegy hogy 10-1000-100k ip van benne.
sajna meg nemvolt idom ezzel foglalkozni, akinek van kedve raugorhat a temara :)
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Ipset, én is ezt használom openwrt routeren
- A hozzászóláshoz be kell jelentkezni
Itt a script:
#!/bin/sh
logger "[Blacklist update]: starting ..."
if ! ipset list | grep -q blacklist; then
ipset create blacklist 'hash:net'
fi
if ! ipset list blacklist | grep -vq 'Type: hash:net'; then
ipset destroy blacklist
ipset create blacklist hash:net
fi
ipset flush blacklist
for i in ` curl --insecure -s -o - https://www.blocklist.de/downloads/export-ips_all.txt | egrep '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort | uniq`;do ipset add blacklist $i ;done
if ! iptables -nL | grep -q 'Chain blacklist'; then
iptables -N blacklist
else
iptables -F blacklist
fi
if ! iptables -L INPUT | grep -q blacklist; then
iptables -I INPUT -m state --state NEW -j blacklist
fi
if ! iptables -nL blacklist | grep -q "match-set"; then
iptables -A blacklist -m set --match-set blacklist src -j LOG -m limit --limit 1/minute --log-prefix 'BLACKLIST '
iptables -A blacklist -m set --match-set blacklist src -j DROP
fi
logger "[Blacklist update]: finished ..."
exit 0
- A hozzászóláshoz be kell jelentkezni
Köszönöm, megnézem.
- A hozzászóláshoz be kell jelentkezni
+1
köszi, ez jó script
- A hozzászóláshoz be kell jelentkezni
Egy kicsit tömörítve... :)
# wget https://www.blocklist.de/downloads/export-ips_all.txt
--2015-07-21 20:13:36-- https://www.blocklist.de/downloads/export-ips_all.txt
www.blocklist.de (www.blocklist.de) feloldása... 176.9.54.236
Csatlakozás a következőhöz: www.blocklist.de (www.blocklist.de)[176.9.54.236]:443... kapcsolódva.
HTTP kérés elküldve, várakozás válaszra... 200 OK
Hossz: 549184 (536K) [text/plain]
Mentés ide: ,,export-ips_all.txt"
export-ips_all.txt 100%[===============================================================================================================================================================>] 536,31K 2,15MB/s idő 0,2s
2015-07-21 20:13:37 (2,15 MB/s) -- ,,export-ips_all.txt" mentve [549184/549184]
# wc -l export-ips_all.txt
38999 export-ips_all.txt
# cat export-ips_all.txt | ips2subnets | wc -l
27488
:)
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni
Ez az ips2subnets jó eszköznek tűnik, de nem találtam róla sehol semmilyen leírást (pl a G. 26 találatot dobott ki). Ez valami saját cucc?
Szeretném majd cron-ba berakni, de valószínűleg ahhoz csinálok egy külön update script-et. blocklist-ről le lehet az utoljára hozzáadottakat is (https://www.blocklist.de/en/api.html#last). Felesleges mindig az egészet beimportálni, relatíva elég sok idő és addig nem is aktív a "védelem".
- A hozzászóláshoz be kell jelentkezni
Igen, az én saját perl script-em...
Itt megtalálod: http://swifty.hu/2015-07-21/ips2subnets
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni
Mellesleg az én script-em:
#!/bin/bash
IP_BLACKLIST=/data/firewall/_ipblacklist
BLACKLISTS=(
"http://www.projecthoneypot.org/list_of_ips.php?t=d&rss=1" # Project Honey Pot Directory of Dictionary Attacker IPs
"http://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=212.40.97.106" # TOR Exit Nodes
"http://www.maxmind.com/en/anonymous_proxies" # MaxMind GeoIP Anonymous Proxies
"http://danger.rulez.sk/projects/bruteforceblocker/blist.php" # BruteForceBlocker IP List
"http://rules.emergingthreats.net/blockrules/rbn-ips.txt" # Emerging Threats - Russian Business Networks List
"http://www.spamhaus.org/drop/drop.lasso" # Spamhaus Don't Route Or Peer List (DROP)
"http://cinsscore.com/list/ci-badguys.txt" # C.I. Army Malicious IP List
"http://www.openbl.org/lists/base.txt" # OpenBL.org 30 day List
"http://www.autoshun.org/files/shunlist.csv" # Autoshun Shun List
"http://lists.blocklist.de/lists/all.txt" # blocklist.de attackers
"https://www.blocklist.de/downloads/export-ips_all.txt"
)
for i in "${BLACKLISTS[@]}"
do
/usr/bin/wget -q -O - "${i}"
done | /bin/grep -Po '(?:\d{1,3}\.){3}\d{1,3}(?:/\d{1,2})?' | ips2subnets > ${IP_BLACKLIST}
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni
Köszi, szép kis gyűjtemény.
Lassan tényleg könnyebb lenne egy listát vezetni azokról az IP-kről, amikről bejöhet a forgalom.
- A hozzászóláshoz be kell jelentkezni
Nekem sokat segít :)
Persze az egész ipset-tel a legjobb...
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni
thx.
- A hozzászóláshoz be kell jelentkezni
Olyan kezdő kérdésem lenne a scriptel, ha újra lefuttatom (pl: cron-ban), akkor a régi blokkolásokat feloldja-e, vagy hozzá veszi? Ha nem oldja fel, akkor hogyan lehet feloldatni?
Köszi előre is!
Kalmi
- A hozzászóláshoz be kell jelentkezni
jelen formájában ez a script minden futáskor felülírja a lista filet.
- A hozzászóláshoz be kell jelentkezni
Értem, azaz a script ezt a file-t "_ipblacklist" figyeli és ami IP benne van a file-ban azt tiltja, ha jól értem?
- A hozzászóláshoz be kell jelentkezni
azt, hogy mi használja, ha jól látom swifty nem tette közzé :)
- A hozzászóláshoz be kell jelentkezni
Igen, megint lehet kezdő kérdésem lesz, bocs, ha nagyon amatőrködök, de nagyon tetszik ez a védelem.
A script, hogyan működik, hogyan blokkolja ezeket az IP címeket?
Néztem a ps aux-ot ott nem fut semmi a script-ből (lehet vak vagyok). Továbbá, ha futtatok egy iptables -L parancsot, akkor sem látom a blokkolt IP-ket. Természetesen a "_ipblacklist" file tartalmazza az IP-ket.
Köszi!
- A hozzászóláshoz be kell jelentkezni
Ez, amire válaszoltál, önmagában sehogy. Ez mindössze annyit csinál, hogy összeszedegeti a webről a különböző listákat, keresztültolja Swifty >itt< linkelt másik scriptjén, ami megkeresi a fedő subneteket, ha jól látom, hogy kb mi van benne, hogy rövidebb legyen a lista, és beleteszi a fileba.
Ezt a listát aztán valahogy meg kell etetni az iptablessel még valahogy, de Swifty azt nem mutatta meg, hogy ő hogy csinálja. Kiindulhatsz pl Eddie85 >itteni< scriptjéből, ha érted mit csinál, a for ciklusba kéne behelyettesíteni, hogy ezt töltse inkább ipsettel.
Ez most nagyon csak ránézésre, de kb ez kell a for ciklus helyére
IP_BLACKLIST=/data/firewall/_ipblacklist
cat $IP_BLACKLIST|xargs -L 1 ipset add blacklist
Azért jó lenne megnézni, hogy neked így érdemes-e használni az aktuális tűzfal setupoddal (bár figyel rá, hogy meglegyen minden chain, és be is teszi a blocklistet az input elejére, amire azért van esély, hogy jó legyen általában).
- A hozzászóláshoz be kell jelentkezni
Miert kell blokkolni ezt az irdatlan mennyisegu IP-t?
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Most már csak kb. 60e. Mert az elmúlt 1-3 hónapban WP, Joomla, IMAP, POP, SMTP próbálkoztak.
- A hozzászóláshoz be kell jelentkezni
IP címekből subneteket nem lehet csinálni? Nekem sokat segített...
--
Debian Linux rulez... :D
- A hozzászóláshoz be kell jelentkezni
Erre való a fail2ban :> aztan tiltod 1 hónapra fölösleges 60e ip-t blokkolni. Illetve ennyi erővel akkor már geoip alá rendezed ahogy másik is mondták. Arról nem beszélve, hogy a zombi hálózat naponta több ezer géppel IP vel bővülhet és csökkenhet, azokat se ártana követni.
Fedora 22, Thinkpad x220
- A hozzászóláshoz be kell jelentkezni
Eleg 10-20 notoriusan probalkozo IP-t fixen tiltani, a tobbi ugyis random.
Csatlatkozom az elottem szolohoz a fail2ban-al kapcsolatban.
A tamadasi felulet csokkentesere pedig:
- WP/Joomla/stb. eseten: az admin URL http(s)://site/admin/ helyett http(s)://site/kiskutya/ legyen
- POP/IMAP/FTP: csak olyan orszagokra engedelyezni ahonnan hasznaljak + fail2ban + webmail (ha nem ernek el pop/imap-ot tudjanak ertesiteni :)
- termeszetesen az SSH-t is mas portra tenni
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Az SSH áttételének mi az értelme? Egy pillanat alatt végigszkenneled a portokat gyakorlati értelmét ilyesminek egyáltalán nem látom (amúgy meg false sense of security témaköre).
FathoM
- A hozzászóláshoz be kell jelentkezni
szemétszűrés, a random végigpróbálkozó automaták ellen véd, azok nem feltétlen scannelnek.
- A hozzászóláshoz be kell jelentkezni
De nem ám. Ha szkennelnek, akkor se mennek 1000 fölé. Ezt is jó észben tartani. Emellett érdemes olyan portra átmenni, ami amúgy benne van a well-known portok listájában. (Mókás nézni az OrbitNet Message Service remote exploitot, amint egy SSH-t próbál gyilkolni. :D :D)
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
nem szemetelődik annyit a log
- A hozzászóláshoz be kell jelentkezni
A WP/Joomla admin URL modositasa sem vedi meg a sechole-os CMS-t, ennek ellenere megis csak 5 evente 1x forgjak feltorni es nem naponta 2x. Ertem, hogy false sense of security, de nagyon is praktikus a hasznalata. Miutan egy uj exploit vegigsoport a default telepiteseken te szepen felrakod az uj verziot ami a serulekenysegt javitja, utana mar johet a celzott tamadas a gepre, lepattan.
SSH-nal ugyanez, nem mintha ott napi szintu lenne az exploit, de ha eszreveszed idoben, hogy test felhasznalonak test123 a jelszava akkor meg van idod modositani (meg persze a /var/log sem telik meg havonta szemettel).
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Én azért kezdtem tiltani, mert ugyan nagyrészt random, de baromira hízlalja a logokat (httpd). És egy idő után hatásos. Manapság már elég kevés próbálkozás van naponta. 1 hónapos timeout-ot állítottam be.
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni
Én is hasonló problémával küzdök, hogy a Fail2ban szép nagyra hízott 1,5 év alatt és igazából nem tudom, hogy mikor lehetne a blokkolt IP-ket feloldani? Erre van valami jó tanács, vagy elég, ha blokkolom az aktuálisakat és ami marad alapon?
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni