Optimieren von IBM HTTP Server (IHS) für die Produktionsumgebung
HTTP Server von IBM wird häufig in Kombination mit IBM verwendet WebSphere-Anwendungsserver. Einige der beliebte Websites Verwenden von IBM HTTP Server sind:
- Airtel.in
- Marriott.com
- Hsbc.co.uk
- Mercedes-benz.com.eg
- Argos.de
IHS basiert auf Apache HTTP Server, wurde jedoch von IBM optimiert, um Unternehmensanwendungen und Wartungsunterstützung zu unterstützen. Es hält sehr wenig Marktanteil in der Webserver-Welt, aber immer noch weit verbreitet mit WebSphere Application Server.
Die Standard-IHS-Konfiguration liefert viele sensible Informationen, die Hackern helfen können, sich auf einen Angriff vorzubereiten und den Geschäftsbetrieb zu unterbrechen. Als Administrator sollten Sie die Härtung der IHS-Konfiguration auf Sichern Sie die Webanwendungen.
In diesem Artikel erkläre ich, wie man eine produktionsbereite IHS-Umgebung herstellt, um die Sicherheit und Verbindung.
Wenige Sachen: -
- Sie haben IHS in einer Linux-Umgebung installiert, wenn nicht, können Sie darauf verweisen Installationsanleitung hier.
- Es wird empfohlen, eine Sicherungskopie einer Konfigurationsdatei zu erstellen.
- Sie haben einen HTTP-Header Erweiterungen in einem Browser oder Sie können verwenden Header-Checker Online-Tool.
- Aufgrund der Länge des Artikels werde ich im nächsten Beitrag über die SSL-Konfiguration sprechen.
Serverbanner und Produktinformationen vor dem HTTP-Header ausblenden
Wahrscheinlich besteht eine der ersten Aufgaben beim Einrichten der Produktionsumgebung darin, die IHS-Version und das Server-Banner in einem Header zu maskieren. Dies ist nicht kritisch, wird jedoch als geringes Risiko als Sicherheitslücke für Informationslecks angesehen und muss für PCI DSS-kompatible Anwendungen gelten.
Lassen Sie uns einen Blick darauf werfen, wie nicht vorhandene (404) Anforderungsantworten in der Standardkonfiguration vorhanden sind.
Oh nein, es zeigt, dass ich IBM HTTP Server zusammen mit der Server-IP und der Portnummer verwende, was hässlich ist. Lass sie uns verstecken.
Lösung: -
- Fügen Sie die folgenden drei Anweisungen in die Datei httpd.conf Ihres IHS ein.
AddServerHeader Off ServerTokens Prod ServerSignature Off
- Speichern Sie die Datei und starten Sie das IHS neu
Lassen Sie uns dies überprüfen, indem Sie auf eine nicht vorhandene Datei zugreifen. Sie können auch verwenden HTTP-Header-Tool um die Antwort zu überprüfen.
Viel besser! Jetzt werden keine Produkt-, Server- und Portinformationen mehr angezeigt.
Etag deaktivieren
Etag Header kann offenbaren Inode-Informationen und kann Hacker helfen, NFS-Angriffe auszuführen. Standardmäßig zeigt IHS das etag an. Hier erfahren Sie, wie Sie diese Sicherheitsanfälligkeit beheben können.
Lösung: -
- Fügen Sie die folgende Anweisung in ein Stammverzeichnis ein.
FileETag keine
Zum Beispiel:
Optionen FollowSymLinks AllowOverride Keine FileETag keine
- Starten Sie den IHS-Server neu, damit er wirksam wird.
Führen Sie IHS mit einem Nicht-Root-Konto aus
In der Standardkonfiguration wird ein Webserver mit Root- und Niemand-Benutzer ausgeführt. Dies ist nicht ratsam, da die Ausführung über ein privilegiertes Konto im Falle einer Sicherheitslücke Auswirkungen auf den gesamten Server haben kann. Um das Risiko zu begrenzen, können Sie einen dedizierten Benutzer zum Ausführen von IHS-Instanzen erstellen.
Lösung: -
- Erstellen Sie einen Benutzer und eine Gruppe mit dem Namen ihsadmin
groupadd ihsadmin useradd –g ihsadmin ihsadmin
Ändern Sie den Besitz des IHS-Ordners in ihsadmin, damit der neu erstellte Benutzer die volle Berechtigung dazu hat. Angenommen, Sie haben am Standardspeicherort - / opt / IBM / HTTPServer installiert
chown –R ihsadmin: ihsadmin / opt / IBM / HTTPServer
Lassen Sie uns den Benutzer- und Gruppenwert in httpd.conf ändern
Benutzer ihsadmin Gruppe ihsadmin
Speichern Sie die httpd.conf und starten Sie den IHS-Server neu. Dies hilft IHS, als ihsadmin-Benutzer zu starten.
Implementieren Sie das HttpOnly- und Secure-Flag in Cookie
Eine Cookie-gesichert und nur http wird Ihnen helfen, das Risiko von XSS-Angriffen zu reduzieren.
Lösung: -
Um dies umzusetzen, müssen Sie sicherstellen mod_headers.so ist in httpd.conf aktiviert.
Wenn nicht, kommentieren Sie die folgende Zeile in httpd.conf aus
LoadModule headers_module modules / mod_headers.so
Und fügen Sie unten den Header-Parameter hinzu
Header bearbeiten Set-Cookie ^ (. *) $ $ 1; HttpOnly; Sicher
Speichern Sie die Konfigurationsdatei und starten Sie den Webserver neu.
Mildern Sie Clickjacking-Angriffe
Das Clickjacking Es ist allgemein bekannt, dass ein Angreifer Benutzer dazu verleiten kann, auf einen Link zu klicken und eingebetteten Code ohne Wissen des Benutzers auszuführen.
Lösung: -
- Stellen Sie sicher, dass mod_headers.so aktiviert ist, und fügen Sie den folgenden Header-Parameter in die Datei httpd.conf ein
Header hängen immer X-Frame-Optionen SAMEORIGIN an
- Speichern Sie die Datei und starten Sie den Server neu.
Lassen Sie uns überprüfen, indem Sie auf die URL zugreifen, dass sie X-Frame-Optionen haben sollte, wie unten gezeigt.
Listen-Direktive konfigurieren
Dies gilt, wenn Sie mehrere Ethernet-Schnittstellen / IP auf dem Server haben. Es ist ratsam, die absolute IP- und Port-in-Listen-Direktive zu konfigurieren, um zu vermeiden, dass DNS-Anforderungen weitergeleitet werden. Dies wird häufig in einer gemeinsam genutzten Umgebung beobachtet.
Lösung: -
- Fügen Sie die beabsichtigte IP und den Port in httpd.conf unter der Anweisung Listen hinzu. Ex:-
Hören Sie 10.0.0.9:80
X-XSS-Schutz hinzufügen
Sie können den XSS-Schutz (Cross for Site Scripting) anwenden, indem Sie den folgenden Header implementieren, wenn er vom Benutzer im Browser deaktiviert wurde.
Header-Set X-XSS-Schutz "1; Modus = Block"
Deaktivieren Sie die Trace-HTTP-Anforderung
Wenn die Trace-Methode auf dem Webserver aktiviert ist, kann Cross Site Tracing Attack möglicherweise verwendet und Cookie-Informationen gestohlen werden. Standardmäßig ist dies aktiviert und Sie können sie mit dem folgenden Parameter deaktivieren.
Lösung: -
- Ändern Sie die Datei httpd.con und fügen Sie die folgende Zeile hinzu
TraceEnable aus
- Speichern Sie die Datei und starten Sie die IHS-Instanz neu, damit sie wirksam wird.
Ich hoffe, die obigen Tipps helfen Ihnen dabei, den IBM HTTP Server für eine Produktionsumgebung zu härten.