Mit SSL verschlüsseln
In den letzten Wochen habe ich mich mit der SSL-Verschlüsselung auseinandergesetzt. Hierzu war der Auftrag gegen, die Kommunikation mit meinem WordPress-Server mit SSL-Zertifikat zu verschlüsseln. Da ein offizielles Zertifikat kostet, musste ich ein selbst-signiertes SSL Zertifikat (Self-Signed SS L Certificates) erstellen. Hier noch meine Anleitung:
-
OpenSSL installieren
sudo dnf install openssl -y
-
SSL-Modul für den Apache Webserver installieren
sudo dnf install mod_ssl -y
-
In einen Ordner wechseln, worauf der private.key gespeichert werden kann
cd /etc/ssl/
-
private.key generieren
sudo openssl genrsa -out private.key 2048
-
Mit der private.key Datei die server.csr Datei erstellen
sudo openssl req -key private.key -new -out server.csr
-
Die gefragten Angaben beantworten, einiges kann auch frei gelassen werden.
-
Aus der private.key und der server.csr die server.crt Datei generieren
sudo openssl x509 -signkey private.key -in server.csr -req -days 365 -out server.crt
-
Um den Zertifikat anzuzeigen, kann dieser Befehl benutzt werden
sudo openssl x509 -text -noout -in server.crt
-
In das angegebene Ordner wechseln
cd /etc/httpd/conf.d/
-
Die ssl.conf Datei bearbeiten
sudo vi ssl.conf
Folgende Direktiven sind hierbei anzupassen:
- DocumentRoot
- ServerName
- SSLCertificateFile
- SSLCertificateKeyFile
Vorher:
... <VirtualHost _default_:443> # General setup for the virtual host, inherited from global configuration #DocumentRoot "/var/www/html" #ServerName www.example.com:443 ... SSLCertificateFile /etc/pki/tls/certs/localhost.crt ... SSLCertificateKeyFile /etc/pki/tls/private/localhost.key ...
Nachher:
... <VirtualHost _default_:443> # General setup for the virtual host, inherited from global configuration DocumentRoot "/var/www/html/wordpress" ServerName localhost ... SSLCertificateFile /etc/ssl/server.crt ... SSLCertificateKeyFile /etc/ssl/private.key ...