Bruteforce és próbálgatások ellen
Üdv!
Használ valaki valami okos programot a rosszindulatú ip-k tiltására? Én igazán meglepődtem, az első az openssh logokon, amikor hagyta, hogy ugyanaz az ip végigpróbáljon kb 200 felhasználónevet. Gondolom, az openssh készítői is úgy gondolják, hogy ezt a problémát nem az ő programjukban kellene megoldani, hanem valami központ cuccal a szerveren, ami több szolgáltatást (pl. ftp login, smtp) figyel.
A bruteroceblockert próbáltam - valami hiba lehet vele, mert csak a központi szerverről letöltött ip-ket figyeli, újakat nem ad hozzá a listához - meg még egy másikat, asszem sshit volt a neve. Egyik sem működött igazán.
Nemrég ehhez hasonló probálkozások jelentek meg a httpd-error.log-ban (tudom, "get a life, man"), szóval ez gyakorlatilag ugyanaz a probléma, a "próbálgatás".
/home/mysites/default/www/phpmyadmin/main.php
/home/mysites/default/www/PMA/main.php
/home/mysites/default/www/mysql/main.php
Tudom, hogy túl szép lenne, hog igaz legyen, de ha mégis tudtok ajánlani valami próbálkozás elleni progit?
B
■ Használ valaki valami okos programot a rosszindulatú ip-k tiltására? Én igazán meglepődtem, az első az openssh logokon, amikor hagyta, hogy ugyanaz az ip végigpróbáljon kb 200 felhasználónevet. Gondolom, az openssh készítői is úgy gondolják, hogy ezt a problémát nem az ő programjukban kellene megoldani, hanem valami központ cuccal a szerveren, ami több szolgáltatást (pl. ftp login, smtp) figyel.
A bruteroceblockert próbáltam - valami hiba lehet vele, mert csak a központi szerverről letöltött ip-ket figyeli, újakat nem ad hozzá a listához - meg még egy másikat, asszem sshit volt a neve. Egyik sem működött igazán.
Nemrég ehhez hasonló probálkozások jelentek meg a httpd-error.log-ban (tudom, "get a life, man"), szóval ez gyakorlatilag ugyanaz a probléma, a "próbálgatás".
/home/mysites/default/www/phpmyadmin/main.php
/home/mysites/default/www/PMA/main.php
/home/mysites/default/www/mysql/main.php
Tudom, hogy túl szép lenne, hog igaz legyen, de ha mégis tudtok ajánlani valami próbálkozás elleni progit?
B
iptables
Természetesen ha dinamikus az ip-d, akkor ip-tartományt kell megadnod és a veled egy tartományban levő gépekről még jöhet kísérlet a támadásra, szóval ebben az esetben nem tökéletes, de egy durva szűrőnek mindenképpen jó:
-A INPUT -p tcp -m tcp --dport 22 -j DROP
A sorrend fontos, mert az iptables az első illeszkedésnél alkalmazza a szabályt és nem megy tovább a szabály-láncon! Vagyis előbb engedélyezd a saját ip-det, és utána tiltsd az összes többit.
.bonga
sajnos nem ilyen egyszerű
Valami szkript kéne, ami figyeli a logfájlokat. Phpben viszont többet veszít mint nyer rajta az ember, ha minden egyes security logbejegyzésre elkezd regex-eket próbálni a bejegyzésen. Bár a bruteforceblocker is egy PERL szkript, én nem bízom ennyire a php-ben..
Megoldás
de hogyan?
PHP fejlesztés felsőfokon
Az elvel nincs probléma...
A PHP nem megfelelő erre a célra. Perlhez meg nem értek. Tehát teljesen fölösleges lenne most nekiálljak és összeberheljek egyet magamnak.
De köszi a tippeket.. nem adtam fel, hogy találjak egy értelmes programot a feladatra.. :)
Nem megfelelő?
És ilyen kis programocskánál igenis van értelme annak, ha te csinálod, max. lusta vagy.
Minden eseményre külön
Ezután minden eseménynél az első ellenőrzés arra irányul, hogy megnézem, az adatbázisban hány ilyen próbálkozás tartozik a látogatóhoz+eseményhez. Ha X-nél több, akkor 10 perc pihi. Egy szemétgyűjtés pedig értelem szerűen törli a már nem aktuális sorokat.
Ez csak egy szelete a dolognak
Az SSH és FTP-re elég jó megoldás lenne a már említett bruefrorceblocker. Ez egy perl script, ami megkapja syslog-on keresztül az összes auth.* üzenetet, és ebből regex-el kiszedi az ipket stb stb stb. (Meg persze van központi feketelista).
Én egy ugyanilyen, csak (esetleg) mégtöbb dolgot figyelő progira gondolok.
Amúgy mellesleg ugyanígy lehetne központi védelmet csinálni a lefársztások ellen, amikor valaki egy lassú php-t kér le újra és újra.
evasive
http://www.nuclearelephant.com/projects/mod_evasive/
Nekünk bevált.
Ez tetszik
Amúgy új ötlet. Egy 404 figyelő: aki például asp fájlt keres egy linuxos szerveren az kapásból blaklist, beletenni egy netről frissülő listát, meg ilyesmit. Ezek annyira egyértlmű ötletek, csodálkozom, hogy nincs már 500 ilyen program. Ezt az utolsót akár php-ben is le lehetne programozni...
mod_security
szerver védelem
van benne valami
Azért ha metalálom a tökéletes megoldást az közzéteszem.. :)