Diese Frage ist sicherheitsbezogener als das Programmieren, tut mir leid, wenn es nicht hier sein sollte.
Ich entwickle gerade eine Webanwendung und bin gespannt, warum es den meisten Websites nichts ausmacht, ihre genaue Serverkonfiguration in HTTP-Headern, wie Versionen von Apache und PHP, mit vollständigen "mod_perl, mod_python, .. . "Liste 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 verwende.
Offensichtlich ist "Unklarheit keine Sicherheit", aber sollte ich überhaupt besorgt sein, dass Besucher wissen, welche Version von Apache und PHP mein Server betreibt? Ist es eine gute Übung oder völlig unnötig, diese Informationen zu verstecken?
Vorherrschende Weisheit ist, 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 Anhaltspunkte, über die ich nachdenke, ob es das wert ist. Ich denke, es könnte Angreifer davon abhalten, mit einer Suchmaschine nach Servern mit bekannten Sicherheitslücken zu suchen.
(Persönlich störe ich nicht auf meinem HTTP-Server, aber er ist in Java geschrieben und viel weniger anfällig für die typischen Angriffsarten.)
Ich denke, dass Sie diese Header normalerweise sehen, weil die Systeme sie standardmäßig senden .
Ich entferne sie routinemäßig, da sie keinen echten Wert bieten und könnte, wie Sie vorgeschlagen haben, Informationen über den Server enthüllen.
Wenn Sie nmap -O -sV
gegen eine IP ausführen, erhalten Sie die Betriebssystem- und Dienstversionen 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.
Es scheint, dass einige der Antworten einen offensichtlichen Vorteil des Ausschaltens der Header fehlen.
Ja, Sie haben alle recht; Das Umdrehen der Header (und der Statuszeile, die beispielsweise bei Verzeichnislisten vorhanden ist) hindert einen Angreifer nicht daran, herauszufinden, welche Software Sie verwenden.
Wenn Sie diese Informationen jedoch deaktivieren, wird Malware, die google verwendet, nicht darauf achten, dass angreifbare Systeme Sie finden.
tldr: Verwenden Sie es nicht als Sicherheitsmaßnahme (oder gar als DAS), sondern als Maßnahme, um unerwünschten Datenverkehr zu vertreiben.
Normalerweise deaktiviere ich Apaches lange Header-Versionsinformationen mit ServerTokens; es fügt nichts nützliches hinzu.
Ein Punkt, den niemand aufgegriffen hat, ist, dass es für einen potenziellen Kunden, einen Pen-Test-Unternehmen usw. eine bessere Sicherheit darstellt, wenn Sie weniger Informationen von Ihrem Webserver herausgeben.
Wenn Sie also weniger Informationen herausgeben, steigert das die wahrgenommene Sicherheit (d. h. es zeigt, dass Sie tatsächlich darüber nachgedacht und etwas getan haben)
Tags und Links security web-applications http