brute force na wp-login.php od random ip adries

June 06, 2013

Už je to nejaký ten čas, čo mi z ničoho nič začal padať server. Väčšinou som si to všimol na clicky.com, keďže tie real-time data pomerne často sledujem. Sem tam sa tam objaví taký prepad, že za hodinu sa neobjavil ani jeden človek na stránke. Toto sa nestáva takmer nikdy, aj keď má ta stránka tak 5 ľudí za hodinu priemerne. 0 návštev je tam len v noci alebo keď padne server. Server padá takým zaujímavým spôsobom, že sa nedá pripojiť ani cez ssh ani kvm. Jediné, čo mi ostáva, je reštartovať vps cez administráciu. Po reštarte je všetko ok. Brat spravil screenovanie príkazu “top” každú minútu a všimol si tam, že je tam nejako veľa requestov na wp-login.php. Nebolo to z jednej ip adresy, ale z random krajín sveta. Takže prvá myšlienka bola zmeniť wp-login.php na niečo iné. Nestačí jednoduché prepísanie súboru wp-login.php, keďže je to hard coded v asi 10 ďalších súboroch. Tak som sa pozrel po pluginoch, ale žiadny taký som nevidel. Jediné čo bolo, tak limit na počet prihlásení. Teda DDoS z jednej IP adresy, ten mi ale moc nepomôže. Nič lepšie som nenašiel, tak mi ostáva použiť allow from a deny from v .htaccess. Toto riešenie sa mi moc nepáči, keďže na pár blogoch budem teoreticky chcieť, aby sa mi registrovali useri aj mimo cz/svk prípadne ja prihlásil, keď budem mimo územia svk/cz a nebude sa mi dať pripojiť bez úpravy .htaccess. No nič iné mi asi neostáva. Takže zablokujem prístup k wp-login.php pre krajiny mimo cz/svk.

Tri bodky nahradiť vygenerovaným listom “allow from” ip adries. Napríklad tu. Už je tam len jeden zádrheľ. A to ten, že locationmatch sa nedá použiť v .htaccess, ale v konfiguračnom súbore apache alebo hosts súbore. Ale to je vlastne aj výhoda, keď to dám do /etc/apache2/apache2.conf tak to bude platiť pre všetky wordpress blogy a nemusím to pridávať duplicitne ku každej doméne. Tak dúfam, že to bude stačiť a vps už bude bežať bez problémov. Zbytočne upgradovať ram či cpu pre pár spam pokusov týždenne neznie lákavo.


Written by Lucas03 , who uses this as diary. Contact at admin[a]lucas03.com