2010-02-15 5 views

Antwort

4

würde ich die Änderungen ServerInfo.properties machen unabhängig - es andere Orte sein kann, die ServerInfo.properties Versionsinformationen als nur Fehlerseiten zu erhalten. (Vielleicht verlässt jemand die Standard-Homepage, Beispiele, etc. und diese können es haben.)

Definieren Sie Fehlerseiten in Ihrer Web-App, wenn Sie möchten - eine schnellere Möglichkeit könnte sein, Ihre Standardfehlerseiten durch Angabe von global zu ändern Es ist in CATALINA_HOME/conf/web.xml - dies verwendet standardmäßig die neu angegebenen Fehlerseiten, selbst wenn ein Entwickler vergisst, Fehlerseiten für seine App anzugeben.

4

Die Änderung ServerInfo.properties ist am sichersten. Wenn Sie zum Beispiel eine Webapp auf http://example.com/contextname bereitgestellt haben, könnte man immer noch eine 404 von http://example.com/blah oder so erhalten. Man könnte es auch programmatisch erhalten, indem man einen Roboter verwendet, um eine Anfrage mit einer nicht unterstützten Methode zu senden (die die Fehlerseite 503 zurückgibt).

Das gesagt, ich sehe wirklich keine gültigen Gründe, Tomcat-Version davon zu verstecken. Diese Information fügt tatsächlich keinen Wert für "normale Benutzer" hinzu. Es hält auch keinen Hacker davon ab, alles zu versuchen, um es herunterzubekommen oder Sicherheitslücken auszunutzen (falls es welche gab ...). Sie machen sich keine Gedanken darüber, ob die Version angezeigt wird oder nicht. Für die "normalen Benutzer" würde ich immer noch eine benutzerdefinierte Fehlerseite verwenden, die ein bisschen mehr in den Stil der betreffenden Webanwendung integriert ist, so dass sie weniger "gruselig" ist und somit die Benutzererfahrung verbessert.

+1

Es ist erstaunlich, wie sich die Dinge ändern ... https://www.cvedetails.com/vulnerability-list/vendor_id-45/product_id-887/version_id-29850/Apache-Tomcat-5.5.20.html –

8

Die Antworten sind ein bisschen veraltet, also: Wenn Sie einen Tomcat 6 oder neuer verwenden (ich habe auf Tomcat 7 getestet), können Sie das ErrorReportValve auf eine Weise verwenden, die viel einfacher zu konfigurieren ist und pflegen. Fügen Sie einfach die folgenden Zeilen an den Host-Abschnitt Ihrer server.xml (wo man bereits die AccessLogValve haben sollte:

<Valve className="org.apache.catalina.valves.ErrorReportValve" 
    showReport="false" 
    showServerInfo="false"/>  

Auf diese Weise können Sie den Server Informationen versteckt sind und (wegen des optionalen showReport = false) auch der Stapel nachzeichnet.

Sie können in den Security How To und in der Dokumentation der Error Report Valve.

Verwandte Themen