So richten Sie Apache HTTP mit einem SSL-Zertifikat ein

So richten Sie Apache HTTP mit einem SSL-Zertifikat ein

Eine Website besteht aus mehreren Schlüsselelementen, darunter einem Frontend, einem Webserver und einem Netzwerk. Der Apache-Webserver ist ein kostenloser Open-Source-Webserver. Ein Webserver stellt Inhalte für verschiedene Arten von Benutzern bereit, die mehrere Seiten einer Website anfordern. Daher benötigen Sie eine zuverlässige Lösung. Apache war für viele Organisationen die erste Wahl.

Apache ermöglicht es Unternehmen, den Benutzern Inhalte je nach Bedarf bereitzustellen und verbessert das Surferlebnis. Die neuesten Versionen des Webservers verfügen über erweiterte Sicherheitsfunktionen. Ist jedoch eine SSL-Zertifizierung für die Apache-Server erforderlich? WARUM?

Ein Beispiel ist die Java-Bibliothek namens Log4J, die für viele Unternehmen, die Apache-Server verwenden, eine erhebliche Cyberbedrohung darstellt. Ebenso erfordern verschiedene Cyber-Bedrohungen Sicherheitsmaßnahmen. Daher ist die Installation eines SSL-Zertifikats auf Apache unter Linux oder einem anderen Server eine Selbstverständlichkeit, insbesondere um Schwachstellen wie Log4J entgegenzuwirken.

Deshalb finden Sie hier eine Schritt-für-Schritt-Anleitung zur Apache SSL-Konfiguration für Ihre Systeme. Beginnen wir also damit, den SSL-Zertifizierungsprozess zu verstehen und einen kurzen Überblick über die Geschichte des Apache-Servers zu geben.

Aktuelle Informationen zum Apache-Verlauf und zu den Versionen

Die von Robert McCool entwickelte Apache-Webserversoftware ist einer der beliebtesten Server in der Open-Source-Community. McCool arbeitete 1994 am National Center for Supercomputing Applications an einem HTTPd-Webserver, als er den Server entwickelte.

Er wurde jedoch 1995 entwickelt und veröffentlicht und wurde 1996 populär. Eine der bedeutendsten Auswirkungen des Apache-Servers war der kometenhafte Aufstieg von Linux als Serverplattform.

Die neueste Version von Apache-2.4.54 (zum Zeitpunkt des Schreibens) bringt viele Änderungen mit sich,

  • MDRetryDelay definiert die Verzögerung vor dem Senden einer Wiederholungsanforderung zur Auswahl einer Zertifizierungsstelle (CA).
  • Unsichere Codes von mode_http2 wurden bereinigt
  • Unterstützung für den Status „Auto“ hinzugefügt, wenn Werte im Format „Schlüssel: Wert“ vorliegen
  • Behobene Schwachstelle CVE-2022-31813, die Zugriffsbeschränkungen basierend auf IP-Adressen umgeht
  • Fehlerbehebung zur Bewältigung der Gefährdung durch CVE-2022-30522, die einen Denial-of-Service verursacht

Nachdem wir nun die neueste Apache-Version besprochen haben, erfahren Sie, wie sie die Konfiguration von SSL-Zertifikaten für erweiterte Sicherheit unterstützt. Lassen Sie uns den Installationsprozess verstehen.

Wie generiert man einen CSR-Code auf Apache?

Es ist wichtig, den SSL-Zertifizierungsprozess zu verstehen, bevor Sie eine Zertifikatsignierungsanforderung oder CSR erstellen. SSL-Zertifikate basieren auf asymmetrischen Verschlüsselungen; Für die Ver- und Entschlüsselung werden zwei Sicherheitspaare generiert.

Der Prozess beginnt, wenn Sie ein SSL-Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle erwerben. Als nächstes müssen Sie für den Ausstellungsprozess den CSR einreichen.

Hier ist ein Schritt-für-Schritt-Prozess zum Generieren einer CSR auf Apache für ein Premium-SSL:

  • Stellen Sie über eine Secure Shell (SSH) eine Verbindung zu Ihrem Serverterminal her.
  • Generieren Sie ein privates Schlüsselpaar mit CSR-Dateien
  • Verwenden Sie den folgenden Befehl im Terminal

openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr

  • Fügen Sie im CSR spezifische Details zu Ihrer Organisation hinzu

Ländername: Zu Validierungszwecken ist ein aus zwei Buchstaben bestehender Code für das Land des Unternehmensstandorts erforderlich.

Staatsname – Daten, die angeben, in welcher Provinz das Unternehmen registriert ist.

Ortsname: Gibt die Geschäftsadresse an.

Offizieller Name der Organisation – gibt den registrierten und gesetzlich gebundenen Firmennamen an.

E-Mail-Adresse – als Teil der Kontaktdaten zur Überprüfung und zum Senden von SSL-Dateien

  • Nach Eingabe der Firmendaten erstellt OpenSSL zwei Dateien – eine für den privaten Schlüssel und die andere für CSR
  • Speichern Sie die CSR-Datei auf Ihrem Gerät und senden Sie sie zur Überprüfung an die Zertifizierungsstelle.

Nachdem Ihre CSR übermittelt wurde, müssen Sie sie an den SSL-Anbieter senden. Danach ist der Konfigurationsprozess abgeschlossen und der Antragsteller muss geschäftsbezogene Rechtsdokumente vorlegen und alle erforderlichen Details angeben. Nach Abschluss des Domänenvalidierungsprozesses per E-Mail, Dateiüberprüfung oder CNAME-Basis prüft die Behörde die Dokumente und führt eine weitere Überprüfung durch telefonische Überprüfung durch. Abschließend stellt die CA ein Zertifikat aus, das auf dem Server installiert werden muss. Die Zertifizierungsstelle sendet das Zertifikat in einer registrierten E-Mail.

Dies kann je nach SSL-Anbieter unterschiedlich sein, aber im Allgemeinen haben alle Zertifizierungsstellen einen ähnlichen Prozess.

Installieren Sie ein SSL-Zertifikat auf Apache

Kopieren Sie zunächst die auf Ihrem lokalen Gerät gespeicherten Zertifikatsdateien auf den Server. Sie erhalten die SSL-Zertifikatdatei in einem Paket per E-Mail von CA. Laden Sie nun das Zwischenzertifikat und das Primärzertifikat aus dem per E-Mail erhaltenen Paket auf das lokale Gerät herunter.

Zertifikatsdatei auf den Server hochladen:

Kopieren Sie diese Zertifikatsdateien in das Serververzeichnis und machen Sie sie nur für Root lesbar. Um die Dateien hochzuladen, müssen Sie möglicherweise die Systemsteuerung Ihres Servers (falls verfügbar) oder ein Dateiübertragungstool (SFTP) verwenden. Und dann müssen Sie die Konfigurationsdatei auf Ihrem Server finden.

Suchen Sie die Apache-Konfigurationsdatei:

Es ist wichtig zu beachten, dass Name und Speicherort der Dateien je nach Server unterschiedlich sein können. Bei Apache ist es jedoch meistens „httpd.config“ oder apache2.conf. Der Speicherort dieser Dateien befindet sich in /etc/httpd oder /etc/apache2/.

Öffnen Sie nun die SSL-Zertifikatkonfiguration in einem virtuellen Hostblock. Die Konfigurationsdatei befindet sich im Verzeichnis /etc/httpd/, /etc/apache2/ oder /etc/httpd/conf.d/ssl.conf. Lassen Sie uns eine alternative Möglichkeit zur Installation eines SSL-Zertifikats in Apache Linux besprechen.

  • Verwenden Sie den folgenden Befehl zum Konfigurieren der virtuellen Hosts. Sie müssen den virtuellen Host in Port 443 hinzufügen/ändern. Sie sollten ein Backup erstellen, bevor Sie Änderungen am virtuellen Host vornehmen. Datei als *.conf_backup speichern.
  • Überprüfen Sie die folgenden Anweisungen mit ihrem Status.
  • SSLEngine eingeschaltet
  • SSLCertificateFile – Zeigt den Speicherort des Zertifikats an
  • SSLCertificateKeyFile – Zeigt den Speicherort Ihres privaten Schlüssels an.
  • SSLCertificateChainFile Dies ist der Speicherort der CA-Bundle-Datei.
  • Der virtuelle Host sieht wie folgt aus:
<VirtualHost *:443>

DocumentRoot /var/www/html2

ServerName www.mydomain.com

SSLEngine on

SSLCertificateFile /path/to/my_domain_name.crt

SSLCertificateKeyFile /path/to/my_private.key

SSLCertificateChainFile /path/to/yCA.crt

</VirtualHost>

  • Überprüfen Sie die Konfigurationsdateien mit apachectl configtest auf Fehler
  • Starten Sie den Apache-Server neu und die SSL-Konfiguration ist abgeschlossen.

Nachdem das SSL-Zertifikat nun installiert ist, ist es an der Zeit, es zu testen.

Testen Sie Ihre SSL-Installation.

Sobald das SSL-Zertifikat auf dem Apache-Server installiert ist, können Sie es mit verschiedenen verfügbaren Tools überprüfen. Beispielsweise helfen Ihnen viele Tools zur Überprüfung der SSL-Installation dabei, Schwachstellen und Fehler in Konfigurationen zu finden, nachdem Sie das Zertifikat installiert haben.

(Optional) Leiten Sie HTTP zu HTTPS um

Da Sie nun über ein SSL-Zertifikat verfügen, können Sie HTTPS für Ihre Domain verwenden. Um es einzurichten, müssen Sie Ihre Apache-Conf-Datei erneut bearbeiten. So sollte es aussehen:

<VirtualHost *:80>

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

</VirtualHost>
<VirtualHost *:443>

SSLEngine on

SSLCertificateFile /path/to/my_domain_name.crt

SSLCertificateKeyFile /path/to/my_private.key

SSLCertificateChainFile /path/to/yCA.crt
# Rest of your site config

# ...

</VirtualHost>

Abschluss

Es lässt sich nicht leugnen, dass zunehmende Cybersicherheitsbedrohungen eine ebenso fortschrittliche Sicherheitsmaßnahme zur Abwehr von Angriffen erfordern. Apache-Webserver können anfällig für Cyberangriffe sein, daher ist die Installation von SSL unter Apache Linux und anderen Betriebssystemen unerlässlich. Befolgen Sie also die von uns besprochenen Schritte. Wenn Sie Zweifel haben, können Sie gerne einen Kommentar abgeben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert