ID kaardiga autentimine Apache2 veebiserveriga: Difference between revisions
No edit summary |
|||
Line 87: | Line 87: | ||
</pre> | </pre> | ||
Lisa SSL virtuaalsaidi '''<Directory> ''' sektsioonide juurde järgmine directory sektsioon: | |||
<pre> | |||
<Directory /var/www/www/secure> | |||
Options Indexes FollowSymLinks MultiViews | |||
AllowOverride AuthConfig Options | |||
Order allow,deny | |||
allow from all | |||
</Directory> | |||
</pre> | |||
Ja et '''secure''' kataloogile ei saaks ligi ilma SSL’ita ja ID-kaardita, siis sama faili http virtuaalsaidi osasse järgmise sektsiooni: | |||
<pre> | |||
<Directory /var/www/www/secure> | |||
Order allow,deny | |||
deny from all | |||
</Directory> | |||
</pre> | |||
Kõige lõpuks restardime veebiserveri: | |||
<pre> | |||
/etc/init.d/apache2 restart | |||
</pre> | |||
'''Nüüdseks peaks | '''Nüüdseks peaks SSL ja ID-kaardi osa olema seadistatud. Käivita veebiserver ning kontrolli kas kõik töötab nii nagu vaja. Käivitamine ja kontroll kirjeldatud järgmistes punktides.''' | ||
=Käivitamine/Seiskamine= | =Käivitamine/Seiskamine= | ||
Line 143: | Line 164: | ||
=Tulemuse kontroll= | =Tulemuse kontroll= | ||
Tuleb luua | Tuleb luua index.php leht, mille vaatamisel kuvatakse phpinfo funktsiooni väljund: | ||
<pre> | <pre> | ||
sudo echo "<?php phpinfo(); ?>" > /var/www/ | sudo echo "<?php phpinfo(); ?>" > /var/www/www/secure/index.php | ||
</pre> | </pre> | ||
* Istu nüüd mõne Windows arvuti taha, kus on kiipkaardilugeja ja brauser, millele on ID-kaardi asi selgeks tehtud ning katseta ligipääsu. | |||
Võta ühendust oma serveriga: https://ip_aadress/secure või https://www.firma.ee/secure (eelnevalt on vaja serveri nimi defineerida kas oma arvuti hosts failis või enda võrgu nimeserveris) | |||
Server peaks nüüd sellele kataloogile ligi lubama AINULT eesti ID-kaardiga. | |||
* | |||
=Varundus ja taastamine= | =Varundus ja taastamine= |
Revision as of 15:43, 18 December 2009
Legend
Meil on firma avalik veebileht www.firma.ee mida serveeritakse nii tavalise kui ka SSL-iga turvatud HTTP protokolli kaudu.
Sellel lehel on meil ka kataloog /secure privaatsema informatsiooniga ning sinna laseme ligi ainult ID-kaardiga.
Üldinformatsioon
Allolev juhend sobib id kaardiga autentimise seadistamiseks Apache veebiserveri versioonil alates 1.3.22 + mod_ssl 2.8.5. Käesolev juhend on testitud Ubuntu 9.10, Apache 2.2.12-1ubuntu2.1, mod_ssl 2.2.11 ja OpenSSL 0.9.8g versioonidega.
Sertifikaatide kehtivuse kontroll ei toimu online OCSP teenuse abil (tasuline), selle asemel kontrollitakse igat kliendi sertifikaati vastu kehtetute sertifikaatide nimekirja, mida omakorda aegajalt uuendatakse.
Töö käik
Kuna enamus järgnevaist toimingutest vajavad root kasutaja privileege, on 2 võimalust:
1. Käivitada iga säherdune käsk root kasutaja õigustes sudo abil näiteks:
sudo apt-get update sudo nano /etc/hosts
2. Logime ennast root kasutajaks ning käivitame vajalikud toimingud. Kuna sudo-t sel juhul enam vaja ei lähe, hoiad selle arvelt pisut aega kokku. Samas on aga tunduvalt lihtsam midagi ära rikkuda, sest KÕIK käsud käivitatakse root kasutaja õigustes!
sudo -i apt-get update vi /etc/hosts
Kuidas keegi jätkab on igaühe enda valida. Järgnevas juhendis on root kasutaja õigustes käivitatavatel käskudel ees sudo. Kui otsustad ennast kohe root kasutajaks keerata, siis edaspidistes toimingutes võid (aga ei pea) sudo eest ära jätta. Kuna enamus konfiguratsioonifaile on root kasutaja omad, pead nende muutmiseks omama ka root kasutaja privileege - tekstieditor tuleb käivitada root kasutaja õigustes nagu ülal näidatud.
Eeldused
Selle juhendi kasutajalt eeldatakse linuxi käsurea mõningast tundmist ning oskust kasutada käsurealt tekstieditori n. vi või nano.
Eelduseks on korrektselt sooritatud Veebiserveri labor v.2, st. veebiserver on labori juhendi järgi seadistatud ning www.firma.ee lehekülje SSL osa toimib vigadeta.
Installeerimine
Lae alla Eesti ID kaardi juursertifikaadid ning paiguta need /etc/apache2 kataloogi:
cd /etc/apache2 sudo wget http://www.sk.ee/files/JUUR-SK.PEM.cer sudo wget http://www.sk.ee/files/ESTEID-SK.PEM.cer sudo wget http://www.sk.ee/files/ESTEID-SK%202007.PEM.cer
Lae alla kehtetute sertifikaatide nimekiri ning paiguta see /etc/apache2/crl kataloogi:
sudo mkdir /etc/apache2/crl cd /etc/apache2/crl sudo wget http://www.sk.ee/crls/esteid/esteid.crl sudo wget http://www.sk.ee/crls/esteid/esteid2007.crl sudo wget http://www.sk.ee/crls/juur/crl.crl
Seadistamine
ID kaardi juursertifikaatide seadistamine
Pane kõik 3 juursertifikaati kokku ühte faili, et veebiserveril oleks lihtsam neid lugeda:
sudo -i cd /etc/apache2 cat JUUR-SK.PEM.cer ESTEID-SK.PEM.cer ESTEID-SK\ 2007.PEM.cer > juur.crt
Sertifikaatide tühistusnimekirjade seadistamine
Kuna allalaetavad tühistusnimekirjad on apache jaoks loetamatul kujul, siis on vaja need konverteerida PEM formaati:
cd /etc/apache2/crl sudo openssl crl -in esteid.crl -out esteid.crl -inform DER sudo openssl crl -in esteid2007.crl -out esteid2007.crl -inform DER sudo openssl crl -in crl.crl -out crl.crl -inform DER
Kuna tühistusnimekirju on vaja pidevalt uuendada, siis on selle artikli lõpus kirjeldatud ka sobiva skripti tegemine ning käivitamine.
SSL keskkonna seadistamine
Lisa apache konfiguratsioonifaili /etc/apache2/sites-enabled/www , SSL virtuaalsaidi osasse, read:
SSLCACertificateFile /etc/apache2/juur.crt SSLCARevocationPath / etc/apache2/crl
Lisa SSL virtuaalsaidi <Directory> sektsioonide juurde järgmine directory sektsioon:
<Directory /var/www/www/secure> Options Indexes FollowSymLinks MultiViews AllowOverride AuthConfig Options Order allow,deny allow from all </Directory>
Ja et secure kataloogile ei saaks ligi ilma SSL’ita ja ID-kaardita, siis sama faili http virtuaalsaidi osasse järgmise sektsiooni:
<Directory /var/www/www/secure> Order allow,deny deny from all </Directory>
Kõige lõpuks restardime veebiserveri:
/etc/init.d/apache2 restart
Nüüdseks peaks SSL ja ID-kaardi osa olema seadistatud. Käivita veebiserver ning kontrolli kas kõik töötab nii nagu vaja. Käivitamine ja kontroll kirjeldatud järgmistes punktides.
Käivitamine/Seiskamine
- Veebiserveri käivitamine:
sudo service apache2 start
või
sudo /etc/init.d/apache2 start
- Veebiserveri seiskamine:
sudo service apache2 stop
või
sudo /etc/init.d/apache2 stop
- Siinkohal oleks mõistlik uurida, kas veebiserver peale serveri (re)starti automaatselt käivitub:
- Üsna lihtne on seda teha sysvconfig utiliidi abil. Kui sul seda ei ole, siis paigalda see apti abil:
sudo apt-get install sysvconfig
- Peale IGAT konfiguratsioonimuudatust peaks muudatused ka veebiserverisse laadima. Peale igat seetõttu, et kui midagi valesti läks, siis on viga lihtsam leida.
- Selleks võib veebiserverile teha restardi:
sudo service apache2 restart
või
sudo /etc/init.d/apache2 restart
- Saab ka ilma restardita:
sudo service apache2 reload
või
sudo /etc/init.d/apache2 reload
reload eelis on selles, et see toimib kasutajatele märkamatult, kasutajate sessioonid säilivad. Näiteks kui sinu veebilehele on sisseloginud 100 kasutajat, siis restart puhul peaksid nad kõik uuesti sisse logima, reload puhul ei pea.
Tulemuse kontroll
Tuleb luua index.php leht, mille vaatamisel kuvatakse phpinfo funktsiooni väljund:
sudo echo "<?php phpinfo(); ?>" > /var/www/www/secure/index.php
- Istu nüüd mõne Windows arvuti taha, kus on kiipkaardilugeja ja brauser, millele on ID-kaardi asi selgeks tehtud ning katseta ligipääsu.
Võta ühendust oma serveriga: https://ip_aadress/secure või https://www.firma.ee/secure (eelnevalt on vaja serveri nimi defineerida kas oma arvuti hosts failis või enda võrgu nimeserveris) Server peaks nüüd sellele kataloogile ligi lubama AINULT eesti ID-kaardiga.
Varundus ja taastamine
Varundamiseks kopeeri allolevates kataloogides asuvad failid alternatiivsele andmekandjale.
Failiõiguste säilitamiseks ja andmete tihendamiseks kasuta tar käsku.
Andmete asukohad
Veebide sisu: /var/www Veebi sales.firma sisu: /var/www/sales Apache2 konfiguratsioon: /etc/apache2 Veebiserveri logifailid: /var/log/apache2
Varundamise ja taastamise näited
Varundame kõik veebid juurkataloogis asuvasse faili veebid.tar.gz
sudo tar -cvvf /veebid.tar.gz /var/www/*
Taastame kõik veebid juurkataloogis olevast failist veebid.tar.gz endisesse asukohta:
sudo tar -xvvf /veebid.tar.gz
Mis saab edasi?
- Võid seadistada mitu SSLi kasutavat virtuaalserverit töötama samal pordil (443), loe lisa http://www.crsr.net/Notes/Apache-HTTPS-virtual-host.html ja http://www.harbar.net/articles/ssl.aspx
- Tekita ümbersuunamine, kui sa soovid näiteks kõik http kasutajad automaatselt https-i peale ümber suunata.
- Seadista veebiserveri logide roteerumine ja arhiveerimine
- Installi mingi vahend, mis genereeriks apache logide põhjal veebilehtede kasutamis-statistikat n webalizer.
- Seadista ID kaardiga autentimine Apache2 veebiserveriga