Einrichtung eines SSL Zertifikats

Geändert am Mon, 30 Oct 2023 um 09:07 AM


Sie benötigen Zugriff per SSH auf den Server um die folgenden Schritte durchzuführen. 
Dies ist eine Anleitung für die Kunden IT

 


Dieser Teil ist für die erstmalige Einrichtung eines SSL Zertifikats. Wenn Sie Ihr Zertifikat erneuern möchten, scrollen Sie bitte zu dem zweiten Teil der Anleitung. 


Bitte ersetzen Sie die rot markierten Abschnitte mit Ihren Daten. 


Erstellung eines Certificate Signing Request (CSR)

Für die Einrichtung von SSL werden root-Berechtigungen benötigt. Statt vim kann auch z.B. der einsteigerfreundlichere Editor "nano" verwendet werden.


1. Erstellung eines private Key

cd /etc/ssl/private
openssl genrsa -out fqdn.key.pem 2048

Bitte ersetzen Sie den rot markierten Teil mit dem FQDN Ihres Q.wiki. Beispielsweise: qwiki.acme.local


2. Anlegen des CSR

vim fqdn.csr.conf

In diese Datei Folgendes einfügen (bitte ändern Sie die rot markierten Abschnitte mit Ihren Daten ab):

[req] distinguished_name = req_distinguished_name 
req_extensions = v3_req
prompt = no
[req_distinguished_name]
C = DE
ST = NRW
L = AACHEN
O = Modell Aachen GmbH
OU = IT-Services
CN = QWIKIFQDN
emailAddress = technischerAP@kunde.de
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = qwiki.kundeabc.de
DNS.2 = hostname.kundeabc.de

Nach dem Speichern kann der CSR mit folgenden Befehl erstellt werden: 

openssl req -new -out fqdn.csr -key fqdn.key.pem -config fqdn.csr.conf

Durch den Befehl wird eine Datei fqdn.csr im aktuellen Verzeichnis erstellt. Diese kann per SCP heruntergeladen werden. Alternativ kann der Inhalt auch kopiert und in eine "fqdn.csr" auf einem Windows-Rechner eingefügt werden. Mit dem CSR kann in Ihrer CA ein neues Zertifikat angefordert werden.



Einrichten oder aktualisieren eines SSL Zertifikats


1. Zertifikat und eventuell Key auf den Q.wiki Server in /etc/ssl/private ablegen. Alle weiteren Schritte, sofern nicht anders angegeben, werden in diesem Verzeichnis durchgeführt. 

2. Format prüfen. 

Es wird ein RSA Key (ohne Passwort - falls Passwort vorhanden sehen Sie Schritt 3), sowie ein base64 kodiertes X509 Zertifikat benötigt. DER und PKCS#12 müssen konvertiert werden. 


DER konvertieren

openssl x509 -inform der -in fqdn.xyz -out fqdn.cert.pem 

PKCS#12 konvertieren

Private Key extrahieren

openssl pkcs12 -in fqdn.pfx -nocerts -nodes -out fqdn.key.pem 

Zertifikat extrahieren

openssl pkcs12 -in fqdn.pfx -clcerts -nokeys -out fqdn.cert.pem


3. Private Key überprüfen

openssl rsa -noout -in fqdn.key.pem

Sollte eine Passwortabfrage kommen, muss diese entfernt werden, da das Passwort ansonsten bei jedem Webserver Neustart manuell eingegeben werden muss. 


4. Dateiberechtigung anpassen

chown root:root fqdn.* 
chmod 0600 fqdn.*

Sollten Sie nur eine Aktualisierung des Zertifikats vorgenommen haben, können Sie zu Punkt 7 springen. 


5. Bearbeitung der nginx Konfiguration. (nur bei Ersteinrichtung von SSL nötig, oder wenn die Dateinamen des Zertifikats verändert wurden) 

vim /etc/nginx/sites-enabled/qwiki_http.conf


Die vorhandene Konfiguration muss gelöscht werden und mit folgender angepasster Konfiguration ersetzt werden. 

server {
    listen 80 default_server;
    listen [::]:80 default_server;


    server_name qwiki_http;
    rewrite ^/(.*)$ https://qwiki.acme.loacal/$1 permanent;
}


server {
    listen 443 default_server ssl;
    listen [::]:443 default_server ssl;


    server_name qwiki_https;


    root /var/www/qwikis/core;


    ssl_certificate /etc/ssl/private/CERT;
    ssl_certificate_key /etc/ssl/private/KEY;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;




    location ~ (/pub/System|/robots.txt) {
    sendfile on;
    tcp_nopush on;
    expires 7d;
    add_header Cache-Control "public, no-transform";
}


location / {
    proxy_http_version 1.1;


    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Scheme $scheme;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


proxy_pass http://qwiki;
}


}

6. Anpassung der Q.wiki Konfigurationsdatei (nur bei Ersteinrichtung von SSL nötig)

vim /var/www/qwiki/core/lib/LocalSite.cfg

In dieser Datei nach dem Q.wiki Hosteintrag "DefaultUrlHost" suchen, und zu dem Ergebnis mit der fqdn Ihres Systems springen. 

Hier muss das 'http' durch ein 'https' ersetzt / erweitert werden. 

Danach die Datei speichern und die Services neustarten (punkt 7).


7. Neustarten der Services

a2enmod ssl
systemctl restart nginx qwiki









War dieser Artikel hilfreich?

Das ist großartig!

Vielen Dank für das Feedback

Leider konnten wir nicht helfen

Vielen Dank für das Feedback

Wie können wir diesen Artikel verbessern?

Wählen Sie wenigstens einen der Gründe aus

Feedback gesendet

Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren