Ha van Spammer szégyenfal, legyen Zombi is.
A felügyelt hostjaim logjaiból automatikusan gyűjtve egy szép csokor IP:)
Ha valaki ssh-n bepróbálkozik, netán portscant csinál, akkor bekerül.
Ezzel egyidejűleg megy neki az IPTABLES -I INPUT -j DROP is :)
formátum:
IP:count:TimeStamp
http://www.sysmaster.hu/hostiles.dnris
Egy időben még mindegyikre irtam volna a szolgáltató abuse címre...Belefáradtam.
2008-05-19 UPDATE: leállítottam ennek a gyűjtését és az eddigi IP listát is leszedtem. Sorry, nincs időm pöcsölni vele...
- 3033 megtekintés
Hozzászólások
Ez jo otlet! Nagyon korrekt. Asszem applikalni fogok hasonlot a sajat cuccaimhoz. :) Esetleg ha eppen olyanod van, akkor a hasznalt eszkozokrol es pontos modszerekrol csinalhatnal vmi okos leirast. :)
-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-
- A hozzászóláshoz be kell jelentkezni
Már dolgozom rajta egy ideje. Még béta, még én inditom a szkriptet periodikusan, de hamarosan berakom cronba, kap még egy kis intelligenciát (pl. aging) és kész a skynet :)
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
es elerheto lesz vmikor? :))
- A hozzászóláshoz be kell jelentkezni
Eleinte magamnak akartam kifejleszteni, aztán meggazdagodni belőle, de annyira a közérdek vezérel, hogy elérhető lesz, ha leküzdöm az alábbi problémákat:
- hogyan kezeljem a fake syslogot, aminek pont DOS attack a célja (pl. engem mint admint blacklistre tenni a felügyelt hostjaimon)
- hogyan kezeljem a megbízható/megbízhatatlan logforrásokat? valaki előfizet, lefigyeli a működést aztán szépen elkezdi fake forged logokkal bombázni és ellehetetleníteni a szolgáltatást.
Szal valami fasa autentikációs mechanizmus kéne meg checksum, md5sum vagy akármi Nem vagyok nagy kóder, inkább afféle "bitfaragó" (from Wagner tanár úr, ME GÉK, Info szak :)
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
>> (pl. engem mint admint blacklistre tenni a felügyelt hostjaimon)
Erre szerintem sima whitelist eleg, felveszed a cimedet ahonnan tavmenedzselsz, igy az biztos nem kerul kizarasra.
- A hozzászóláshoz be kell jelentkezni
Hát, az ilyet legbiztosabb csak saját/megbízható szerverek esetén használni.
További opció, hogy
1. szankcionálni, ha kiderül a visszaélés.
2. Adott időn belül egy hosttól csak X darab tiltandó IP cím elfogadása. Nem túl valószínű, hogy mondjuk 1 órán belül 5-6 címnél többről érkezne portscan egy adott szerverre. Mondjuk a rendszer még így is felhasználható lenne arra, hogy mondjuk a konkurens cég IP-jét folyamatosan blokkolja valaki. :)
3. Csak akkor rakni be egy IP-t a listába, ha legalább 2 tag bejelenti adott időn belül. Ennek csak az a hátránya, hogy kevés tag esetén szinte kizárt, hogy bármi rákerüljön a feketelistára.
Authentikációval sajnos nem sokra mégy, mert a logba bármit be lehet tolni, nem kell az agentet megpiszkálni hozzá.
Tulajdonképp az igazi megoldás az, ha csak megbízható szerver van a hálózatban, vagyis amit te magad adminolsz.
- A hozzászóláshoz be kell jelentkezni
"Tulajdonképp az igazi megoldás az, ha csak megbízható szerver van a hálózatban, vagyis amit te magad adminolsz."
Igen, én is erre jutottam. Ezt szolgáltatásként kiadni általam nem adminolt szerverekre nagyon veszélyes. Maradnak a trusted szerverek.
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
Ha mégis szolgáltatást akarsz belőle csinálni, akkor esetleg még az szóba jöhet, hogy a kliens beállíthatja magának, hogy kikben bízik meg, mint forrás. Ez mondjuk peer2peer modellben elég eccerűen működhet.
Szerver-kliens modellben ugyanígy, csak ott a szerver olyan forrásból származ adatot küld csak a klienseknek, akik azt a forrást bejelölték maguknak mint megbízhatót. Ez szerver oldalon egy adatbázist igényel, ami elég sok erőforrást is elvihet.
Vagy valami hasonló...
- A hozzászóláshoz be kell jelentkezni
Köszi.
Én kliens-szerver megoldásban gondolkodom és valami olyasmin, hogy a szerver a log fogadást iphez kötni, nem előfizetett syslog csomagot eldobni.
Ez mondjuk a fake ip-ről jövő sysloggal továbbra sem tud mit kezdeni. Ezt valahogy úgy gondoltam megoldani, hogy csinálni egy SHA sum-ot mondjuk a trusted host passwd filejáról és azzal aláírni a csomagot. Ezt a signature-t együtt tárolni az IP-vel és csak akkor komolyan venni, ha a 2 egyezik.
Mondjuk mivan, ha a trusted hostot spoofolt ipről szkennelik, ezzel a trusted host küldi be a hamis logot a szervernek...ááá nem egyszerű.
A szerver pedig pl. scp-n tolja fel a kliensekre a szabályrendszert.
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
Ja, csak a trusted host passwd-fájlja változhat.
Spoofolt IP ről asszem elég nehéz scannelni -nem vagyok security szakértő, de valahogy a scan eredményének vissza kell találni a scannelő gépre.
Asszem syslog-ng vel ki lehet alakítani TCP alapon olyan szerver-kliens kapcsolatot, hogy ne tudjon beküldeni fake IP-ről senki semmit.
Húvazz, ez egyre bonyolultabb lesz. :) :)
- A hozzászóláshoz be kell jelentkezni
"Húvazz, ez egyre bonyolultabb lesz. :) :)"
Nahh ezaz.. Ezért nincs még kész:))
Spoofolt címről akkor érdemes szkennelni ha csak be akarsz tenni egy idegen IP-t a blacklistbe.
Pl. DoS-t akarsz csinálni az x.y.z.p levelező szerver ellen.
van ez a védelmi rendszer, tudsz róla, akérdéses szerver is bene van. fogod és spoofolt címről legitim smtp szerverek küldesz egy marék SYN csomagot 22-es és egyéb nyilvánvaló tcp portra, ezt portscannek veszi a rendszer és az összes hoston kitiltja a legitim smtp szervereket, megáll a levelezés.
na ezért veszélyes.
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
Jah, de innentől kezdve akkor is ez történik, ha csak a te 50 szervered van benne a rendszerben, nem? Sőt, most hogy kiadtad, hogy neked ilyen rendszered lesz, bárki, bármikor DOS-olni tudja majd az összes vasadat. :)
- A hozzászóláshoz be kell jelentkezni
Azért teljesen nem adtam ki. :))
Meghát nem lesz kitéve bannerbe, hogy a sysmaster féle cucc védi a gépet.
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
echo "sshd: IPcim" >> /etc/hosts.deny
s maris csak az sshd nem fogad kapcsolatot adott porton az IPcim felol
- A hozzászóláshoz be kell jelentkezni
pl kulon ssh, mindenkinek sajat RSA priv kulcs. beloginol, majd oda fossa a syslogot. igy megoldottad a fakeip, fake syslog dolgot. mar csak azet kell megoldanod, hogy az adott gepen sima user ne tudjon trukkozni. (echo "fgsfsfsd" | logger -megfeleloparameterek)
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Van hozzá pár giga spammem ha kéred elküldöm szivesen! ;)))
Én is szkriptezek, irtam 1-et ami kigyüjti és sorba rendezi a küldő ip-it de sajna nem tökéletes, néha kézzel bele kell nyúlni..kicsit belefáradtam. De engem is érdekelne
- A hozzászóláshoz be kell jelentkezni
Erről jut eszembe, egyszer megpróbáltam úgy visszaverni egy spam floodot, hogy tail -f maillog, közben másik terminálon pedig iptables-el szúrtam be az IP-ket ezerrel. Görcsöt kapott a csuklóm, de egy idő után leállt a spem áradat...
ezzel is lehetne kezdeni valamit... bár félő, hogy a legitim szervereken bejövő spam is banra kerülhet.
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
Még ugyan nincs vele személyes tapasztalatom (nemsokára lesz), de van egy fail2ban nevezetű python tool, ami ugyanezt csinálja. Figyeli a logfile-okat (pillanatnyilag az apache és ssh log formátumot ismer) és azt az IP-t, amin többszörös auth error-t lát ideiglenesen bannolja iptables/ipfwadm-en keresztül.
- A hozzászóláshoz be kell jelentkezni
Tulajdonképpen real-time lenne jó az egészet csinálni.
Ha esetleg véletlenül nem javított remote-exploitod van, akkor lehet, hogy mire lefut a scripted, késő. Ráadásul, ha megvolt a portscan, és nem talált érdekes dolgot, akkor már nem túl valószínű, hogy visszajön.
Ha sok log van, akkor ráadásul jelentős erőforrásokat is ehet a scipt. (Ha jól értem logelemzőböl indítod.)
Portscan esetén knocking szerverhez hasonlóan meg lehetne oldani. Vagyis N darab nyitott porton figyel egy daemon (mondjuk valahol az első 70-ben, a portscan-ek többsége lentről kezdi), és ha X időn belül bepróbálkozik az összesen valami IP, az valószínűleg portscan, és mehet neki az iptables.
Mondjuk slow-scan ellen nem nagyon véd, de ezt már nem nagyon használják botok, és script-kiddie-k.
- A hozzászóláshoz be kell jelentkezni
A következőképp működik: befutnak a logok a logszerverre több hostról is. Lefut a szkript, elemzi a logokat és ha talál valamit, akkor ban-ra veszi, majd _elkuldi_ az új feketelistát a védett hostokra, a védett hostok pedig magukra frissítik az új iptables szabályrendszert, amint bejött a feketelista.
Ezáltal ha letapogat egy hostot, percek kérdése és védetté válik a többi N-1 host.
Jelenleg 5 hosttal tesztelem.
A végleges verzió pedig: bejön a syslog a védendő hostokról, azonnali elemzés (pl. saját syslog szerverrel), majd azonnali remote iptables injektion az összes hoszton.
Jelenleg még én nyomkodom a proc_Hack.pl szkriptet időnként, amikor kedvem szottyan és látok bejövő logot. Még igy is egész jó.
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
"A végleges verzió pedig: bejön a syslog a védendő hostokról, azonnali elemzés (pl. saját syslog szerverrel), majd azonnali remote iptables injektion az összes hoszton."
Azonnali elemzésre javaslom a logsurfer-t vagy az ehez hasonló real-time logelemző cuccokat.
Bár logserver-t sem nagy cucc írni... :)
Ja, ez nagyon jó ötlet, hogy a többi hostnak is lenyomod a scannelő IP-t. :) Saját ötlet?
- A hozzászóláshoz be kell jelentkezni
teljesen saját...onnan jött, hogy több hostot is adminolok és gondoltam miért ne lehetne immunizálni őket, ha már az egyiket leszkennelték...
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
Össze kéne rakni rá valami keretrendszert, hogy esetleg egyéb támadási formák ellen is védjen. Pl. webszerver esetén acces.log figyelése cgi/php/egyéb sebezhetőségekre vadászó botok ellen. -pl. túl sok 404-es hiba adott ip mellett, stb.
- A hozzászóláshoz be kell jelentkezni
azt már beleírtam, hogya dictionary és brute-force attackokat is figyeli. ftp-n és ssh-n.
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
Ja, mégvalami: az optimális az lenne, hogy bármelyik host kapja a portscan-t, az szóljon a többinek. Valami p2p, vagy szerver/kliensek jellegű kommunikációs dolgot bele lehetne csempészni. (Vagy ez most is így van?)
Asszem mintha ilyen témában mintha már valami dolgozat született volna...
- A hozzászóláshoz be kell jelentkezni
Most így van.
HA az egyik klienst leszkennelik, akkor a szerver immunizálja a többi klienst a szkennelő IP-vel. a szerver push-olja az új iptables_ruleset-et.
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
Szoktam látogatni néhány olyan oldalt, amelyekre ha beteszem a lábam, rögtön portscan -t jelez a tűzfalam és természetesen arról az IP -ről, ahol az adott honlap található.
Ezek közül az egyik a www.doksi.hu , amelyet én nagyon sokra tartok, mert a tartalmát tekintve rendkívül értékes, és először észre sem vettem az összefüggést (adott oldal meglátogat --> portscan loggolva)
Amikor a dolgot észrevettem, utánanéztem, hogy a logokban látott IP hová tartozik, majd e-mail -t írtam a rendszergazdáknak és ők azonnal válaszoltak és segítettek kideríteni, hogy miért történik ez az ő szerverükről rendszeresen.
A dologgal végül arra jukadtunk ki, hogy az adott oldal kódjában van olyan rész, amely valamiért automatikusan portscan -el, vagy csak portscan-gyanús tevékenységet folytat (nem értek a webprogramozáshoz, tehát nem tudom ennek okát).
Az oldal készítőit mondjuk nem értesítettem, pedig megtehettem volna. Ez az én hibám.
Egy másik eset szintén úgy zajlott, ahogy a fenti, ez pedig a www.boon.hu oldalt (és ilyenformán a SZON -t és a HAON -t is) érinti.
Az oldalon rendszeresen lehet szavazni e-mail -es megerősítéssel, de végül itt is hasonló levelet írtam, mikor észrevettem, hogy szavazáskor szintén portscan -t kiált a tűzfal. A levelet ugyanarról az e-mail címről küldtem, amelyikről szavazni szoktam.
A reakció az ő részükről már nem volt ilyen korrekt. Nem válaszoltak és azonnal letiltották az e-mail címem, így több lehetőségem szavazatmegerősítésre erről a címről nem volt, mert a megerősítő levelek egyszerűen nem érkeztek meg a szavazásokat követően.
A fenti dolgok egy éve történtek és nem kizárt, hogy azóta a dolog változott, de mivel már tudom, hogy miért történt így, ezért az utóbbi időben nem foglalkoztam ezzel a kérdéssel.
Remélem nem volt túl triviális számotokra a fent leírt jelenség, de örülnék, ha valaki elmondaná, hogy ez hogy lehetséges (a kérdés az adott oldal látogatásából eredő portscan-figyelmeztetésre irányul).
Szerk.: Azt még azért hozzátenném, hogy sysmaster megoldása szerintem nagyon jó.
- A hozzászóláshoz be kell jelentkezni
Ez szerintem teljesen etikátlan. Lehet, hogy hekkelt az oldal és a látogatók portscanjének eredményét továbbítja a rosszfiúnak. Vagy valami elcseszett logika alapján statisztikát csinál a látogató gépéről a szkenneléssel?
-----
Si vis pacem, para bellum...
- A hozzászóláshoz be kell jelentkezni
Ha jól emlékszem, a doksi.hu készítője korábban többször is írt arról, hogy azért csinált új motort az oldalhoz (amely kb. 1 éve lett üzembe állítva), mert a korábbit rendszeresen feltörték. Nos akkor valószínűleg az újat is...
- A hozzászóláshoz be kell jelentkezni
Én a Denyhosts-ot használom ( http://denyhosts.sourceforge.net/ ), eddig sikeresen. Nem igazán erőforrásigényes, ellenben rendben teszi a dolgát. Hasznos a brute-force ssh kísérletek ellen is.
Csaba
- A hozzászóláshoz be kell jelentkezni