Wéi erstellt ech e lokalen selbst ënnerschriwwenen SSL Zertifika op CentOS 8


SSL (Secure Socket Layer), a seng verbessert Versioun, TLS (Transport Socket Layer), si Sécherheetsprotokoller déi benotzt gi fir de Webverkéier ze sécheren, dee vum Client säi Webbrowser op e Webserver geschéckt gëtt.

En SSL Zertifika ass en digitale Zertifika deen e séchere Kanal tëscht engem Client säi Browser an engem Webserver erstellt. Dobäi ginn sensibel a vertraulech Donnéeën wéi Kredittkaartdaten, Login-Umeldungsinformatiounen an aner héich privat Informatioun verschlësselt, verhënnert datt Hacker Är Informatioun oflauschteren an klauen.

E selbst ënnerschriwwene SSL Zertifika, am Géigesaz zu anere SSL Zertifikater, déi vun enger Zertifika Autoritéit (CA) ënnerschriwwen a vertraut sinn, ass en Zertifika ënnerschriwwen vun engem Individuum deen et besëtzt.

Et ass ganz gratis een ze kreéieren an ass e bëllege Wee fir Äre lokal gehoste Webserver ze verschlësselen. Wéi och ëmmer, d'Benotzung vun engem selbst ënnerschriwwene SSL Zertifika ass héich decouragéiert a Produktiounsëmfeld aus de folgende Grënn:

  1. Well et net vun enger Zertifizéierungsautoritéit ënnerschriwwe gëtt, generéiert e selbst ënnerschriwwenen SSL Zertifika Alarmer op Webbrowser, déi d'Benotzer vu potenzielle Risiko viraus warnen, wa se décidéieren weiderzegoen. Dës Alarmer sinn onerwënscht a wäerten d'Benotzer ofhalen fir Är Websäit ze besichen, wat potenziell zu engem Réckgang am Webverkéier féiert. Als Léisung fir dës Alarmer encouragéieren Organisatiounen normalerweis hir Mataarbechter einfach d'Alarmer ze ignoréieren a virugoen. Dëst kann eng geféierlech Gewunnecht ënner de Benotzer entscheeden, déi entscheeden dës Alarmer op aneren Online-Site weider ze ignoréieren, potenziell Affer vu Phishing-Siten ze falen.
  2. Selbst ënnerschriwwen Certificaten hunn en nidderegen Sécherheetsniveau well se niddereg-Niveau Chiffer Technologien an Hashes implementéieren. Sou ass de Sécherheetsniveau vläicht net am Par mat der Standard Sécherheetspolitik.
  3. Zousätzlech gëtt et keng Ënnerstëtzung fir Public Key Infrastructure (PKI) Funktiounen.

Dat gesot, d'Benotzung vun engem selbst ënnerschriwwene SSL Zertifika ass keng schlecht Iddi fir Servicer an Uwendungen op enger lokaler Maschinn ze testen déi TLS/SSL Verschlësselung erfuerdert.

An dësem Guide léiert Dir wéi Dir e lokalen selbst ënnerschriwwene SSL Zertifika op den Apache localhost Webserver op engem CentOS 8 Server System installéiere wëllt.

Ier Dir ufänkt, gitt sécher datt Dir déi folgend Basisfuerderunge hutt:

  1. Eng Instanz vum CentOS 8 Server.
  2. Apache Webserver um Server installéiert
  3. E Hostnumm scho konfiguréiert an definéiert an der /etc/hosts Datei. Fir dëse Guide benotze mir tecmint.local en Hostnumm fir eise Server.

Schrëtt 1: Mod_SSL op CentOS installéieren

1. Fir unzefänken, musst Dir verifizéieren datt den Apache Webserver installéiert ass a leeft.

$ sudo systemctl status httpd

Hei ass den erwaarten Ausgang.

Wann de Webserver net leeft, kënnt Dir et starten an aktivéieren beim Booten mam Kommando.

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Dir kënnt duerno bestätegen ob Apache op a leeft.

2. Fir d'Installatioun an d'Opstellung vum lokalen selbst ënnerschriwwene SSL Zertifika z'aktivéieren, ass de Mod_ssl Package erfuerderlech.

$ sudo dnf install mod_ssl

Eemol installéiert, kënnt Dir seng Installatioun verifizéieren andeems Dir lafen.

$ sudo rpm -q mod_ssl

Gitt och sécher datt den OpenSSL Package installéiert ass (OpenSSL kënnt als Standard installéiert an CentOS 8).

$ sudo rpm -q openssl 

Schrëtt 2: Erstellt e Lokal Self-Ënnerschriwwen SSL Zertifikat fir Apache

3. Mat dem Apache Webserver an all Viraussetzungen am Scheck, musst Dir e Verzeechnes erstellen an deem d'kryptographesch Schlësselen gespäichert ginn.

An dësem Beispill hu mir e Verzeechnes op /etc/ssl/private erstallt.

$ sudo mkdir -p /etc/ssl/private

Erstellt elo de lokalen SSL Zertifikatschlëssel a Datei mam Kommando:

$ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt

Loosst eis kucken wat e puer vun den Optiounen am Kommando tatsächlech stinn:

  • req -x509 - Dëst weist datt mir d'x509 Certificate Signing Request (CSR) benotzen.
  • -Nodes - Dës Optioun instruéiert OpenSSL fir d'Verschlësselung vum SSL Zertifika mat engem Passphrase ze sprangen. D'Iddi hei ass et den Apache z'erméiglechen de Fichier ze liesen ouni iergendeng Aart vu Benotzerinterventioun, déi net méiglech wier wann e Passphrase geliwwert gëtt.
  • -newkey rsa:2048 - Dëst weist datt mir gläichzäiteg en neie Schlëssel an en neien Zertifika wëllen erstellen. Den rsa:2048 Deel implizéiert datt mir en 2048-Bit RSA Schlëssel erstellen wëllen.
  • -keyout - Dës Optioun spezifizéiert wou déi generéiert privat Schlësseldatei beim Schafe gespäichert gëtt.
  • -out - D'Optioun spezifizéiert wou de erstallt SSL Zertifikat placéiert.

Schrëtt 3: Installéiert Lokal Self-Ënnerschriwwen SSL Zertifikat op Apache

4. Nodeems Dir d'SSL Zertifikatdatei generéiert hutt, ass et elo Zäit fir den Zertifikat mat Apache Webserver Astellungen z'installéieren. Öffnen an änneren d'Konfiguratiounsdatei /etc/httpd/conf.d/ssl.conf.

$ sudo vi /etc/httpd/conf.d/ssl.conf

Vergewëssert Iech datt Dir déi folgend Zeilen tëscht de virtuelle Host-Tags hutt.

<VirtualHost *:443>
    ServerAdmin [email 
    ServerName www.tecmint.local
    ServerAlias tecmint.local
 
    DocumentRoot /var/www/html
 
    SSLEngine on
    SSLCertificateFile /etc/ssl/private/tecmint.local.crt
    SSLCertificateKeyFile /etc/ssl/private/tecmint.local.key
</VirtualHost>

Späichert a gitt d'Datei aus. Fir d'Ännerungen auszeféieren, nei starten Apache mam Kommando:

$ sudo systemctl restart httpd

5. Fir extern Benotzer Zougang zu Ärem Server, musst Dir Port 443 duerch d'Firewall opmaachen wéi gewisen.

$ sudo firewall-cmd --add-port=443 --zone=public --permanent
$ sudo firewall-cmd --reload

Schrëtt 3:Test lokal Selbst ënnerschriwwen SSL Zertifikat op Apache

Mat all de Konfiguratiounen op der Plaz, brennt Äre Browser op a kuckt d'Adress vun Ärem Server mat der IP Adress vum Server oder Domain Numm mam https Protokoll.

Fir den Test ze streamline, kënnt Dir iwwerleeën den HTTP-Protokoll op HTTPS op den Apache Webserver ze redirectéieren. Dëst ass sou datt wann Dir d'Domain am einfachen HTTP surft, gëtt se automatesch op HTTPS Protokoll ëmgeleet.

Also kuckt Ären Server Domain oder IP

https://domain_name/

Dir kritt eng Alarm déi Iech informéiert datt d'Verbindung net sécher ass wéi gewisen. Dëst wäert vun engem Browser zu engem aneren variéieren. Wéi Dir kéint roden, ass d'Alarm wéinst der Tatsaach datt den SSL Zertifika net vun der Zertifika Autoritéit ënnerschriwwe gëtt an de Browser registréiert dat a bericht datt den Zertifika net vertraut ka ginn.

Fir op Är Websäit virzegoen, klickt op de Tab Advanced wéi hei uewen gewisen:

Als nächst füügt d'Ausnam an de Browser.

Endlech, lued Äre Browser nei a beobachtet datt Dir elo op de Server kënnt zougräifen, och wann et eng Warnung op der URL Bar gëtt datt de Site net voll sécher ass aus deemselwechte Grond datt den SSL Zertifika selbst ënnerschriwwen ass an net vum Zertifikat Autoritéit.

Et ass eis Hoffnung datt Dir elo weider kënnt an e selbst ënnerschriwwene SSL Zertifikat op Apache localhost Webserver op CentOS 8 erstellen an installéieren.