Kezdőlap › Fórumok › SOS! Bajban vagyok › wp-login brute force és a modsecurity
- This topic has 13 hozzászólás, 3 résztvevő, and was last updated 9 years, 8 months telt el by uzsolt.
- SzerzőBejegyzés
- 2014-08-07-15:50 #1890786
Hetek óta probálnak szótármódszerrel betörni a WordPress oldalakra a szerverünkön, emiatt bevetettem a ModSecurity-t … de hiába.IP cím alapú számláló szabályt írtam, ami 5 percen belüli 10 wp-login kérés után blokkol.Ha én indítok 10 kérést - bármilyen gépről vagy böngészőből -, akkor működik, de ha a hacker, akkor nem.Elkezdtem debugolni (már lua scriptet is írtam hozzá), de nem jövök rá az okára.Ha én kérem le az oldalt, akkor az ip címek számlálója rendben növekszik, minden kérelemnél.Ha a hacker, akkor az ip címek számlálója minden kérelemnél 1-ről indul. Pedig ugyanarról az IP címről jön!Látott már valaki ilyent/hasonlót?Bárkinek bármilyen ötlete?
2014-08-07-19:12 #2207960Nyilván látni kellene annak az IP-cím számlálónak a kódját illetve az IP-címeket.De: én vagy inkább egy webszerver-alapú IP-tiltást (ha mindig ugyanarról az IP-címről jön) alkalmaznék vagy pedig fail2ban-t.Másrészt: csak te léphetsz be a wordpress-be? Mert akkor esetleg a login-t csak a te ip-címedre engedélyezed.
2014-08-07-19:36 #2207961Egy-egy támadási csomag jön egy-egy IP címről. Amúgy váltakoznak az IP címek.A WordPress-be nem én lépek be, így azt nem tudom módosítani.Közben annyit haladtam előre, hogy már tudom reprodukálni a betörést. A trükk az, hogy 1 IP címről felváltva egyszerre 2 külön domain-t kell támadni.A ModSecurity erre azt csinálja, hogy az első kérelemnél az IP cím számlálóját 1-re állítja, majd a második kérelemnél, mivel arra a domainra az az első kérelem, ismét egyre állítja. Ezek után meglepő módon az első domainra érkező új kérelem esetén a számlálót ismét egyre állítja, mivel új kérelem. ...Ha én küldöm két domainra a kérelmeimet, azt sem tudja számolni, bár egy domainre tökéletesen működik 🙁Hát, egyelőre itt állok ... tanácstalan ...
2014-08-07-20:34 #2207962Irjal a fail2ban szabalyt, bar lehet eloszor csak keresni kene, mert mar irt valaki.
2014-08-08-04:44 #2207963Ha jól látom, ez a fail2ban a logok alapján tudja eldönteni, melyik kérelem sikertelen, és úgy tud számolni. A WordPress sikertelen belépés sajnos a logban nem hagy egyértelmű nyomot. Csak egy 200-as válasz, míg a sikeres belépés egy 302-es. De a 302 lehet sikertelen belépés eredménye is.
2014-08-08-06:34 #2207964drupalhoz van fail2ban plugin, ami syslogba logol és úgy tudod szűrni fail2ban-al. Talán van WP-hez is hasonló syslogba logolo plugin.
2014-08-08-08:01 #2207965Bár a ModSecurity hibájára a megoldást nem tudom, azért egy primitív lua scriptet írtam, ami blokkolja a wp-logineket VirtualHost környezetben is. Mivel a neten nem találtam normális megoldást, leírom, hátha hasznos lesz valakinek, akár csak kiindulópontként is.A ModSecurity-ben elhelyezendő kód (elég egy helyen, globálisan elhelyezni):
Code:2014-08-18-12:21 #2207966A WordPress-be nem én lépek be, így azt nem tudom módosítani.
Márhogy úgy értettem, hogy nem a WP-ben, hanem a webszerveren beállítani, hogy a login.php (vagy bármi) csak egy bizonyos IP-címről legyen elérhető. Úgy látom, hogy apache szervert használsz, így szerintem egy .htaccess fájllal mennie kell.
2014-08-18-13:01 #2207967Sajna, nem én használom a wp-t, így nem korlátozhatom a felhasználót. 🙁
2014-08-19-12:04 #2207968Nem a felhasználót kell korlátoznod, hanem a login.php elérését, amelyet az apache-on keresztül szabályozhatsz.Tehát valami ilyesmi .htaccess kellene:
Code:Order allow,denyAllow from IP_AHONNAN_BELÉPDeny from allNem biztos, hogy jó, de az ötlet kiolvasható.
- SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz