ID kaardiga autentimine Apache2 veebiserveriga

  • Eelduseks on juba toimiv SSL sait (HTTPS)

loo eraldi kataloog /etc/httpd/conf/id/

cd /etc/httpd/conf/id/
wget http://www.sk.ee/files/JUUR-SK.PEM.cer
wget http://www.sk.ee/files/ESTEID-SK.PEM.cer
wget http://www.sk.ee/files/ESTEID-SK%202007.PEM.cer

Pane kõik 3 juursertifikaati kokku ühte faili, et veebiserveril oleks lihtsam neid lugeda:

sudo cat JUUR-SK.PEM.cer ESTEID-SK.PEM.cer ESTEID-SK\ 2007.PEM.cer > juur.crt

Lae alla kehtetute sertifikaatide nimekiri:

wget http://www.sk.ee/crls/esteid/esteid.crl
wget http://www.sk.ee/crls/esteid/esteid2007.crl
wget http://www.sk.ee/crls/juur/crl.crl

Kuna allalaetavad tühistusnimekirjad on apache jaoks loetamatul kujul, siis on vaja need konverteerida PEM formaati:

openssl crl -in esteid.crl -out esteid.crl -inform DER
openssl crl -in esteid2007.crl -out esteid2007.crl -inform DER
openssl crl -in crl.crl -out crl.crl -inform DER

Apache dokumentatsioonis nõutakse ka räsi-linkide loomist. Genereerime need käsuga:

n="0";for f in `ls *.crl`;do ln -s $f `openssl crl -hash -noout -in $f`.r$n ;let n=n+1;done

Lisa apache konfiguratsioonifaili, SSL virtuaalsaidi osasse, read:

SSLCACertificateFile /etc/httpd/conf/id/juur.crt
SSLCARevocationPath /etc/httpd/conf/id/crl

Lisa SSL virtuaalsaidi sektsioonide juurde järgmine directory sektsioon:

Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig Options
Order allow,deny
allow from all

Kataloogi, mida soovid kaitsta loo .htaccess. Juhul kui kogu virtuali soovid kaitsta, siis võib ka virtuali config faili lisada:

SSLVerifyClient require
SSLVerifyDepth 2

Kui nüüd kõik kenasti läks, siis apache restart

kui tahta, et server sertifikaatide andmed muutujatesse kannaks (et need oleks skriptides kasutatavad), võiks lisada .htaccess faili midagi sellist:


Files ~ "\.(cgi|shtml|php)$"\
SSLOptions +StdEnvVars +ExportCertData
Files

  • http://id.ee/?id=10736
  • http://wiki.itcollege.ee/index.php/ID_kaardiga_autentimine_Apache2_veebiserveriga
  • http://www.colleduc.ee/id.html

Leave a Reply