Sigurnost Drupal CMS sustava

Drupal je CMS (eng. Content Management System) sustav koji se koristi za upravljanje sadržajem web sjedišta. Pritom se može raditi o velikim web sjedištima poslovnih organizacija ili o privatnim internetskim dnevnicima individualnih korisnika. Web CMS sustavi kao što je Drupal osobito su ranjivi jer rade s web preglednicima i web stranicama, jednim od najčešćih meta napada u Internetu. Pritom se u slučaju Drupala uglavnom radi o XSS (eng. Cross Site Scripting), CSRF (eng. Cross Site Request Forgery) napadima te podmetanju SQL koda. Sve spomenute vrste napada najčešće su posljedica nedovoljne provjere podataka koje korisnik predaje web stranici, npr. poveznice na druge stranice. U takve unose može se podmetnuti zloćudan izvršni kod koji će se umetanjem u HTML ili SQL izvesti i načiniti eventualnu štetu. Kako bi se to spriječilo važno je filtrirati sadržaj. Jedan od najvažnijih sigurnosnih mehanizama Drupala su upravo filtri sadržaja. Njima se može rukovati preko grafičkih sučelja ili preko programskih sučelja.

Uz spomenute specifične ranjivosti, svaki sustav je ranjiv na neovlaštene pristupe. Oni se mogu dogoditi ukoliko proces provjere identiteta korisnika nije dovoljno siguran ili ako su ovlasti pogrešno dodijeljene. Drupal u svom osnovnom paketu sadrži mehanizme autentifikacije i podjele uloga i ovlasti. Osim toga dostupni su Drupal moduli kojima se sustav može nadograđivati, a koji sadrže naprednija programska ostvarenja autentifikacijskih mehanizama.

Dostupan je velik broj dodatnih modula za Drupal, a mnogi od njih sadrže upravo napredne sigurnosne alate. Primjeri takvih alata su Security Scanner, Grendel-Scan i Coder module. Pomoću tih alata moguće je otkriti jednostavne i tipične ranjivosti. Ipak, specifične i složene ranjivosti, odnosno prostor za zlouporabe teško je automatiziranim postupcima prepoznati. Ovi alati su na tom području također vrlo ograničeni.

Zaštita sigurnosti u Drupal sustavu treba početi od administracije koja će pravilno konfigurirati postavke, omogućiti primjerenu razinu pouzdanosti autentifikacije, pravilno dodijeliti i rukovati ulogama i ovlastima korisnika i slično. Osim toga po potrebi moguće je primijeniti neki sigurnosni modul koji će dodatno doprinijeti zaštiti sustava. Također dužnost je odgovornog korisnika, osobito administratora, redovito nadograđivati sustav i pratiti sigurnosna upozorenja. U Drupalu je ugrađen modul koji redovito izvještava o novim inačicama koda čime se taj posao dodatno olakšava.

Izradu dokumenta "Sigurnost Drupal CMS sustava" financirao je Nacionalni CERT, i možete ga pročitati na službenim stranicama CERT-a.