Gibt es einen Grund, den Antwortheader "Server" in Apache beizubehalten?

16

Mein Server antwortet mit Server: Apache/2.2.15 (CentOS)allen Anfragen. Ich vermute, dass dies meine Serverarchitektur verrät, was das Hacken von Versuchen erleichtert.

Ist dies jemals für einen Webbrowser nützlich? Soll ich es weiter machen?

Nic Cottrell
quelle
Natürlich halte ich meine Server auch mit yum-cron auf dem Laufenden!
Nic Cottrell

Antworten:

16

Meiner Meinung nach ist es am besten, dies so gut wie möglich zu maskieren. Es ist eines der Tools, mit denen Sie eine Website hacken - entdecken Sie die Technologie und nutzen Sie die bekannten Fehler dieser Technologie. Aus dem gleichen Grund, aus dem vor einiger Zeit die bewährte Sicherheitsmethode für die Verwendung von URLs in der Form "/ view / page" anstelle von "/view/page.jsp" oder "/view/page.asp" geworben wurde ... also die zugrunde liegende Technologie würde nicht ausgesetzt sein.

Es gibt einige Diskussionen darüber wie /programming/843917/why-does-the-server-http-header-exist und http://www.troyhunt.com/2012/02/shhh- dont-let-your-response-headers.html und offensichtlich Hacking Exposed-Buch.

Auch dies auf der Security SE /security/23256/what-is-the-http-server-response-header-field-used-for

Beachten Sie jedoch, dass dies nicht das Ende der Sicherheit Ihrer Server ist. Nur noch ein Schritt in die richtige Richtung. Es verhindert nicht, dass ein Hack ausgeführt wird. Es macht nur weniger sichtbar, welcher Hack durchgeführt werden soll.

ETL
quelle
6
Das Entfernen von Dateinamenerweiterungen in URLs hat nichts mit Sicherheit zu tun ... es ist für Menschen lesbarer. Es gibt tausend andere Möglichkeiten, wie Ihre Anwendungsplattform enthüllt wird.
Brad
Wenn der Server richtig konfiguriert ist, hilft es ihm ohnehin nicht, die Plattform dem Angreifer preiszugeben.
Cthulhu
19

Sie können den Server-Header bei Bedarf ändern, aber aus Sicherheitsgründen nicht damit rechnen. Dies funktioniert nur, wenn Sie auf dem neuesten Stand sind, da ein Angreifer Ihren Server-Header einfach ignorieren und jeden bekannten Exploit von Anfang an ausprobieren kann.

RFC 2616 besagt teilweise:

Server-Implementierer werden aufgefordert, dieses Feld zu einer konfigurierbaren Option zu machen.

Und Apache tat es mit der ServerTokensDirektive. Sie können dies verwenden, wenn Sie möchten, aber denken Sie auch nicht, dass es Sie auf magische Weise davon abhält, angegriffen zu werden.

Michael Hampton
quelle
4
+1 Meine Protokolle sind voll von "Angriffen" auf nicht installierte Software. Hacker werfen einfach alles, was sie haben und sehen, was steckt. Wenn es ein Hilfsprogramm zum Ändern der ServerTokens gibt, ist es bestenfalls vernachlässigbar.
Chris S
@ ChrisS In der Tat. Ich kümmere mich nicht einmal darum. Stattdessen halte ich meine Webserver auf dem neuesten Stand.
Michael Hampton
3
Ich stimme nicht zu. Auch wenn es geringfügig sein mag, ist die Sicherheit niemals stark genug, und alles, was helfen kann, ohne Fehler oder Leistungseinbußen zu verursachen, muss durchgesetzt werden.
mveroone
2
Warum freiwillige Versionsinformationen? Ich habe immer "ServerSignature Off" und "ServerTokens Prod" eingestellt. Stimmen Sie auch zu, dass die Aktualisierung Ihrer Webserver der einzig wahre Schutz ist. Wenn Sie die Versionsinformationen nicht entfernen und sich einem Penetrationstest eines Drittanbieters unterziehen, wird dies mit Sicherheit als "Informationsleck" gekennzeichnet.
HTTP500
@ HTTP500 Ich beschäftige mich regelmäßig mit der PCI-DSS-Konformität. Dies ist kein Problem, vorausgesetzt, Sie sind gepatcht. Problematisch wird es, wenn Informationen zu anderen Teilen des Systems verloren gehen (dh ich kann feststellen, dass auf dem OP CentOS 5.x ausgeführt wird) oder wenn Sie nicht auf dem neuesten Stand sind.
Michael Hampton
2

Das Anzeigen der vollständigen Zeichenfolge mit Versionsinformationen kann zu einem erhöhten Risiko für 0-Tage-Angriffe führen, wenn der Angreifer eine Liste der Server erstellt hat, auf denen welche Software ausgeführt wird.

Allerdings sollten Sie nicht damit rechnen, dass Sie durch das Verstecken einer Server-Zeichenfolge vor Hacking-Versuchen geschützt werden. Es gibt Möglichkeiten, einen Server anhand der Art und Weise, in der Antworten und Fehler gemeldet werden, mit einem Fingerabdruck zu versehen.

Ich deaktiviere meine Strings, so weit ich kann, aber ich schwitze nicht über die, die ich nicht verbergen kann (zB OpenSSH).

Dan
quelle