2008-12-04 7 views
8

Diese Frage ist mehr sicherheitsbezogen als Programmierung, tut mir leid, wenn es nicht hier sein sollte.Ist es eine gute Übung, Webserver-Informationen in HTTP-Headern zu verstecken?

Ich entwickle gerade eine Webanwendung und bin gespannt, warum die meisten Webseiten nichts dagegen haben, ihre exakte Serverkonfiguration in HTTP - Headern, wie Apache und PHP, mit komplettem "mod_perl, mod_python,. .. "Listing und so weiter.

Aus Sicherheitsgründen würde ich es vorziehen, herauszufinden, ob ich PHP auf Apache, ASP.NET auf IIS oder sogar Rails auf Lighttpd ausführen würde.

Offensichtlich "Dunkelheit ist keine Sicherheit", aber sollte ich überhaupt besorgt sein, dass Besucher wissen, welche Version von Apache und PHP mein Server läuft? Ist es eine gute Übung oder völlig unnötig, diese Informationen zu verstecken?

Antwort

5

Ich denke, Sie sehen normalerweise diese Header, weil die Systeme senden sie standardmäßig.

Ich entferne sie routinemäßig, da sie keinen echten Wert bieten und könnten, wie Sie vorgeschlagen haben, Informationen über den Server offenbaren.

+0

Also ich denke, die nächste SO Frage ist, wie Sie HTTP-Header entfernen Sie? : P – alex

4

Das Ausführen von nmap -O -sV gegen eine IP gibt Ihnen die Betriebssystem- und Serviceversionen mit einem ziemlich hohen Grad an Genauigkeit. Die einzigen zusätzlichen Informationen, die Sie weitergeben, wenn Ihr Server diese Informationen ankündigt, sind die Module, die Sie geladen haben.

5

Das Verstecken der Informationen in den Kopfzeilen verlangsamt normalerweise nur die faulen und ignoranten Schurken. Es gibt viele Möglichkeiten, ein System zu identifizieren.

6

Vorherrschende Weisheit ist es, die Server-ID und die Version zu entfernen; Besser noch, ändere sie zu einer anderen legitimen Server-ID und -Version - auf diese Weise versucht der Angreifer, IIS-Schwachstellen gegen Apache oder etwas Ähnliches auszuprobieren. Könnte auch den Angreifer in die Irre führen.

Aber ehrlich gesagt, es gibt so viele andere Hinweise, ich denke darüber nach, ob es das wert ist. Ich denke, es könnte Angreifer davon abhalten, mit einer Suchmaschine nach Servern mit bekannten Sicherheitslücken zu suchen.

(Ich persönlich nicht auf meinem HTTP-Server stören, aber es ist in Java geschrieben und viel weniger anfällig für die typischen Angriffsarten.)

3

Es scheint, dass einige der Antworten fehlen einen offensichtlichen Vorteil die Header zu deaktivieren.

Ja, Sie haben alle Recht; Das Drehen der Header (und der Statuszeile, die beispielsweise in Verzeichnislisten vorhanden ist) hindert einen Angreifer nicht daran, herauszufinden, welche Software Sie verwenden.

Die Deaktivierung dieser Informationen verhindert jedoch Malware, die mithilfe von Google nach anfälligen Systemen sucht, die Sie finden.

tldr: Verwenden Sie es nicht als (oder sogar als) Sicherheitsmaßnahme, sondern als Maßnahme, um unerwünschten Datenverkehr zu vertreiben.

3

Normalerweise deaktiviere ich Apaches lange Header-Version Informationen mit ServerTokens; es fügt nichts nützliches hinzu.

Ein Punkt, den niemand aufgegriffen hat, ist, dass es für einen potenziellen Kunden, Stiftprüfer usw. eine bessere Sicherheit darstellt, wenn Sie weniger Informationen von Ihrem Webserver herausgeben.

gibt also weniger Informationen steigern die gefühlte Sicherheit (das heißt, es zeigt Sie haben darüber eigentlich gedacht und etwas getan)

Verwandte Themen