Tekniikka/Apache/2.4

Kohteesta DigiWiki
< Tekniikka‎ | Apache
Versio hetkellä 3. huhtikuuta 2022 kello 14.43 – tehnyt TUOMALA JUHA 10000350X (keskustelu | muokkaukset) (→‎Katso myös)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

Apache 2.4 version suuntaa antava esimerkkitiedosto asiakaspään / henkilökortin varmennetunnistukselle. Varmenteen PIN-koodin vaativa SSLVerifyClient require asetus tulee asettaa sovelluskohtaisesti oikein.


Varmennekättely

SSLCADNRequestPath asetus mod_ssl moduulissa määrittää asiakaspäälle lähetettävän takaajien listan hyväksyttävistä varmenteista.

Palvelimen asetukset

<VirtualHost 88.196.164.221:443>
 ServerName     digisaatio.fi
 DocumentRoot   /var/www/html/
 ServerAdmin    digisaatio@digisaatio.fi
 HostnameLookups On

 LogFormat      "%a %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
 LogFormat      "%a %h %l %u %t \"%r\" %>s %b" common
 LogFormat      "%{Referer}i -> %U" referer
 LogFormat      "%{User-agent}i" agent
 ErrorLog       logs/digisaatio.fi-error.ssl.log
 CustomLog      logs/digisaatio.fi-access.ssl.log combined

 DirectoryIndex index.html index.shtml index.php index.py index.html.var

 AddHandler php5-script .php
 AddType text/html .php

 <IfModule mod_ssl.c>
   SSLProtocol All -SSLv3 -TLSv1.3
   SSLEngine on
   SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-A:ES256-GCM-SHA384:!RC4:!LOW:!MD5:!aNULL:!eNULL:!3DES:!EXP:!PSK:!SRP:!DSS
   SSLProxyEngine off
   SSLOptions +OptRenegotiate +StdEnvVars +ExportCertData

   SSLCertificateFile /etc/pki/digisaatio.fi/fullchain.cer
   SSLCertificateKeyFile /etc/pki/digisaatio.fi/digisaatio.fi.key
   SSLCACertificateFile /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem

   <Location "/mediawiki/index.php" >
     <If "%{QUERY_STRING} =~ m#title\=Toiminnot\:Kirjaudu_sis%C3%A4%C3%A4n(.*)#">
       SSLRequireSSL
       SSLVerifyClient require
       SSLVerifyDepth  2
       SSLRequire      %{SSL_CLIENT_I_DN_OU} eq "Valtion kansalaisvarmenteet"
     </If>
   </Location>

  </IfModule>

</VirtualHost>

Vaadittavat Digiviraston CA-varmenteet saa heidän CA-varmenteet sivulta:

Apachen dokumentaatiota:

Käyttäjän tiedot

Taulukossa osa HTTP-yhteyden kansalaisvarmenteelta saatavista tiedoista. Loput selviävät tulostamalla kaikki Apache-prosessin ympäristömuuttujat. Tärkein eli SATU ei esiinny missään kentässä sellaisenaan vaan sen tulee parsia käyttäjän CN:stä (Common Name). Jos kyseessä on ns Organisaatio- tai Sote-kortti, niiden tiedoissa ei näy SATU-tunnus vaan kyseisten korttien omat tunnukset.

tieto esimerkki
SSL_CLIENT_VERIFY SUCCESS
SSL_CLIENT_I_DN_OU Valtion kansalaisvarmenteet
SSL_CLIENT_I_DN_C FI
SSL_CLIENT_I_DN_O Vaestorekisterikeskus CA
SSL_CLIENT_I_DN CN=VRK Gov. CA for Citizen Qualified Certificates - G2,OU=Valtion kansalaisvarmenteet,O=Vaestorekisterikeskus CA,C=FI
SSL_CLIENT_S_DN CN=TUOMALA JUHA 10000350X,SN=TUOMALA,GN=JUHA,serialNumber=10000350X,C=FI
SSL_CLIENT_S_DN_CN TUOMALA JUHA 10000350X
SSL_CLIENT_S_DN_S TUOMALA
SSL_CLIENT_SAN_Email_0 juha.tuomala@iki.fi

Jos SATU:a käyttää tietokanta-avaimena, kannattaa ehkä harkita jonkin maakohtaisen prefixin lisäämistä kuten SAML PersonIdentifier attribuutissa on tehty, tai miten ETSI määrittelee maakohtaisen PNO-prefixin.

Katso myös

Aiheesta muualla