Kaip apsaugoti Joomla nuo brute force atakų [Fail2ban]
Jei naudojate Joomla, žinote kad būna/galibūti panaudojamos brutalios jėgos atakos prieš jūsų svetainę. Fail2ban yra parašytas Python, kuri periodiškai nuskaito jūsų žurnalo failus ir radus nustatytus požymius (pvz. brute force atakas) atlieką jai priskirtus veiksmus. Dažniausi veiksmai yra uždrausti kenkėjo IP užkardos lygyje ir/arba išsiųsti el. laišką serverio administratoriui.
Fail2ban yra sukurta daug bendrų paslaugų filtrų (ssh, apache autentifikavimo, kt.), bet jame nerasite Joomla integracijos. Bet nesunkiai galime patys tai padaryti, Joomla filtrą Fail2ban. Dabar aprašysiu, kaip tai padaryti.
Diegiame Fail2ban
Jei dar neturime, įdiegiame fail2ban (pvz. Debian/Ubuntu pagrindu veikiančiame serveryje), ši komanda:
apt-get install fail2ban
Susikonfigūruojame taip kaip mums reikia, galime pasinaudoti oficialiu Fail2ban wiki.
Diegiame Fail2ban Joomla priedą
Palengvinti Fail2ban integraciją su Joomla, įdiekite Joomla fail2ban įskiepį naudodami standartinį Joomla įskiepių diegimo mechanizmą. Šis priedas registruoja Joomla prisijungimų klaidas standartiniame web serverio klaidų žurnale. Taip bus lengviau Fail2ban nuskaityti klaidas ir uždrausti piktybinius IP.
Vartotojui nepavykus autentifikuotis į Joomla ir esant įdiegam bei įjungtam įskiepiui, serverio klaidų žurnale rasite kažką panašaus:
/var/log/apache2/mywebsite_error.log:[Mon Mar 31 10:13:58 2014] [error] [client 113.190.190.203] user mywebsite authentication failure
Fail2ban konfigūravimas
Sukuriame naują Fail2ban filtrą , pvz. joomla-error.conf ir išsaugome į /etc/fail2ban/filters.d :
[Definition] # Option: failregex # Values: TEXT failregex = [[]client []] user .* authentication failure.* # Option: ignoreregex # Values: TEXT ignoreregex =
Pridedame /etc/fail2ban/jail.local:
[joomla-error] enabled = true port = http,https filter = joomla-error logpath = /var/log/apache2/*error.log maxretry = 5
Perkrauname fail2ban:
fail2ban-client reload
Pranešimai
Jei jūs Fail2ban sukonfigūravote, kad siųsti jums el.laiškus, kai randamas užpuolimas, tuomet gausite panašų į šį laišką:
The IP 113.190.190.203 has just been banned by Fail2Ban after 5 attempts against joomla-error.
Dabar pagerinome mūsų Joomla saugumą, tikiuosi jums tai buvo naudinga.