Chat / support@radicenter.eu

ID kaardiga audentimine/kasutamine jagatud veebimajutuse serveritel

Osad arendajad on uurinud et kas ja kuidas oleks meie serveritel võimalik ID kaarti kasutada või Apache all / veebilehel audentida, siinkohal üritan välja pakkuda mõned juhendid.

1. Veebilehele ID kaardi toe lisamine (DirectAdmin serveritel)
2. ID kaardiga audentimine/turvamine veebilehele/veebikaustale .htaccess failiga (DirectAdmin&cPanel)
3. ID kaardiga audentimine SSH kaudu
#. Küsimused/Vastused

1. Veebilehele ID kaardi toe lisamine

Antud lõigus (1) kuvatud info käib DirectAdmin serverite kohta. cPanel serveritele on ID-Kaardi tugi lisatud.

Veebilehele ID kaardi kontrolli toe/audentimise toe lisamiseks on vaja 2 asja – SK (sertifitseerimiskeskuse) ID kaardi juursertifikaatide lisamine Teie Domeeni CA faili ja .htaccess failis Sertifikaatide küsimise lisamine.

1. SK juursertifikaatide lisamine Domeeni SSL’ile
(Eelduseks on see et teil on juba kasutajakontol vastavale domeenile SSL lisatud koos sertifikaadiga!)
– Liigu lehele: https://www.sk.ee/Repositoorium/SK-sertifikaadid/juursertifikaadid
– Lae antud SK lehelt alla vajalikud juursertifikaadid PEM vormingus ja salvesta need arvutisse
– Parema tekstiredaktori puudumisel soovitan Windowsi keskkonnas avada need failid WordPad rakendusega ja Linuxi keskkonnas gedit rakendusega (NB! Kui kasutate käsurida, soovitan pigem antud failide sisu “eraldada” uude tekstifaili, mida on siis lihtne avada ja terve sisu korraga kopeerida!)
– Logi sisse DirectAdmin keskkonda ja liigu kohta “Advanced features” -> “SSL Certificates”
– Otsi üles koht “Click Here to paste a CA Root Certificate” ja kliki sõnal “Here”
– Kopeeri juba varem SK lehelt laetud sertifikaadifailide sisu üksteise järel avatud tekstikasti peale rida “—–END CERTIFICATE—–” uuele reale.
– Kliki nupul “Save” – Sertifikaadid aktiveeruvad reeglina ca. 5 minuti jooksul!

2. .htaccess failis Sertifikaatide küsimine
NB! ID kaardi tugi selliselt, toimib AINULT domeeni või alamdomeeni juurkaustas!
( Näitena: https://teiedomeen.ee/ või https://id.teiedomeen.ee või https://naidis.teiedomeen.ee )

– Halduspaneeli “Filemanager”’i alt liigu soovitud kausta ja lisa sinna uus fail nimega .htaccess
(Kui antud fail on juba olemas, siis seda eraldi muutma ei pea!)
– Lisa antud .htaccess faili sisu (eeldatavalt faili algusesse):

SSLVerifyClient require
SSLVerifyDepth 2
SSLOptions +StdEnvVars

Kui teil on vaja näha ka kasutaja sertifikaati näiteks OSCP kontrolli jaoks, asendage eelnevalt mainitud viimane rida kirjaga:

SSLOptions +StdEnvVars +ExportCertData

Antud juhendiga on teie domeenile lisatud nii ID kaardi tugi kui ka vajaminevale kaustale audentimine.
NB! Selle lisaga automaatset ID kaardi tühistusnimekirjade kontrolli ei toimu ega lisata! Kui soovite ID kaardi audentimisel 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 Apache ID kaardi toe inglisekeelsest dokumendist: Configuring Apache web server to support ID-card certificates

2. ID kaardiga audentimine/turvamine veebilehele/veebikaustale .htaccess failiga

Eelduseks on see et olete oma domeenile ID kaardi toe juba lisanud.
.htaccess failiga audentimise kontrollimine on lihtne – tuleks eelmises peatükis mainitud koodile 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 scriptiga tuleks siis vastav muutuja ennem ära kontrollida, kui te lisate selle lisaturbe!)
Samuti on võimalik audentida 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"}

3. ID kaardiga audentimine SSH kaudu

Osadel klientidel on olnud soov jagada oma arendajatele turvalist ligipääsu SSH kasutajale, kuid ei ole soovinud jagada peakasutajatunnuse parooli. ID kaardiga audentimine toimib põhimõtteliselt samalaadselt nagu privaatvõtme puhul audentimine. 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 konfida ü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 audentimissertifikaati.
– 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 directadmin 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 audentimine
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 aXX.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üsimused/Vastused


K: Kas teie serveritel on hetkel või on võimalik lisada automaatset ID kaardi sertifikaatide/tühistusnimekirjade uuendamist?
V: Hetkel automaatset võimalust DirectAdmin serveritel ei ole. Kuna aga klientide huvi on olemas, siis on hetkel antud küsimus/võimalus serveritiimi poolt uurimise all. 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!

Comments are currently closed.

See veebileht kasutab küpsiseid, mis aitavad teha lehe külastamise mugavamaks. Meie veebilehte külastades nõustute meiepoolse küpsiste kasutamisega.
Sain aru.