| 27-02-06 08:54 Autorizacija Apache web poslužitelja putem LDAP-a i RADIUS-a
 
  piše IVAN RAKO
 
 
 U prošlomjesečnom članku Autentikacija osnovnih servisa putem LDAP-a objasnili smo autorizaciju osnovnih servisa putem LDAP-a i RADIUS-a. Sada ćemo pokazati autorizaciju Apache web poslužitelja putem istih autentikacijskih i autorizacijskih mehanizama.
   Apache web poslužitelj može koristiti autorizaciju korisnika preko RADIUS-a. Za to se koristi modul mod_auth_radius. Taj modul se nalazi u Debian paketu libapache-mod-auth-radius. Zato ga najprije instalirajmo:
   # apt-get install libapache-mod-auth-radius
   Zatim treba u konfiguraciju FreeRADIUS-a prijaviti tog poslužitelja kao klijenta:
   # U nasem slucaju je klijent localhostclient 127.0.0.1 {
 secret          = neki_secretshortname       = localhost
 }
   Ovaj secret treba prenijeti u konfiguraciju mod_auth_radius modula (kod nas je u /etc/apache/conf.d/mod-auth-radius.conf). Prilikom svake izmjene konfiguracijskih datoteka FreeRADIUS-a, potrebno ga je restartati:
   # /etc/init.d/freeradius restart
   Zatim u datoteku /etc/apache/conf.d/mod-auth-radius.conf upišemo sljedeće:
   <IfModule mod_auth_radius.c>  AddRadiusAuth localhost:1812 neki_secret 5:3AddRadiusCookieValid 5
 </IfModule>
   neki_secret stavimo proizvoljno, i dobro je da je tajni. Brojevi 5:3 znače da je timeout 5 sekundi, te da je broj pokušaja 3, ali se ove vrijednosti mogu proizvoljno mijenjati.
   <Location /ono-ste-zelimo-zastititi/> AuthType BasicAuthName "RADIUS authentication for localhost"
 AuthAuthoritative off
 AuthRadiusAuthoritative on
 AuthRadiusCookieValid 5
 AuthRadiusActive On
   require valid-user
 </Location>
   Naravno, Location se mijenja ovisno o tome koji dio weba želimo zaštititi lozinkom.
   Nakon svake izmjene datoteka unutar /etc/apache/conf.d/ direktorija treba restartati Apache:
   # /etc/init.d/apache restart
   Web stranici na adresi http://www.ustanova.hr/ono-sto-zelimo-zastiti/ može se pristupiti samo korisničkim imenom i lozinkom iz lokalnog LDAP-a, koristeći lokalni RADIUS.
   Postoji i drugi način. Dovoljno je u /etc/apache/conf.d/mod-auth-radius.conf staviti:
   <IfModule mod_auth_radius.c> AddRadiusAuth localhost:1812 neki_secret 5:3
 AddRadiusCookieValid 5
 </IfModule>
   Direktorij koji želimo zaštiti upišemo u datoteku .htaccess:
   AuthType Basic
 AuthName "RADIUS authentication for localhost"
 AuthAuthoritative off
 AuthRadiusAuthoritative on
 AuthRadiusCookieValid 5
 AuthRadiusActive On
 require valid-user
   I to je to! 
 
 |