NB! Alates 06.2022 on jäädavalt muutunud ID-kaardiga autentimisloogika, seoses TLS1.3 vaikimisi kasutuselevõtuga. Kui kasutate vananenud meetodit, võtke palun ühendust meie klienditoega!
Osad arendajad on uurinud et kas ja kuidas oleks meie serveritel võimalik ID kaarti kasutada või Apache all / veebilehel autentida, siinkohal üritan välja pakkuda mõned juhendid.
1. Veebilehele ID kaardi toe lisamine
2. ID kaardiga autentimine SSH kaudu
#. KĂĽsimused/Vastused
cPanel serveritele on ID-Kaardi serveripoolne tugi lisatud ja kasutatav kõigis pakettides.
1. Et ID kaardi tuge aktiveerida oma domeenil, tuleks luua alamdomeen ning oma autentimisskript liigutada selle juurkausta.
( Näitena: https://teiedomeen.ee/ või https://id.teiedomeen.ee või https://naidis.teiedomeen.ee )
2. Seejärel võtke ühendust meie kasutajatoega, saates maili support@radicenter.eu oma kliendiala kontaktmaililt ning lisades sinna vabas vormis soovi ID kaardi toe aktiveerimiseks Teie domeenil.
3. Aktiveerime vastava funktsionaalsuse ning seejärel:
.htaccess failiga autentimise kontrollimine on lihtne – tuleks .htaccess faili lisada rida:
#Ühe kasutaja jaoks: SSLRequire (%{SSL_CLIENT_S_DN_CN} eq "SIIAVAJALIKSISU") #Kahe või enam kasutaja jaoks: SSLRequire (%{SSL_CLIENT_S_DN_CN} eq "SIIAVAJALIKSISU" || %{SSL_CLIENT_S_DN_CN} eq "SIIAVAJALIKSISU")
Kus muutuja “SIIAVAJALIKSISU” on vastava ID kaardi SSL_CLIENT_S_DN_CN väärtus kujul PEREKONNANIMI,EESNIMI,ISIKUKOOD
PHP’s saate vajaliku info, kuvades antud turvatud kaustas oleva php scriptiga, kus on kood:
<?php echo $_SERVER['SSL_CLIENT_S_DN_CN']; ?>
(NB! PHP skriptiga tuleks siis vastav muutuja ennem ära kontrollida, kui te lisate selle lisaturbe!)
Samuti on võimalik autentida ka sertifikaadi vms. järgi kasutades verifitseerimiseks siis teisi muutujaid. Võimalikke näiteid:
SSLRequire %{SSL_CLIENT_I_DN_CN} eq "the CN of the Issuer DN of client's certificate in quotes" and %{SSL_CLIENT_S_DN_O} eq "the O of the Subject DN in client's certificate in quotes" and %{SSL_CLIENT_S_DN_CN} in {"the CN of one or more", "comma delimited Subject DNs in quotes"}
Antud juhendiga on teie alamdomeenile lisatud nii ID kaardi tugi kui ka vajaminevale kaustale autentimine.
NB! Selle lisaga automaatset ID kaardi tühistusnimekirjade kontrolli ei toimu ega lisata! Kui soovite ID kaardi autentimisel kontrollida kasutaja legaalsust, soovitan selleks teha päring läbi OCSP responderi. Juhend ja näidisscript on leitavad lehelt: http://www.id.ee/index.php?id=30271
Lisainfot on leitav ka ID.ee lehelt: ID-kaardiga isikutuvastus veebilehel: serveriseadistused, probleemilahendused jms.
– Näidis .htaccess autentimiseks
#vajalik ainult testimisfaasis serveripoolse vahemälu resettimiseks! Soovitame LIVE rakenduses eemaldada. php_flag opcache.enable 0 #Suunab alati kõik ühendused HTTPS peale! (vastasel juhul kuvatakse näiteks http pöördumise korral lehte ikkagi!) RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] #Eemaldage realt # kui on vaja päringule kaasa anda ka kasutaja SSL sertifikaat! #SSLOptions +ExportCertData #Kasutaja ja isikukoodipõhine autentimine - eemaldage # ja muutke nimi ning isikukood vastavusse #SSLRequire (%{SSL_CLIENT_S_DN_CN} eq "PERENIMI,EESNIMI,10101010101") #Nö custom veateade kui kasutajal ei ole ligipääsu antud lehele ehk serveripoolse veateate 403 korral ErrorDocument 403 "<center>VIGA: Kasutajal ei ole ligipääsu antud lehele</center>"
– Näidis PHP kood ID-kaardilt nime ja isikukoodi kuvamiseks
<?php echo $_SERVER['SSL_CLIENT_S_DN_CN']; //kuvab eesnime, perekonnanime ja isikukoodi echo "<br />"; echo $_SERVER['SSL_CLIENT_CERT']; //Kui on kasutusel ka +ExportCertData, kuvab kasutaja sertifikaadi ?>
Osadel klientidel on olnud soov jagada oma arendajatele turvalist ligipääsu SSH kasutajale, kuid ei ole soovinud jagada peakasutajatunnuse parooli. ID kaardiga autentimine toimib põhimõtteliselt samalaadselt nagu privaatvõtme puhul autentimine. Selleks oleks siiski vaja teha paar täiendavat sammu:
1. Tuleks ID kaardi avalik võti exportida
ID kaart PEAB OLEMA LUGEJAS!!!
Linuxi/Ubuntu all:
– ssh-keygen -D onepin-opensc-pkcs11.so
(Kui onepin tugi puudub, siis: ssh-keygen -D opensc-pkcs11.so | head -1
)
Windowsi keskkonnas:
– Tuleks alla laadida Putty-CAC rakendus – leitav lehelt https://risacher.org/putty-cac/
– Avada Putty-CAC ja seadistada ĂĽhendus oma serveri jaoks
– Kohas “Connection” -> “SSH” -> “CAPI” tuleks lisada linnuke “Attempt “CAPI Certificate” (Key-only) auth (SSH2)”. Seejärel valida sertifikaadihoidlaks (Store) valikutest valik, mis sisaldab “(Personal Certificates)” ning vajutades “Browse” kuvataksegi teie arvuti hoidlas olevad sertifikaadid, mida saate kasutada. Soovitan salvestada/selekteerida/kasutada sealt ID kaardi autentimissertifikaati.
– Kopeerige “SSH Keystring” väljalt seal olev tekst (see ongi teie sertifikaadi avalik võti!) ning salvestage arvutisse tekstifaili.
– Minge menĂĽĂĽs tagasi “Session” alla ja salvestage antud konfiguratsioon.
2. ID kaardi avalik võti tuleks salvestada serverisse teie kasutaja alla authorized_keys faili
– Logige sisse serverisse oma kasutajakontoga (kas SSH, FTP või cPanel kaudu)
– Kontrollige et teil eksisteerib serveris juurkataloogis kaust “.ssh” ja seal all fail “authorized_keys”
Kui ei eksisteeri, saate need luua käskudega:
umask 077; mkdir ~/.ssh; >~/.ssh/authorized_keys
– avage fail ~/.ssh/authorized_keys
ja kopeerige sinna varem eksoprditud ID kaardi avalik võti.
(Näitena: Avalik võti peaks olema kujul siis “ssh-rsa AAAAB3NzaC1yc2EAAAA…..ZHkknlDE7jhQ== token-key”)
3. ID kaardiga SSH kaudu autentimine
Linux/Ubuntu keskkonnas:
ssh -I opensc-pkcs11.so TEIEKASUTAJA@TEIESERVERIAADRESS
(Kus TEIEKASUTAJA on teie kasutajakonto peakasutaja kujul npXXXXX või rXXXXXX ja TEIESERVERIAADRESS on kujul kas teiedomeen.ee või cpX.radicenter.eu või serveri IP aadress)
Windowsi keskkonnas:
– Avage Putty-CAC
– Avage serveriĂĽhendus
(Kuna teil on varasemalt juba vastav konfiguratsioon punktis 1 salvestatud, siis täiendavaid muudatusi vaja ei ole.)
Lisainfomatsiooni on võimalik leida lehtedelt:
https://risacher.org/putty-cac/
—
K: Kas teie serveritel on hetkel või on võimalik lisada automaatset ID kaardi sertifikaatide/tühistusnimekirjade uuendamist?
V: cPanel serveritel peaks antud funktsionaalsus olemas olema vaikimisi.
—
K: Miks te ei lisa eelpool kĂĽsitud automaatset tuge serverile – see on ju lihtne, ma võin teile faili saata koos juhenditega!
V: Oleme teadlikud, kuidas kuidas oleks antud lisa võimalik lisada. Siinkohal juhin tähelepanu sellele et kui VPS serveril kui ka eraldi apache kasutajale on seda lihtne määrata, siis virtuaalsete kasutajate/serverite mudeli kohaselt, kus on kasutusel ka domeenipõhised CA’d on seda teha selliselt et kõik 100% toimima jääks nagu hetkel, siiski natukene keerulisem. Selleks meie serveritiim uuribki võimalikku sobivaimat lahendit, mis sobiks kõigile kasutajatele!
—