Apache-Konfiguration Einstellungen für bestimmte Ports (PCI-Compliance)
Ich versuche, meine server PCI-Konform. Eines der letzten Probleme, die ich brauche, um zu beheben ist, entfernen Sie die INode von Apache ETag-header. So definierte ich in httpd.conf diese Zeile: "FileETag MTime Size", um nur die Rückkehr MTime und Größe.
<Directory "/var/www/html">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
FileETag MTime Size
</Directory>
Dieses Update Problem bei der standard-port 80.
Nun habe ich auch das hosting control panel (ISPConfig3) läuft auf port 8000. Nach dem ausführen von PCI-compliance-test bekam ich diese Fehlermeldung:
Apache ETag header offenbart inode-Nummern Schweregrad: Mögliche Problem
CVE: CVE-2003-1418 Auswirkung: Ein entfernter Angreifer kann bestimmen, inode
zahlen auf dem server. Lösung Verwenden Sie das
http://httpd.apache.org/docs/2.2/mod/core.html#FileETag FileETag
Richtlinie zum entfernen der INode-Komponente von der Berechnung der
ETag. Zum Beispiel, fügen Sie die folgende Zeile in der Apache
Konfigurationsdatei zur Berechnung der ETag nur auf Basis der Datei
die änderungszeit und die Größe: FileETag MTime Size Vulnerability Details:
Service: 8000:TCP
Ich nehme an, ich muss noch etwas in httpd.conf gelten auch FileETag für alle Anwendungen, die auf port 8000.
Bitte um Rat, was getan werden sollte.
Danke!
Kelvin
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es klingt wie Ihr PCI-Compliance-test veraltet ist. Haben Sie gelesen CVE-2003-1418?
[Meine Ital] Dies ist nicht ein Problem für Apache 2.2 verwendet einen anderen Etag-algo. Und wenn Sie noch mit Apache 1.3 hast, dann hast du größere Probleme, da es nicht mehr unterstützt wird.
Du versuchen zu lösen, ein nicht-problem. Holen Sie sich eine aktuelle PCI-Compliance-test-suite.
Fügen Sie diese an den Anfang Ihrer /etc/apache2/http.conf:
Dieser arbeitete für meine PCI compliance scan und ich sehe nicht, warum es nicht funktionieren würde auf alle ports, die apache lauscht.
Pro Apache 2.4 FileETag-Direktive Dokumentation den Standard für die Berechnung der ETag
MTime Size
.Für Apache-Versionen 2.3.14 und früher der Standard wurde festgelegt, um
INode MTime Size
.ETag Einstellungen für alle ports und überprüfung Apache ETag Ausgabe
Können Sie selbst überprüfen, indem Sie mithilfe von curl und vergleicht den ETag-Wert zurückgegeben, in den Header oder in den inode-Wert zurückgegeben
ls
.Beispiel:
wo Datei ist eine Datei, die auf Ihrem Dateisystem gedient, indem Sie Ihre Apache-web-server.
ETag gesetzt
MTime Size
Sie könnte so etwas wie dieses:Können Sie ändern die Werte, die von ETag mithilfe der
FileETag
Richtlinie. Hinzufügen, um der Unterseite Ihres Apache-server conf (z.B./etc/httpd/conf/httpd.conf
) folgende Datei:Neu laden oder starten Sie Apache neu, und wiederholen Sie dann den curl test.
In meinen tests, Einbeziehung von FileETag INode in der server config Datei betroffen, die Ausgabe auf ALLE ports bedient von meinem Apache-web-server: 80 und 443.
ETag gesetzt
INode
Sie erhalten sollten, die eine einzelne hex-Zahl, in etwa so:Konvertieren Sie die zahlen zurückgegeben, die von ETag von hex in dezimal und vergleichen Sie die inode-Nummer.
Wenn Sie
ls -i /path/to/webroot/example.com/file
die inode zurückgegeben sollte das dezimal-äquivalent der hexadezimale Zahl zurückgegeben, die über ETag (in diesem Beispiel 33618170).Wenn Sie Hinzugefügt
FileETag Inode
vergessen Sie nicht, um es zu entfernen und restart/reload Apache.ETag-Einstellungen für einen bestimmten port
Den Kontexten, in denen Sie verwenden können
FileETag
sind:Wenn
FileETag
ist in der server-Konfiguration mit der Komponente keywords, die Sie wünschen und Sie sind trotzdem falsch ETag Ausgabe für einen bestimmten port, der von Apache dient, sollten Sie die Suche vhost config-Dateien und web-root-Verzeichnisse fürFileETag
- wie alle Einstellungen, die es überschreibt die server-config.Wenn Sie wirklich wollen, um einen bestimmten ETag Ausgabe auf einem bestimmten port, sollten Sie
FileETag
zu den entsprechendenVirtualHost
block für den port, den Sie möchten, zu beeinflussen. Wenn Sie mehr als eine Website auf diesem port, müssen SieFileETag
jedemVirtualHost
- block, der angibt, dass der port.