Welches ist die beste Möglichkeit, die Tomcat-Version von Fehlerseiten zu maskieren / auszublenden?

8

Könnte jemand bitte mich wissen lassen, welcher der folgenden zwei Ansätze empfohlen wird und warum:

  • Nehmen Sie die erforderlichen Änderungen vor ServerInfo.properties

  • Definieren Sie "Fehlerseite" in web.xml

Sandhya Agarwal 15.02.2010, 14:18
quelle

3 Antworten

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 verwenden, um das gleiche auf eine Weise zu erreichen, die viel einfacher zu konfigurieren und ist pflegen. Fügen Sie einfach die folgenden Zeilen zum Host-Bereich Ihrer server.xml hinzu (wo Sie bereits den AccessLogValve:

haben sollten) %Vor%

Auf diese Weise verstecken Sie die Server-Informationen und (wegen des optionalen showReport = false) auch die Stack-Traces.

Weitere Informationen dazu finden Sie in der Sicherheitsanleitung und in der Dokumentation des Fehlerberichts Valve .

    
Valentin 03.02.2016 11:20
quelle
4

Ich würde die Änderungen an ServerInfo.properties trotzdem vornehmen - möglicherweise gibt es andere Stellen, an denen die ServerInfo.properties-Versionsinformationen abgerufen werden können als nur Fehlerseiten. (Vielleicht verlässt jemand die Standard-Homepage, Samples, etc. und diese können es haben.)

Definieren Sie Fehlerseiten in Ihrer Web-App, wenn Sie möchten - eine schnellere Möglichkeit besteht darin, Ihre Standardfehlerseiten global zu ändern, indem Sie sie in CATALINA_HOME / conf / web.xml angeben. Dies wird standardmäßig die neu angegebenen Fehlerseiten verwenden Ein Entwickler vergisst, Fehlerseiten für seine App anzugeben.

    
Nate 15.02.2010 14:48
quelle
4

Das Ändern von ServerInfo.properties ist am sichersten. Wenn Sie zum Beispiel eine Webanwendung auf http://example.com/contextname bereitgestellt haben, könnte trotzdem eine 404 by http://example.com/blah oder so erhalten werden. Man könnte es auch programmatisch erhalten, indem man einen Roboter zum Senden einer Anfrage mit einer nicht unterstützten Methode verwendet (die 503 Fehlerseite zurückgibt).

Das sagte ich ehrlich gesagt keine gültigen Gründe, Tomcat-Version davon zu verbergen. 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 das Benutzererlebnis verbessert.

    
BalusC 15.02.2010 17:09
quelle

Tags und Links