Wéi erstellen ech selwer ënnerschriwwene SSL Certificaten a Schlësselen fir Apache op RHEL/CentOS 7.0


SSL (Secure Sockets Layer) ass e kryptographesche Protokoll deen e sécheren Datefluss tëscht engem Server a senge Clienten erlaabt mat symmetresche/asymmetresche Schlësselen andeems en digitalen Zertifika benotzt, deen vun enger Certificate Authority (CA) ënnerschriwwe gëtt.

  1. Basis LAMP Installatioun op RHEL/CentOS 7.0

Dësen Tutorial liwwert eng Approche wéi Dir Secure Sockets Layer (SSL) Kommunikatiounskryptographesche Protokoll op Apache Web Server installéiert am Red Hat Enterprise Linux/CentOS 7.0 opstellt, a selbst ënnerschriwwene Certificaten a Schlësselen generéiert mat der Hëllef vun engem Bash Skript wat de ganze Prozess immens vereinfacht.

Schrëtt 1: Installéieren a konfiguréieren Apache SSL

1. Fir SSL op Apache HTTP Server z'aktivéieren, benotzt de folgende Kommando fir SSL Module an OpenSSL Tool-Kit z'installéieren, dee fir SSL/TLS Support gebraucht gëtt.

# yum install mod_ssl openssl

2. Nodeems de SSL Modul installéiert ass, restart HTTPD Daemon a füügt eng nei Firewall Regel un fir sécherzestellen datt den SSL Hafen - 443 - et fir extern Verbindungen op Ärer Maschinn opgemaach ass fir ze lauschteren Staat.

# systemctl restart httpd
# firewall-cmd --add-service=https   ## On-fly rule

# firewall-cmd --permanent  --add-service=https   ## Permanent rule – needs firewalld restart

3. Fir SSL Verbindung ze testen, öffnen e Fernbrowser a navigéiert op Är Server IP Adress mat HTPS Protokoll op https://server_IP.

Schrëtt 2: Erstellt SSL Certificaten a Schlësselen

4. Déi viregt SSL Kommunikatioun tëscht dem Server an dem Client gouf mat engem Standardzertifikat a Schlëssel automatesch op der Installatioun generéiert. Fir nei privat Schlësselen a selbst ënnerschriwwene Certificaten ze generéieren, erstellen de folgende Bash-Skript op engem ausführbare Systemwee (PATH).

Fir dësen Tutorial /usr/local/bin/ Wee gewielt gouf, vergewëssert Iech datt de Skript ausführbar Bit set huet a benotzt et dann als Kommando fir nei SSL Pairen op /etc/ ze kreéieren. httpd/ssl/ als Standardplaz vun Zertifikater a Schlësselen.

# nano /usr/local/bin/apache_ssl

Benotzt de folgenden Dateiinhalt.

#!/bin/bash
mkdir /etc/httpd/ssl
cd /etc/httpd/ssl

echo -e "Enter your virtual host FQDN: \nThis will generate the default name for Apache SSL Certificate and Key!"
read cert

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out $cert.key
chmod 600 $cert.key
openssl req -new -key $cert.key -out $cert.csr
openssl x509 -req -days 365 -in $cert.csr -signkey $cert.key -out $cert.crt

echo -e " The Certificate and Key for $cert has been generated!\nPlease link it to Apache SSL available website!"
ls -all /etc/httpd/ssl
exit 0

5. Maacht elo dëse Skript ausführbar a lancéiert et fir en neie Paar Zertifikat a Schlëssel fir Ären Apache SSL Virtual Host ze generéieren.

Fëllt et mat Ärer Informatioun an oppassen op Gemeinsamen Numm Wäert fir Äre Server FQDN ze passen oder am Fall vu Virtuelle Hosting fir d'Webadress ze passen déi Dir zougitt wann Dir mat enger sécherer Websäit verbënnt.

# chmod +x /usr/local/bin/apache_ssl
# apache_ssl

6. Nodeems de Certificat an de Schlëssel generéiert sinn, wäert de Skript eng laang Lëscht vun all Är Apache SSL Pairen presentéieren, déi an der /etc/httpd/ssl/ Plaz gespäichert sinn.

7. Aner Approche fir SSL Certificaten a Schlësselen ze generéieren ass andeems Dir Crypto-utils Package op Ärem System installéiert a Pairen generéiert mat dem genkey Kommando, wat e puer Probleemer kënne stellen, besonnesch wann se benotzt ginn en Putty Terminalbildschierm.

Also, ech proposéieren dës Method nëmmen ze benotzen wann Dir direkt mat engem Bildschirmmonitor verbonne sidd.

# yum install crypto-utils
# genkey your_FQDN

8. Fir den neien Zertifikat an de Schlëssel op Är SSL Websäit ze addéieren, öffnen Är Websäit Konfiguratiounsdatei an ersetzen SSLCertificateFile an SSLCertificateKeyFile Aussoen mat der neier Pair Location an Nimm entspriechend.

9. Wann de Certificat net vun engem vertrauenswürdege CA ausgestallt gëtt - Zertifizéierungsautoritéit oder den Hostnumm vum Zertifika entsprécht net dem Hostnumm deen d'Verbindung opstellt, e Feeler sollt op Ärem Browser erscheinen an Dir musst den Zertifika manuell akzeptéieren.

Dat ass et! Elo kënnt Dir apache_sslals Kommandozeil op RHEL/CentOS 7.0 benotzen fir sou vill Pairen vu selbst ënnerschriwwenen Certificaten a Schlësselen ze generéieren déi Dir braucht, an alles gëtt op /etc/httpd/ gehal. ssl/ Wee mat der Schlësseldatei geschützt mat 700 Permissiounen.