Briga za sigurnost web stranice nikada nije bila naodmet, pogotovo u današnje vrijeme kada je nanošenje štete drugima postalo imperativ umjesto sramote.
Zbog toga je vrlo važno koristiti sve dostupne metode zaštite podataka. Jedan od tih metoda je ograničavanje pristupa pomoću korisničkog imena (username) i šifre (password).
Posjetioci web stranice se registruju sa korisničkim imenom i šifrom po želji, dok im administrator web stranice dodjeljuje određena prava pristupa. Nakon registracije, pomoću forme za logiranje se mogu prijaviti na web stranicu i time ostvariti pristup raznim zaštićenim sadržajima.
Problem sa ovakvim sistemom je što je web stranica javno dostupna svima, pa tako i forma za logiranje. Zlonamjerni posjetioci mogu pokušati otkriti podatke za logiranje nekog od registrovanih posjetilaca i tako neovlašteno pristupiti web stranici. Klasični i vrlo jednostavan način za to je metod pogađanja ili Brute force (Sirova sila).
Standardni posjetilac i nema velika prava kada je u pitanju uređivanje sadržaja web stranice, pogotovo kada je riječ o administraciji. Zbog toga je cilj ovih napada, uglavnom, nalog koji ima administratorska prava na web stranici.
Kako se zaštiti od ovakvih napada na Joomla! web stranicu?
Šta je uopšte Brute force napad? To je pokušaj otkrivanja podataka za logiranje metodom uzastopnih pokušaja. Skripta automatski upisuje šifre (iz neke liste često korištenih šifri) u polje na formi za logiranje i pokušava dobiti pristup stranici. Olakšavajuća okolnost pri tome je poznavanje defaultkorisničkog imena, što znači da ostaje samo pogađanje šifre.
Zbog toga je obavezno, nakon završetka Joomla instalacije preimenovati postojeći administratorski nalog - admin, administrator u nešto što je za napadača teško pogoditi.
Isto tako, šifru treba kreirati dovoljno kompleksnu i sa dovoljno znakova da ju je što teže pogoditi.
To su neke osnovne preventivne mjere koje svako može i treba izvesti. Međutim,i pored toga, vrijeme je na strani napadača jer pokrenuta skripta može danima isprobavati razne kombinacije šifri dok ne otkrije pravu.
Tu na scenu stupa besplatni Joomla! plugin Brute Force Stopčije je autor Bernhard Froehler.
Ovaj plugin se instalira kao i drugi Joomla! dodaci i nakon instalacije ga treba prvo aktivirati. Nakon toga, kliknuti na njegovo ime - System - Brute Force Stopda se pokrene njegova konfiguracija.Na slici iznad je prikaz osnovnih opcija konfiguracije dodatka dok je na slici desno prikaz naprednih opcija dodatka.
Brute Force Stop plugin prati pokušaje logiranja na web stranicu (sa korisničkog i adminstratorskog sučelja - odvisno o izboru).
Ako broj neuspjelih pokušaja logiranja u podešenom vremenskom periodu (Odgoda na kartici Odgoda) pređe sifru koja je podešena u konfiguraciji (Tolerancija logiranja), plugin dodaje IP adresu, sa koje logiranja dolaze, u listu blokiranih IP adresa i potpuno onemogućava pristup web stranici sa tog IP-a.
Trajanje blokade pristupa podešavamo u konfiguraciji u listi Trajanje blokiranja.
Time je trenutni brute force napad sa te IP adrese prekinut.
Ako su neuspjeli pokušaji logiranja vršeni pomoću postojećeg korisničkog imena, na email sa kojim je taj korisnik registrovan šalje se obavještenje o blokiranju i link za deblokiranje u slučaju da je korisnik greškom preveliki broj puta unio pogrešne login podatke (da bi mogao pokrenuti reset šifre u slučaju da ju je zaboravio). Ako neuspjela logiranja nije vršio registrovani korisnik, on se može ulogovati bez problema jer je blokiran IP napadača a ne korisničko ime.
Izborom opcije Email Adresa po želji iz liste Pošiljalac Email-a u polje Email adresa možemo upisati email adresu sa koje hoćemo da nam dolaze mail-ovi obavještenja (pošiljalac). U mom slučaju je to no_reply @ amicus.ba, adresa koju sam kreirao za razna obavještenja.
Administrator (izmjena klikom na dugme Promijenite korisnika), ili izabrani registrovani korisnik, putem email-a biva obaviješten (ako smo tako podesili) o neuspjelim pokušajima logiranja i o blokiranjima IP adresa.
Preporučujem da isključite slanje email-a za neuspjele pokušaje logiranja ili da u listi Poruka dnevno o neuspjelim logiranjima izaberete neki manji broj jer će te, govorim iz iskustva, dobiti hiljade mail-ova obavještenja. Naime toliko je neuspjelih pokušaja logiranja Brute force stop plugin, za 24 sata, zabilježio na mojoj web stranici.
U naprednoj konfiguraciji prvo treba izabrati za za koje segmente web stranice će plugin biti aktivan. Preporučujem izbor Web stranica i Administracija jer se napadi dešavaju na oba fronta.
Bitno je napomenuti da se, bez obzira na izbor samo jednog segmenta, u slučaju blokiranja IP adrese onemogućava pristup cijeloj web stranici tj. korisničkom i administratorskom logiranju. To je i za očekivati jer se blokira IP adresa.
Za uključivanje procesa detekcije i blokiranja u listi Omogući Blokiranje treba izabrati opciju omogućeno.
Nakon isteka vremena trajanja blokiranja IP adresa će biti automatski odblokirana. Zbog toga, u listi Trajno nakon treba izabrati broj ponovljenih blokiranja neke IP adrese nakon kojeg će ta IP adresa biti trajno blokirana.
U polje Poruka blokiranja možete upisati poruku po želji koja će biti prikazana posjetiocu sa blokirane IP adrese. U slučaju da polje ostane prazno, umjesto web stranice, posjetiocu sa blokirane IP adrese će biti prikazan sljedeći tekst:"Vasa IP adresa je blokirana jer ste imali previse neuspjelih pokusaja logiranja u kratkom vremenskom periodu!"
Istovremeno, administrator će primiti email sa obavještenjem o blokiranoj IP adresi kao na slici ispod:
Kao što se vidi sa slike iznad, bilo je 5 neuspješnih pokušaja logiranja u administratorsko sučelje (Backend) sa iste IP adrese takod a je Brute Force Stop plugin tu IP adresu blokirao na 1 dan (koliko sam podesio) i poslao ovaj mail obavještenja.
U padajućoj listi Izbriši stare pokušaje je moguće izabrati nakon koliko sedmica će, iz baze, biti izbrisani stari neuspjeli pokušaji logiranja. Ako ne želite brisati stare podatke, upišite nulu.
Prije svega, u listi Odgoda izabrati nakon koliko neuspjelih pokušaja logiranja će IP adresa sa koje pokušaji logiranja dolaze biti blokirana.
Kartica Odgoda donosi malo inteligentniji pristup blokiranju neuspjelih pokušaja logiranja.
Naime, ako se, u kratkom vremenskom periodu, desi jako veliki broj pokušaja logiranja onda će u bazu biti upisan veliki broj stavki i biće poslat ogroman broj email-ova (ako je podešeno slanje obavještenja) što će usporiti web server i samu stranicu. U suštini je to vid distribuiranog napada, koji se sprječava povećavanjem odgode blokiranja pomoću opcije Prilagodljiva odgoda.
U listi Maksimalna odgoda treba izabrati na koliko se povećava odgoda blokiranja odnosno, koliko pokušaja neuspjelih logiranja je potrebno da bi IP adresa bila blokirana kada se pojavi distribuirani napad.
U listi Minimalno odstupanje izabrati na kjem broju neuspjelih pokušaja logiranja u zadnjem satu se uključuje prilagodljiva odgoda.
U listi Maksimalno odstupanje izabrati broj neuspjelih pokušaja u zadnjem satu pri kojem prilagodljiva odgoda dostiže maksimalnu vrijednost podešenu u polju Maksimalna odgoda.
Pored prikazane administracije plugin-a, moguć je i pregled i uređivanje liste blokiranih IP adresa i neuspjelih logiranja pomoću Joomla komponente Brute Force Stop Administracija koja se instalira zajedno sa plugin-om a nalazi se u meniu Komponente.
Kao što se vidi na slici iznad, prikazana je jedna stavka sa ID-om, IP adresom, datumom blokiranja, trajanjem blokiranja i trenutnim statusom - Blokiran do ..., Blokiranje je isteklo... ili Trajno blokiran.
Pomoću dugmadi na traci sa alatima je moguće odblokirati ili izmjeniti podatke za neku stavku.
Na tab-u Neuspjela logiranja su prikazani svi pokušaji logiranja a na tab-u Podešenja, klikom na dugme Testno Obavještenje moguće je provjeriti da li je Brute Force Stop plugin ispravno instaliran i konfigurisan. Naime, klikom na to dugme, šalje se email na adresu podešenu za primanje obavještenja. Provjerom tog mail-a utvrđujemo ispravnost instalacije i podešenja.
Kao što možete vidjeti sa slika, svi elementi Brute Force Stop plugin-a i komponente sam preveo na Bosanski jezik. Budući da Bosanski jezik nije bio uključen u originalnu instalaciju (a i napravio sam neke manje izmjene) to sam kreirao novu instalaciju sa uključenim mojim prijevodom.
Instalaciju Brute Force Stop plugin-a i komponente za Joomla 2.5.x i 3.x. sa prijevodom na Bosanski jezik možete preuzeti sa linka ispod:
Ovaj plugin je jedan od onih koje uopšte i ne primjećujemo budući da svoj posao obavljaju u pozadini, ali koji daju veliki doprinos sigurnosti i komforu rada sa Joomla! web stranicom.