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

Kohteesta DigiWiki
Siirry navigaatioon Siirry hakuun
Rivi 1: Rivi 1:
 +
'''Apache 2.4''' version suuntaa antava esimerkkitiedosto asiakaspään / henkilökortin varmennetunnistukselle. Varmenteen PIN-koodin vaativa ''SSLVerifyClient require'' asetus tulee asettaa sovelluskohtaisesti oikein.
  
  
 +
== Serverin asetukset ==
  
https://serverfault.com/questions/238538/static-page-instead-of-the-default-ssl-error-handshake-failure-alert
+
<VirtualHost 88.196.164.221:443>
https://stackoverflow.com/questions/6110489/apache-custom-error-handling-creating-secure-connection
+
  ServerName    digisaatio.fi
 +
  DocumentRoot  /srv/www/digisaatio.fi
 +
  ServerAdmin    webmaster@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 index.php
 +
 +
  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/acme.sh/digisaatio.fi/fullchain.cer
 +
    SSLCertificateKeyFile /etc/pki/acme.sh/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-varmenetet sivulta:
 +
* https://dvv.fi/ca-varmenteet
 +
 
 +
== 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'').
 +
 
 +
{| class="wikitable sortable" style=";"
 +
!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
 +
|}
 +
 
 +
== Katso myös ==
 +
 
 +
== Aiheesta muualla ==
 +
* 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

Versio 19. helmikuuta 2021 kello 12.46

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


Serverin asetukset

<VirtualHost 88.196.164.221:443>
 ServerName     digisaatio.fi
 DocumentRoot   /srv/www/digisaatio.fi
 ServerAdmin    webmaster@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 index.php

 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/acme.sh/digisaatio.fi/fullchain.cer
   SSLCertificateKeyFile /etc/pki/acme.sh/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-varmenetet sivulta:

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).

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

Katso myös

Aiheesta muualla