Web bezbednost srednje

A02:2025 — Loša konfiguracija

Loša konfiguracija nije greška u kodu — to je greška u podešavanjima. Aplikacija može biti savršeno napisana, a opet potpuno ranjiva ako je neko zaboravio promeniti podrazumevanu lozinku, ostavio debug mode uključen ili nije ugasio listanje direktorijuma na web serveru.

Ovo je OWASP A02:2025, i zauzima drugo mesto iz jednostavnog razloga: konfiguracija je dosadna. Programeri je rade poslednju, pod pritiskom, i često kopiraju primer iz dokumentacije koji nikad nije bio namenjen produkciji.

U ovoj lekciji ćeš iskoristiti dve klasične greške pogrešne konfiguracije. Svaka krije po jedan fragment zastave.


1. Podrazumevani kredencijali

Kada instalirate novi softver — bazu podataka, admin panel, ruter, CMS — on dolazi sa fabričkim kredencijalima. Nešto kao admin / admin, ili admin / password, ili root / bez lozinke. Ti kredencijali su dokumentovani, javni, i napadači ih znaju napamet.

Problem nije što postoje pofrazumevani kredencijali — problem je što ih niko ne promeni pre nego što sistem ode u produkciju.

Ispod je admin panel upravo instaliranog CMS sistema. Kredencijali nisu promenjeni od instalacije. Pokušaj da se prijaviš.

cms.firma.rs/admin

Podrazumevani kredencijale treba promeniti pre nego što sistem postane dostupan, ne posle. Svaki ozbiljan checklist za deployment ovo ima kao prvi korak.


2. Listanje direktorijuma

Web server treba da servira fajlove koje mu tražiš direktno. Ali ako nema index.html u nekom folderu, i ako je listanje direktorijuma uključeno, server će ti prikazati kompletan sadržaj tog foldera — kao file manager u browseru.

Ovo nije samo neugodnost. Napadač može da vidi backup fajlove, konfig fajlove, logove, sve što je slučajno završilo u web root-u.

Ispod je simulacija web servera sa uključenim listanjem direktorijuma. Istraži strukturu fajlova.

firma.rs/
Index of /

Kako se ovo ispravlja? U Nginxu je listanje direktorijuma isključeno — ali autoindex on; u konfiguraciji ga uključuje. U Apacheu isto — Options -Indexes ga gasi. Pored toga, fajlovi koji ne treba da budu javno dostupni ne smeju ni da budu u web root-u.


Složi zastavu

1 ???
+
2 ???

Završi oba dela da otključaš kompletnu zastavu.

📝 Provera Znanja

Unesite svoj odgovor ispod da biste proverili da li ste razumeli lekciju: