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.