Sichern und härten Sie den Apache-Webserver mit den folgenden Best Practices, um Ihre Webanwendung sicher zu halten.
Der Webserver ist ein entscheidender Bestandteil webbasierter Anwendungen. Durch eine falsche Konfiguration und die Standardkonfiguration können vertrauliche Informationen offengelegt werden, und das ist ein Risiko.
Als Websitebesitzer oder -administrator sollten Sie regelmäßig Sicherheitsscans Ihrer Website durchführen, um Online-Bedrohungen zu finden, damit Sie Maßnahmen ergreifen können, bevor ein Hacker dies tut.
Lassen Sie uns die wesentlichen Konfigurationen durchgehen, um Ihren Apache-Webserver zu behalten.
Die folgende Konfiguration befindet sich in httpd.conf Ihrer Apache-Instanz.
Hinweis: Erstellen Sie vor der Änderung eine Sicherungskopie der erforderlichen Konfigurationsdatei, damit die Wiederherstellung einfach ist, wenn etwas schief geht.
Inhaltsverzeichnis
Deaktivieren Sie Trace-HTTP-Anforderung
Die Standardeinstellung TraceEnable on lässt TRACE zu, was verhindert, dass ein Anfragetext die Anfrage begleitet.
TraceEnable off bewirkt, dass der Coreserver und mod_proxy einen 405-Fehler (Methode nicht zulässig) an den Client zurückgeben.
TraceEnable on ermöglicht Cross-Site-Tracing-Probleme und gibt einem Hacker möglicherweise die Möglichkeit, Ihre Cookie-Informationen zu stehlen.
Lösung
Beheben Sie dieses Sicherheitsproblem, indem Sie die HTTP-Methode TRACE in der Apache-Konfiguration deaktivieren.
Sie können dies tun, indem Sie die folgende Direktive in Ihrer httpd.conf Ihres Apache-Webservers ändern/hinzufügen.
TraceEnable off
Als separater Benutzer und Gruppe ausführen
Standardmäßig ist Apache so konfiguriert, dass es mit niemandem oder Daemon ausgeführt wird.
Setzen Sie den Benutzer (oder die Gruppe) nicht auf root, es sei denn, Sie wissen genau, was Sie tun und welche Gefahren bestehen.
Lösung
Das Ausführen von Apache in einem eigenen Nicht-Root-Konto ist gut. Ändern Sie die Benutzer- und Gruppenrichtlinie in httpd.conf Ihres Apache-Webservers
User apache Group apache
Signatur deaktivieren
Die Standardeinstellung „Aus“ unterdrückt die Fußzeile.
Die Einstellung „Ein“ fügt einfach eine Zeile mit der Serverversionsnummer und dem Servernamen des bedienenden virtuellen Hosts hinzu.
Lösung
Es ist gut, die Signatur zu deaktivieren, da Sie möglicherweise nicht die von Ihnen ausgeführte Apache-Version preisgeben möchten.
ServerSignature Off
Banner deaktivieren
Diese Direktive steuert, ob das Server-Response-Header-Feld, das an die Clients zurückgesendet wird, eine Beschreibung des generischen Betriebssystemtyps des Servers sowie Informationen über einkompilierte Module enthält.
Lösung
ServerTokens Prod
Beschränken Sie den Zugriff auf ein bestimmtes Netzwerk oder eine bestimmte IP
Wenn Sie möchten, dass Ihre Site nur von bestimmten IP-Adressen oder Netzwerken angezeigt wird, können Sie Ihr Site-Verzeichnis in httpd.conf ändern
Lösung
Geben Sie die Netzwerkadresse in der Allow-Direktive an.
<Directory /yourwebsite> Options None AllowOverride None Order deny,allow Deny from all Allow from 10.20.0.0/24 </Directory>
Geben Sie die IP-Adresse in der Allow-Direktive an.
<Directory /yourwebsite> Options None AllowOverride None Order deny,allow Deny from all Allow from 10.20.1.56 </Directory>
Verwenden Sie nur TLS 1.2
SSL 2.0, 3.0, TLS 1, 1.1 leidet Berichten zufolge unter mehreren kryptografischen Fehlern.
Benötigen Sie Hilfe bei der Konfiguration von SSL? siehe diese Anleitung.
Lösung
SSLProtocol -ALL +TLSv1.2
Verzeichnisauflistung deaktivieren
Wenn Sie index.html nicht in Ihrem WebSite-Verzeichnis haben, sieht der Client alle Dateien und Unterverzeichnisse, die im Browser aufgelistet sind (wie die Ausgabe von ls –l).
Lösung
Um das Durchsuchen von Verzeichnissen zu deaktivieren, können Sie entweder den Wert der Option-Direktive auf „None“ oder „-Indexes“ setzen.
<Directory /> Options None Order allow,deny Allow from all </Directory>
ODER
<Directory /> Options -Indexes Order allow,deny Allow from all </Directory>
Entfernen Sie unnötige DSO-Module
Überprüfen Sie Ihre Konfiguration, um redundante DSO-Module zu entfernen.
Nach der Installation sind viele Module standardmäßig aktiviert. Sie können entfernen, was Sie nicht benötigen.
Null- und schwache Chiffren deaktivieren
Lassen Sie nur starke Verschlüsselungen zu, damit Sie alle Türen schließen, die versuchen, auf niedrigeren Verschlüsselungssuiten einen Handshake durchzuführen.
Lösung
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
Bleiben Sie auf dem Laufenden
Da Apache ein aktives Open Source ist, besteht der einfachste Weg, die Sicherheit von Apache Web Server zu verbessern, darin, die neueste Version zu behalten. In jeder Version werden neue Fixes und Sicherheitspatches hinzugefügt. Aktualisieren Sie immer auf die neueste stabile Version von Apache.
Oben sind nur einige der wesentlichen Konfigurationen aufgeführt, und wenn Sie nach Einzelheiten suchen, können Sie meine Schritt-für-Schritt-Anleitung zu Sicherheit und Härtung lesen.
Haben Sie den Artikel gerne gelesen? Wie wäre es mit der Welt zu teilen?