Server-Identitätsmaskierung
Eine Technik, die häufig dazu beiträgt, Angreifer zu verlangsamen und zu verwirren, ist die Änderung der Identität des Webservers. Webserver senden normalerweise ihre Identität mit jeder HTTP-Antwort im Server-Header. Apache ist hier besonders hilfreich, da nicht nur der Name und die Vollversion standardmäßig gesendet werden, sondern auch Servermodule ihre Versionen anhängen können.
Um die Identität des Apache-Webservers zu ändern, müssten Sie in den Quellcode wechseln, den Namen "Apache" fest codieren, ihn ändern und den Server neu kompilieren. Derselbe Effekt kann mit dem erzielt werden
SecServerSignature-Direktive:
SecServerSignature "Microsoft-IIS/5.0"
Es sollte beachtet werden, dass erfahrene Angreifer (und Tools), obwohl dies recht gut funktioniert, andere Techniken verwenden können, um den Webserver zu "fingern". Beispielsweise können Standarddateien, Fehlermeldungen, die Reihenfolge der ausgehenden Header, die Art und Weise, wie der Server auf bestimmte Anforderungen reagiert, usw. die wahre Identität preisgeben. Ich werde die Unterstützung für Identitätsmaskierung in zukünftigen Versionen von mod_security weiter verbessern.
Wenn Sie die Apache-Signatur ändern, sich jedoch über die seltsame Meldung im Fehlerprotokoll ärgern (einige Module sind weiterhin sichtbar - dies wirkt sich nur auf das Fehlerprotokoll aus, von außen funktioniert es weiterhin wie erwartet):
[Fri Jun 11 04:02:28 2004] [notice]
Microsoft-IIS/5.0 mod_ssl/2.8.12
OpenSSL/0.9.6b \ configured --
resuming normal operations
Anschließend sollten Sie die Ladereihenfolge der Module neu anordnen, damit mod_security als letztes ausgeführt werden kann, genau wie für das Chrooten erläutert.
Hinweis
Damit diese Anweisung funktioniert, müssen Sie ServerTokens auf Full setzen.
Wenn die SecServerSignature-Direktive zum Ändern der öffentlichen Serversignatur verwendet wird, beginnt ModSecurity, die echte Signatur in das Fehlerprotokoll zu schreiben, damit Sie den Webserver und die verwendeten Module identifizieren können.
Wenn Sie
ServerTokens
"Prod
" einstellen , können Sie den Header auf "Server: Apache
" reduzieren . In der Dokumentation finden Sie eine vollständige Liste der Optionen:Dokumentation für Apache 2.2
Dokumentation für Apache 2.4
Hinweis: Die Einstellungen sind in beiden Versionen gleich, die Dokumentation zu 2.4 fügt jedoch diesen Hinweis hinzu:
Wenn Sie das Wort "Apache" vollständig entfernen möchten, müssen Sie die Quelle ändern.
quelle