dvestezar.cz

  • Increase font size
  • Default font size
  • Decrease font size
Home Články ISPConfig 3 Přístup na Web server jen s privátním klíčem

Přístup na Web server jen s privátním klíčem

Email Tisk PDF

Návod jak nastavit vynucené zabezpečené spojení s Web serverem s nutností použít privátní  klíč.

XCA 1.1.0 je program pro správu cetifikátů - Open

Vytvoření certifikátů

Potřebujeme certifikační autoritu

Vytvoříme žádost na CA v XCA - New Requset

Vyplníme v záložce:

  • Source :
    - Dole vybereme template CA a dáme Apply All
  • Subject :
    - Vyplníme info a dole klikneme na Create a new key a tento vygenerovaný klíč vybereme
  • Klikneme na OK

Podepíšeme žádost - záložka

  • Source :
    - Signing - vybereme "Create self signed"
  • Extension
    - Tady si můžeme upravit expiration třeba na 20 let
  • Klikneme na OK

Tímto máme vytvořený CA -  vyexportujeme si ho jako PEM s příponou crt se jménem ca.crt

 

Podepíšeme si Webserver

Vytvoříme si žádost

  • Source :
    - Dole vybereme template HTTPS Server a dáme Apply All
  • Subject :
    - Vyplníme info
    - Důležitá položka je "commonName" kde musí být název serveru tj x.z.cz
    - Dole klikneme na Create a new key a tento vygenerovaný klíč vybereme
  • Klikneme na OK

Podepíšeme žádost

Podepíšeme žádost - záložka

  • Source :
    - Signing - vybereme "Use this certificate" a vyberem náš CA certifikát
  • Extension
    - Tady si můžeme upravit expiration třeba na x roky
  • Klikneme na OK

Nic neexportujeme

 

Nyní si konečně uděláme klientský certifikát PK12

Vytvoříme si žádost

  • Source :
    - Dole vybereme template HTTPS Client a dáme Apply All
  • Subject :
    - Vyplníme info
    - Důležitá položka je "inernalName" a "commonName" kde musí být třeba jméno dotyčného zamozřejmě bez diakritiky a mezer
    - Dole klikneme na Create a new key a tento vygenerovaný klíč vybereme
  • Klikneme na OK

Podepíšeme žádost

Podepíšeme žádost - záložka

  • Source :
    - Signing - vybereme "Use this certificate" a vyberem náš CA certifikát
  • Extension
    - Tady si můžeme upravit expiration třeba na x roky
  • Klikneme na OK

Vyexportujeme si certifikát do souboru - vybereme "PKCS #12" ne tu druhou volbu

 

Tak toto je zatím vše teď vytvoříme server

V ISPConfigu vytvoříme webserver s názvem např x.z.cz

Při vytváření serveru v záložce SSL

  1. Tady vložíme certifikáty
    - V XCA přepneme na žádosti a na žádosti našeho serveru dáme pomocí pravého dtlačítka Export to Clipboard a dáme CTRL+V do "SSL požadavek"
    - V XCA přepneme na Private key a na klíči k žádosti serveru dáme export do Clipboardu a vložíme do políčka "SSL klíč"
    - V XCA přepneme na Certificates a na certifikátu našeho serveru dáme pomocí pravého tlačítka Export to Clipboard a dáme CTRL+V do "SSL certifikát"
  2. Dole vybereme "Uložit certifikát""
  3. Přepneme na záložku "Volby" a vložíme do "Apache directivy"
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

    SSLCACertificateFile /var/www/clients/client1/web2/ssl/ca.crt

    <Location />
       SSLVerifyClient require
       SSLVerifyDepth 10
    </Location>
    Rewrite zajistí vynucení HTTPS
    SSLCACertificateFile je celá cesta k certifikátu samotné CA vygenerovaný viz výše
    Location / zajistí vynucení, že při pokusu o připojení na doménu musí být použit privátní klíč
  4. Uložíme server

Než ISP dokonfiguruje

Než naběhne konfigurace v ISP tak si ještě naimporujeme náš klíč do prohlížečů, to snad popisovat netřeba

Jakmile ISP udělá co má tak po zadání http://x.y.cz by seměl prohlížeč přesměrovat na https a zažádat o výběr privátního klíče.

Vše hotovka

Pokud dojde k úniku klíčů, udělá se celý postup znovu a nahrazením CA jsou kompletně zablokovány staré certifikáty

 

Ještě doporučuji

V XCA lze jednoduše vytvořit Revocation List ...

- V XCA musí být aspoň jeden certifikát označen jako Revoke.
- Na CA pravým tlačítkem v kontext menu dáme CA>Generate CRL

... takže po exportu ho jen nakopírujem k ca.crt a v ISP přidáme


SSLCARevocationFile /var/www/clients/client1/web2/ssl/ca_rev_list.crl
SSLCARevocationCheck chain

Po každé změně listu je potřeba restartnout Apache

Aktualizováno Čtvrtek, 08 Leden 2015 22:40