Apache: kako zaštiti pojedine dijelove weba preko access liste?

 LinuxIako je web javni servis, ponekad želimo da samo određena skupina ljudi može vidjeti informacije na njemu, primjerice samo zaposlenici na instituciji.

Mada je bolje da interne informacije budu na posebnom poslužitelju unutar lokalne mreže, možemo se poslužiti i mogućnostima Apache modula mod_access. Modul, naravno, mora biti uključen u /etc/apache/modules.conf:

LoadModule access_module /usr/lib/apache/1.3/mod_access.so  

Slijedeća konfiguracija može biti navedena u /etc/apache/httpd.conf, ali je bolje da se nalazi u posebnoj datoteci u /etc/apache/conf.d/ direktoriju, primjerice local.conf. Datoteke u tom direktoriju se automatski uključuju u konfiguraciju preko Include direktive koja se nalazi u datoteci /etc/apache/httpd.conf.

<Directory /var/www/private>
Order Deny,Allow
Deny from All
Allow from 192.168.1 192.168.2 161.53.xxx
</Directory>

Zabrana pristupa djeluje samo u direktoriju /var/www/private. Direktiva Order određuje redoslijed evaluacije "Deny" i "Allow" direktiva. "Order Deny,Allow" (logično) znači da se prvo evaluiraju direktive upisane pod Deny, a tek onda pod Allow. Ključna riječ "All" označava sve IP adrese. Logika evaluiranja je sljedeća:

- ako je IP adresa klijenta upisana pod Deny, zabranjuje mu se pristup osim ako je naveden i pod Allow. Ovaj način nije u skladu s uobičajenim načinom konfiguriranja (primjerice firewalla), stoga tu treba biti oprezan. Ukoliko IP adresa nije navedena nigdje, klijentu se omogućava pristup.

Da je bilo navedeno "Order Allow,Deny", logika bi bila sljedeća:

- ako je IP adresa klijenta navedena pod Allow, pristup mu se dopušta, ali samo u slučaju da se IP adresa ne nalazi i u Deny. Da je bila navedena samo pod Deny, pristup bi mu bio zabranjen. Ako IP adresa nije navedena ni pod Allow, ni pod Deny, pristup bi mu bio zabranjen, kao i u slučaju da je IP adresa navedena i pod Allow i pod Deny.

U ovom konkretnom slučaju, zamjena redoslijeda bi zapravo značila zabranu pristupa s navedenih IP adresa. Uvijek se evaluiraju obje strane prije nego se pristup dopusti ili zabrani, i uvijek "pobjeđuje" zadnja navedena direktiva u Orderu. Dakle, oprez i testiranje je nužno.

Vrijedi napomenuti da nije nužno navesti IP adresu, to može biti i domena:

	Order Deny,Allow
Deny from all
Allow from domena.hr

Više informacija, kao i uvijek, možete naći na webu:

http://httpd.apache.org/docs/1.3/mod/mod_access.html

 

Kuharice: 
Kategorije: 
Vote: 
0
No votes yet