Ero sivun ”Tekniikka/Mediawiki/pre1.27” versioiden välillä

DigiWikistä
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
Rivi 7: Rivi 7:
=== Apache ===
=== Apache ===


Rakennettaessa asiakaspään varmennetta hyödyntävää tunnistusta, tarvitsee erotella normaali sivujen käyttö pelkästä tunnistustapahtumasta koska älykortin lukeminen jokaisella sivunlatauksella ei ole tarpeellista eikä mielekästä sen hitauden takia. Mediawikissä tarvittavia virtuaaliserverin lokaatiopohjaisia asetuksia ei voi
Mediawiki käyttää suurimmaksi osaksi '''index.php''' scriptiä ja kaikkia wikin sivuja osoitetaan sen title= argumenteilla. Apache web-palvelin on hieman hankala käsitellessä näitä urleja, sillä se käsittelee linkin REQUEST_URI-osan ja sen kysymysmerkin (?) jälkeisen osan, QUERY_STRING-kyselyn erikseen. Tämä pätee myös erikoissivuihin (''title=Toiminnot:Kirjaudu_sisään, title=Spaceial:UserLogin'') joissa siis tulisi vaatia käyttäjän varmennetta '''SSLRequireSSL''' ja '''SSLVerifyClient require''' SSL-asetuksilla.
<VirtualHost 212.16.100.42:80>
  AddHandler php5-script .php
  AddType text/html .php
  DirectoryIndex index.html index.shtml index.php
  RewriteEngine  on
  RewriteCond    %{HTTPS} off
  RewriteCond %{REQUEST_URI} /mediawiki/index.php
  RewriteCond %{QUERY_STRING} title=Toiminnot:Kirjaudu_sis%C3%A4%C3%A4n&returnto=Etusivu
  RewriteRule ^(.*)$ https://%{SERVER_NAME}/mediawiki/index.php?title=Toiminnot:Kirjaudu_sisään&returnto=Etusivu [R]
  ScriptAlias /wiki /srv/www/digisaatio.fi/mediawiki/index.php
 
</VirtualHost>
<VirtualHost 212.16.100.42:443>
  DirectoryIndex index.html index.shtml index.php
  AddHandler php5-script .php
  AddType text/html .php
  RewriteEngine  on
 
  RewriteCond %{REQUEST_URI} /wiki/Toiminnot:Kirjaudu_sis%C3%A4%C3%A4n
  RewriteRule /wiki/Toiminnot:Kirjaudu_sis%C3%A4%C3%A4n /auth/fineid [PT,QSA]
 
  RewriteCond %{REQUEST_URI} /mediawiki/index.php
  RewriteCond %{QUERY_STRING} title=Toiminnot:Kirjaudu_sis%C3%A4%C3%A4n&returnto=Etusivu
  RewriteRule /mediawiki/index.php /auth/fineid [PT,QSA]
 
  RewriteCond %{REQUEST_URI} /mediawiki/index.php
  RewriteCond %{QUERY_STRING} title=Toiminnot:Kirjaudu_sis%C3%A4%C3%A4n&returnto=Etusivu&action=submitlogin&type=login&returnto=Etusivu
  RewriteRule /mediawiki/index.php /auth/fineid [PT,QSA]
 
  ScriptAlias "/auth/fineid" /srv/www/digisaatio.fi/mediawiki/index.php
 
  SSLEngine on
  SSLProxyEngine off
  SSLProtocol All
  SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:+SSLv3
  SSLOptions +OptRenegotiate +StdEnvVars +ExportCertData
 
  SSLCertificateFile /srv/sys/pki/digisaatio.fi.cert.pem
  SSLCertificateKeyFile /srv/sys/pki/digisaatio.fi.key.pwdless.pem
  SSLCACertificatePath /srv/sys/pki/ca
 
  <Location "/auth/fineid" >
    SSLRequireSSL
    SSLVerifyClient require
    SSLVerifyDepth  2
    SSLRequire      %{SSL_CLIENT_I_DN_OU} eq "Valtion kansalaisvarmenteet"
  </Location>
</VirtualHost>


=== LocalSettings.php ===
=== LocalSettings.php ===

Versio 5. tammikuuta 2016 kello 16.25

Mediawiki on Wikipediaa varten kehitetty wiki-ohjelmisto ja suosituin eri wiki-variaatioista.


Varmennetunnistus

Apache

Rakennettaessa asiakaspään varmennetta hyödyntävää tunnistusta, tarvitsee erotella normaali sivujen käyttö pelkästä tunnistustapahtumasta koska älykortin lukeminen jokaisella sivunlatauksella ei ole tarpeellista eikä mielekästä sen hitauden takia. Mediawikissä tarvittavia virtuaaliserverin lokaatiopohjaisia asetuksia ei voi

Mediawiki käyttää suurimmaksi osaksi index.php scriptiä ja kaikkia wikin sivuja osoitetaan sen title= argumenteilla. Apache web-palvelin on hieman hankala käsitellessä näitä urleja, sillä se käsittelee linkin REQUEST_URI-osan ja sen kysymysmerkin (?) jälkeisen osan, QUERY_STRING-kyselyn erikseen. Tämä pätee myös erikoissivuihin (title=Toiminnot:Kirjaudu_sisään, title=Spaceial:UserLogin) joissa siis tulisi vaatia käyttäjän varmennetta SSLRequireSSL ja SSLVerifyClient require SSL-asetuksilla.


<VirtualHost 212.16.100.42:80>

 AddHandler php5-script .php
 AddType text/html .php
 DirectoryIndex index.html index.shtml index.php

 RewriteEngine  on
 RewriteCond    %{HTTPS} off

 RewriteCond %{REQUEST_URI} /mediawiki/index.php
 RewriteCond %{QUERY_STRING} title=Toiminnot:Kirjaudu_sis%C3%A4%C3%A4n&returnto=Etusivu
 RewriteRule ^(.*)$ https://%{SERVER_NAME}/mediawiki/index.php?title=Toiminnot:Kirjaudu_sisään&returnto=Etusivu [R]

 ScriptAlias /wiki /srv/www/digisaatio.fi/mediawiki/index.php
 
</VirtualHost>


<VirtualHost 212.16.100.42:443>
 DirectoryIndex index.html index.shtml index.php

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

 RewriteEngine  on
 
 RewriteCond %{REQUEST_URI} /wiki/Toiminnot:Kirjaudu_sis%C3%A4%C3%A4n
 RewriteRule /wiki/Toiminnot:Kirjaudu_sis%C3%A4%C3%A4n /auth/fineid [PT,QSA]
 
 RewriteCond %{REQUEST_URI} /mediawiki/index.php
 RewriteCond %{QUERY_STRING} title=Toiminnot:Kirjaudu_sis%C3%A4%C3%A4n&returnto=Etusivu
 RewriteRule /mediawiki/index.php /auth/fineid [PT,QSA]
 
 RewriteCond %{REQUEST_URI} /mediawiki/index.php
 RewriteCond %{QUERY_STRING} title=Toiminnot:Kirjaudu_sis%C3%A4%C3%A4n&returnto=Etusivu&action=submitlogin&type=login&returnto=Etusivu
 RewriteRule /mediawiki/index.php /auth/fineid [PT,QSA]
 
 ScriptAlias "/auth/fineid" /srv/www/digisaatio.fi/mediawiki/index.php
 
 SSLEngine on
 SSLProxyEngine off
 SSLProtocol All
 SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:+SSLv3
 SSLOptions +OptRenegotiate +StdEnvVars +ExportCertData
 
 SSLCertificateFile /srv/sys/pki/digisaatio.fi.cert.pem
 SSLCertificateKeyFile /srv/sys/pki/digisaatio.fi.key.pwdless.pem
 SSLCACertificatePath /srv/sys/pki/ca
 
 <Location "/auth/fineid" >
   SSLRequireSSL
   SSLVerifyClient require
   SSLVerifyDepth  2
   SSLRequire      %{SSL_CLIENT_I_DN_OU} eq "Valtion kansalaisvarmenteet"
 </Location>

</VirtualHost>

LocalSettings.php

require_once( "$IP/extensions/SSLAuthentication/SSLAuthPlugin.php" );

# Käytä käyttäjän varmenteen tietoja tunnuksen alustamiseksi.
$ssl_map_info = true;

# Real Name
# Käyttäjän oletus nimi hänen metatiedoissa. Käyttäjä voi myöhemmin itse muuttaa tätä.
if ( isset($_SERVER['SSL_CLIENT_S_DN_CN']) and isset($_SERVER['SSL_CLIENT_S_DN_S'] ) ) {
  $ssl_RN = $_SERVER['SSL_CLIENT_S_DN_G'] . " " . $_SERVER['SSL_CLIENT_S_DN_S'];
}

# User Name
# Käyttäjän käyttäjätunnus, joko koko Common Name, esim: TUOMALA JUHA 10000350X
# tai sen viimeinen osa, SATU-tunnus, esim: 10000350X
if (isset($_SERVER['SSL_CLIENT_S_DN_CN'])) {
  # $ssl_UN = $_SERVER['SSL_CLIENT_S_DN_CN'];
  $ssl_UN = end( explode(" ", $_SERVER['SSL_CLIENT_S_DN_CN']) );
};

SSLAuthSetup();


Aiheesta muualla