Autorizacija Apache web poslužitelja putem LDAP-a i RADIUS-a

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 localhost
client 127.0.0.1 {

secret = neki_secret
shortname = 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:3
AddRadiusCookieValid 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!

Kuharice: 
Kategorije: 
Vote: 
4
Vaša ocjena: Nema Average: 4 (1 vote)