Ero sivun ”Tekniikka/Apache/2.4” versioiden välillä

Kohteesta DigiWiki
Siirry navigaatioon Siirry hakuun
 
(15 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 2: Rivi 2:
  
  
== Serverin asetukset ==
+
== Varmennekättely ==
 +
'''SSLCADNRequestPath''' asetus mod_ssl moduulissa määrittää asiakaspäälle lähetettävän takaajien listan hyväksyttävistä varmenteista.
 +
 
 +
* https://httpd.apache.org/docs/2.4/mod/mod_ssl.html
 +
* [[Varmennekättely]]
 +
 
 +
== Palvelimen asetukset ==
  
 
  <VirtualHost 88.196.164.221:443>
 
  <VirtualHost 88.196.164.221:443>
Rivi 17: Rivi 23:
 
   CustomLog      logs/digisaatio.fi-access.ssl.log combined
 
   CustomLog      logs/digisaatio.fi-access.ssl.log combined
 
   
 
   
   DirectoryIndex index.html index.shtml index.php index.py index.html.var index.php
+
   DirectoryIndex index.html index.shtml index.php index.py index.html.var
 
   
 
   
 
   AddHandler php5-script .php
 
   AddHandler php5-script .php
Rivi 46: Rivi 52:
 
  </VirtualHost>
 
  </VirtualHost>
  
Vaadittavat Digiviraston CA-varmenteet saa heidän CA-varmenetet sivulta:
+
Vaadittavat Digiviraston CA-varmenteet saa heidän CA-varmenteet sivulta:
 
* https://dvv.fi/ca-varmenteet
 
* https://dvv.fi/ca-varmenteet
 +
 +
Apachen dokumentaatiota:
 +
* https://httpd.apache.org/docs/2.4/mod/mod_ssl.html
 +
* https://httpd.apache.org/docs/2.4/env.html
  
 
== Käyttäjän tiedot ==
 
== Käyttäjän tiedot ==
  
Taulukossa osa HTTP-yhteyden varmenteelta 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'').
+
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.
  
 
{| class="wikitable sortable" style=";"
 
{| class="wikitable sortable" style=";"
Rivi 80: Rivi 90:
 
|SSL_CLIENT_S_DN_S
 
|SSL_CLIENT_S_DN_S
 
|TUOMALA
 
|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|SAML PersonIdentifier attribuutissa]] on tehty, tai miten [[ETSI]] määrittelee maakohtaisen PNO-prefixin.
  
 
== Katso myös ==
 
== Katso myös ==
 +
* [[Apache]]
  
 
== Aiheesta muualla ==
 
== Aiheesta muualla ==
 
* https://serverfault.com/questions/238538/static-page-instead-of-the-default-ssl-error-handshake-failure-alert
 
* https://serverfault.com/questions/238538/static-page-instead-of-the-default-ssl-error-handshake-failure-alert
 
* https://stackoverflow.com/questions/6110489/apache-custom-error-handling-creating-secure-connection
 
* https://stackoverflow.com/questions/6110489/apache-custom-error-handling-creating-secure-connection
 +
 +
 +
[[Luokka:Tekniikka]]

Nykyinen versio 3. huhtikuuta 2022 kello 14.43

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