Kreiranje zašticenog direktorija na Internetu UVOD Sigurnost podataka je opcenito složena i kontroverzna tema. Ponekad neki bezveznjaci kažu kako su oni koji ucine neovlašteni upad u neciji kompjuterski sustav nadareni, pametni i tome sl. Pa svejedno, kakva god odredeni ljudi imali mišljenja o tome, u svakom slucaju neovlašteni upad u sistem predstavlja kriminal! Analiticari koji se bave sigurnošcu sistema cesto uljeze svrstavaju u ovih šest kategorija: slucajni prolaznici- ljudi koji mogu cistom slucajnošcu upasti u sustav znatiželjnici - ljudi koji žele istražiti sistem, ali im nije namera kršiti zakon pohlepnici - ljudi koji žele iz sustava izvuci neke informacije kako bi ostvarili odredenu financijsku prednost (možda u odnosu na konkurenciju), ali im takoder nije osnovna namera kršiti zakon kriminalci - ljudi koji žele kršiti zakon sofisticirani kriminalci - ljudi koji žele kršiti zakon i pri tome imaju pristup sofisticiranim alatima za probijanje sustava strane vlade - ljudi koji imaju neogranicena sredstva Cesto se kaže: "Ako želiš nešto držati u tajnosti, ne reci to nikome!" Podaci koji se nalaze na Internetu na World Wide Web serverima daleko su od prave sigurnosti i opcenito svatko kome je poznata odredena URL adresa može vidjeti podatke na nekim web-stranicama. Opcenito niti jedan sastav koji je povezan na Internet ne može se oduprijeti koncentriranom napadu uljeza iz zadnjih skupina navedenih gore. Kasnih osamdesetih strucnjaci za kompjutersku sigurnost složili su se u tome da vecina napada na sistem potice od znatiželjnika i pohlepnika - cesto tehnicki potkovanih i nadarenih tinejdžera. Ovih dana strucnjaci navode kako ne prijetnja sustavima prešla na viši nivo. Napadi na sustave danas cine tehnicki osposobljeni, dobro placeni ljudi s velikim motivima za probijanje sustava. Vratimo se mi u sferu nas obicnih korisnika. S vremena na vrijeme, webmaster želi da odredeni podaci mogu slobodno biti na raspolaganju, ali samo odredenom krugu ljudi. Na primjer, pretpostavimo da na vašim web-stranicama Internet zajednici predstavljate ili oglašavate clanstvo u nekom klubu ili organizaciji. Reklame i propagandni materijal je na raspolaganju sveukupnom Internet pucanstvu (gdje sam samo pokupio ovaj izraz?!), ali odredene podatke dopuštate samo clanovima koji pristupe klubu ili organizaciji! Vecina od onih ljudi koji prave svoje web-stranice ili održavaju neki web-site bar jednom je poželjela da im odredeni podaci budu zašticeni od oka neželjenih posjetitelja. Dakako, moguce je napraviti zašticeni direktorij na racunalu na kojem imate web-site kojemu ce posjetitelji s Interneta moci pristupiti svojim browserom samo ukoliko im je poznato korisnicko ime i pripadajuca lozinka. Hocete li vi u taj direktorij staviti najnovije crackove, nastrane slicice ili nešto sasvim trece u istom stilu (zašto bi inace netko uopce htio zaštititi svoj direktorij!?) i njegovom sadržaju dopustiti pristup samo odabranim ljudima, koje ste opskrbili potrebnim korisnickim imenom i lozinkom, ovisi samo o vama, a kako cete odredeni direktorij zaštititi, objašnjava ovaj clanak. KONTROLA PRISTUPA UGRAĐENA U WEB-SERVER Najprije jedna napomena: nacin zaštite direktorija koji je ovdje prikazan odnosi se na UNIX Apache/NCSA i sl. web-servere (httpd) (Apache je danas najzastupljeniji web-server na Internetu) i sam sistem zaštite osigurava ovaj web-server, a za ostale servere morat cete malo sami prekopati njihovu dokumentaciju i saznati kako se to može napraviti. Najprije u svom HOME direktoriju na kojem imate svoje web-stranice kreirajte direktorij ciji sadržaj želite zaštititi lozinkom, recimo, neka se doticni direktorij zove "sigurni": mkdir sigurni zatim tom direktoriju postavite UNIX-dozvole za citanje i izvršavanje (Readable/eXecutable) kako bi sam web-server uopce mogao pristupiti njegovim podacima: chmod 755 sigurni i nakon toga udite u ovaj direktorij: cd sigurni Unutar ovog direktorija morate naciniti jednu specijalnu datoteku imenom .htaccess. Nekim od UNIX-editora nacinite novu datoteku .htaccess i u nju unesite sljedece podatke: AuthUserFile /path/sigurni/.htpasswd AuthName Za pristup stranicama izricito je nužna lozinka! AuthType Basic require valid-user AuthUserFile definira web-serveru gdje se nalazi datoteka s lozinkama .htpasswd. Ovdje morate navesti tocnu stazu (path) svojeg HOME direktorija na UNIX-mašini (nju cete najlakše saznati tako da upišete UNIX komandu pwd) i navedete poddirektorij u kojem se nalazi datoteka .htpasswd (u konkretnom slucaju to je poddirektorij sigurni). Prilikom provjere ispravnosti lozinke kod pristupa zašticenom direktoriju, web-server pogleda u ovu datoteku i provjeri ispravnost lozinke koju je korisnik naveo u dijalogu za pristup. (U toj datoteci .htpasswd lozinke su enkriptirane tako da vam nece previše pomoci cak ako ih i vidite.) AuthName definira tekst koji ce se pojaviti na dijalogu za upis korisnickog imena i lozinke koji prikaže web-server kad želite pristupiti zašticenom direktoriju. Upišite tu tekst koji god vi želite. Sada slijedi ono glavno, kreiranje datoteke s lozinkama, a za ovo ce vam trebati UNIX-program imenom htpasswd koji dolazi s NCSA i Apache web-serverima i obicno se nalazi u support poddirektoriju korijenskog direktorija gdje je smješten sam web-server na UNIX- mašini. Pokušajte doticni program naci u direktoriju /usr/local/etc/httpd/support. Postoji cak mogucnost da sami napravite svoj vlastiti program za generiranje enkriptirane lozinke, ali to je vec druga prica. Za svakog korisnika kome želite dopustiti pristup zašticenom direktoriju morate u ovu datoteku zapisati njegovu pristupnu lozinku. Doduše, možete vi kreirati i samo jedno korisnicko ime i jednu lozinku za pristup zašticenom direktoriju i njih podijeliti odabranim ljudima, ali u tom slucaju nemate mogucnost da neke od njih zasebno iskljucite odnosno da samo odredenima poslije zabranite pristup ukoliko to želite. Ako ste ikada pristupali nekom adult-siteu (kakvo li pitanje!?) onda se tamo od vas traži nekakva lozinka. Svaki pretplaceni korisnik na doticni site ima svoje ime i lozinku u ovakvoj datoteci i nakon što mu istekne pretplata lako ga se izbaci iz popisa, a svi ostali i dalje mogu nesmetano pristupiti direktoriju. Ovako cete kreirati datoteku s enkriptiranim lozinkama. Upišite sljedece: (parametar -c za program htpasswd potreban je samo prvi put i on zapravo govori da želite kreirati datoteku s enkriptiranim lozinkama .htpasswd). htpasswd -c /path/sigurni/.htpasswd korisnik1 (traži se od vas unos lozinke za korisnika 1) htpasswd /path/sigurni/.htpasswd korisnik2 (traži se od vas unos lozinke za korisnika 2) htpasswd /path/sigurni/.htpasswd korisnik3 (traži se od vas unos lozinke za korisnika 3) . . . itd. Nakon što ovako kreirate doticnu datoteku samo joj je još potrebno postaviti dozvole za citanje i izvršavanje (Readable/eXecutable): chmod 755 .htpasswd U svoj direktorij sigurni stavite željene podatke kojima ce moci browserom pristupiti samo oni kojima date lozinku. Postoje još neke mogucnosti koje po pitanju kontrole pristupa pružaju ovi web-serveri, ali za izvedbu nekih od njih trebat ce vam privilegije administratora sustava. NSCA server cita podatke iz datoteke access.conf koja se nalazi u konfiguracijskom direktoriju. Prikazana su dva oblika na koje možete definirati ove datoteke kako biste postigli željenu zaštitu pristupa. Datoteka access.conf: order allow, deny allow from all order deny, allow deny from all allow from bihnet.org Ovi zapisi govore web-serveru tko ima pravo pristupa u direktorije reklame i dokumenti, tim redom. Prva linija u datoteci imenuje željeni direktorij. Sljedeca linija navodi da GET zahtjev (zahtjev za web-stranicama) ima neka ogranicenja. Takoeder se isti mehanizam može koristiti za ogranicenje POST zahtjeva isto kao i GET zahtjeva. Komanda order definira redosljed kojim se trebaju primijeniti komande allow (dopusti) i deny (zabrani).