Difference between revisions of "SSL"

From A-Eskwiki
Jump to: navigation, search
Line 24: Line 24:
  
 
Met het volgende commando kunnen de Private Key en de CSR worden gegenereerd:
 
Met het volgende commando kunnen de Private Key en de CSR worden gegenereerd:
<pre style="font-family: monospace, Courier; padding: 1em; border-color: rgb(221, 221, 221); color: rgb(0, 0, 0); line-height: 1.1em; font-size: 12.6999998092651px; background-color: rgb(249, 249, 249);">[root@server]# openssl req -nodes -newkey rsa:2048 \
+
<pre style="font-family: monospace, Courier; padding: 1em; border-color: rgb(221, 221, 221); color: rgb(0, 0, 0); line-height: 1.1em; font-size: 12.6999998092651px; background-color: rgb(249, 249, 249)">[root@server]# openssl req -nodes -newkey rsa:2048 \
 
-keyout a-eskwadraat_nl.`date +%Y%m%d`.key \
 
-keyout a-eskwadraat_nl.`date +%Y%m%d`.key \
 
-out a-eskwadraat_nl.`date +%Y%m%d`.csr \
 
-out a-eskwadraat_nl.`date +%Y%m%d`.csr \
Line 47: Line 47:
  
 
De velden emailadres, optionele bedrijfsnaam en uitwisselingswachtwoord kunnen leeggelaten worden bij het aanvragen van een SSL certificaat.
 
De velden emailadres, optionele bedrijfsnaam en uitwisselingswachtwoord kunnen leeggelaten worden bij het aanvragen van een SSL certificaat.
[[Category:Sysop]]
+
 
 +
 
 +
 
 +
== IPA SSL intern ==
 +
<div class="gmail_default"><font face="garamond, serif">Hier staat eigenlijk alles dat je moet weten:&nbsp;</font><span style="font-family:garamond,serif">[http://www.freeipa.org/page/Apache_SNI_With_Kerberos http://www.freeipa.org/page/Apache_SNI_With_Kerberos]</span><br/></div><div class="gmail_default"><span style="font-family:garamond,serif">Het komt hier op neer (merk op dat 'dummyhost' de naam van de virtualhost is):</span></div><div class="gmail_default"><font face="monospace, monospace">mkdir /etc/httpd/certs</font><br/></div><div class="gmail_default" style="font-family:monospace,monospace"><br/></div><div class="gmail_default" style="font-family:monospace,monospace">semanage fcontext -a -t cert_t '/etc/httpd/certs(/.*)?' && restorecon -v /etc/httpd/certs<br/></div><div style="font-family:monospace,monospace"><div><span class="il">ipa</span> host-add [http://dummyhost.example.com dummyhost.example.com] --desc="Dummy Host" --location="&lt;fqdn-of-webserver&gt;"<br/></div><div><span class="il">ipa</span> host-add-managedby [http://dummyhost.example.com dummyhost.example.com] --hosts="&lt;fqdn-of-webserver&gt;"<br/></div></div><div style="font-family:monospace,monospace"><div><span class="il">ipa</span> service-add HTTP/[http://dummyhost.example.com dummyhost.example.com]<br/></div><div><span class="il">ipa</span> service-add-host HTTP/[http://dummyhost.example.com dummyhost.example.com] --hosts="&lt;fqdn-of-webserver&gt;"<br/></div></div><div style="font-family:monospace,monospace"><div><span class="il">ipa</span>-<span class="il">getcert</span> request -r -f /etc/httpd/certs/dummyhost.crt -k /etc/httpd/certs/dummyhost.key -N CN=[http://dummyhost.example.com dummyhost.example.com] -D [http://dummyhost.example.com dummyhost.example.com] -K HTTP/[http://dummyhost.example.com dummyhost.example.com]</div></div><div style="font-family:monospace,monospace"><br/></div><div><font face="garamond, serif">Het zou kunnen dat je de package <span class="il">ipa</span>-admintools moet installeren.</font><br/></div>[[Category:Sysop]]

Revision as of 14:52, 26 May 2015

Uitleg

SSL wordt gebruikt om netwerk verbindingen te beveiligingen, zoals http en imap verkeer. Hiertoe gebruiken we bij a-eskwadraat een reverse proxy die het verkeer versleuteld voor de buitenwereld.

Voor het certificaat van A-Eskwadraat maken we op dit moment gebruik van xolphin: https://www.sslcertificaten.nl/

Wachtwoord van certificaat halen

Indien de private key is beveiligd met een wachtwoord, dan is dit wachtwoord ook nodig bij het opstarten. Dit kan vervelend zijn wanneer de server opnieuw opstart zonder dat iemand ter plaatse is om het wachtwoord in te tikken. Het wachtwoord kan met het volgende commando worden verwijderd. Zorg hierbij dat de shell zich bevindt in de map waarin de private key staat opgeslagen:

[root@server cert]# openssl rsa -in encrypted_private_key.key -out private_key.key

Vervang hierbij encrypted_private_key.key met de naam van de private key, en vervang private_key.key met de gewenste bestandsnaam voor de nieuwe private key zonder wachtwoord.

Aanmaken CSR

stap 1

Maak met behulp van SSH verbinding met de server en log in als root. Ga met behulp van het cd-commando naar de map toe waar de certificaten moeten worden bewaard:

[root@server]# cd /etc/ssl/cert/

stap 2

Met het volgende commando kunnen de Private Key en de CSR worden gegenereerd:

[root@server]# openssl req -nodes -newkey rsa:2048 \
-keyout a-eskwadraat_nl.`date +%Y%m%d`.key \
-out a-eskwadraat_nl.`date +%Y%m%d`.csr \
-subj '/C=NL/ST=Utrecht/L=Utrecht/O=A-Eskwadraat/OU=Sysop/CN=*.a-eskwadraat.nl/emailAddress=sysop@a-eskwadraat.nl'

stap 3

OpenSSL genereert twee bestanden: de Private Key (met als naam a-eskwadraat_nl.{datum}.key) en de CSR (met als naam a-eskwadraat_nl.{datum}.csr).

stap 4

Beveilig de certificaatbestanden zodat niemand behalve de rootgebruiker erbij kan:

[root@server cert]# chmod 600 *.key *.csr

stap 6

Nu kan de CSR met behulp van het cat-commando worden weergegeven:

[root@server cert]# cat a-eskwadraat_nl.`date +%Y%m%d`.csr 

De velden emailadres, optionele bedrijfsnaam en uitwisselingswachtwoord kunnen leeggelaten worden bij het aanvragen van een SSL certificaat.


IPA SSL intern

Hier staat eigenlijk alles dat je moet weten: http://www.freeipa.org/page/Apache_SNI_With_Kerberos
Het komt hier op neer (merk op dat 'dummyhost' de naam van de virtualhost is):
mkdir /etc/httpd/certs

semanage fcontext -a -t cert_t '/etc/httpd/certs(/.*)?' && restorecon -v /etc/httpd/certs
ipa host-add dummyhost.example.com --desc="Dummy Host" --location="<fqdn-of-webserver>"
ipa host-add-managedby dummyhost.example.com --hosts="<fqdn-of-webserver>"
ipa service-add HTTP/dummyhost.example.com
ipa service-add-host HTTP/dummyhost.example.com --hosts="<fqdn-of-webserver>"
ipa-getcert request -r -f /etc/httpd/certs/dummyhost.crt -k /etc/httpd/certs/dummyhost.key -N CN=dummyhost.example.com -D dummyhost.example.com -K HTTP/dummyhost.example.com

Het zou kunnen dat je de package ipa-admintools moet installeren.