... |
... |
@@ -25,7 +25,7 @@ |
25 |
25 |
Vor der vorausgesetzten Tomcat-Version 9 wurde bei standardmäßig bei jedem HTTP-Response ein Header //Server// mit der Information der verwendeten Tomcat-Version übertragen. Dies ist standardmäßig inzwischen nicht mehr der Fall und sollte aber auch bei allen anderen involvierten Servern (Load-Balancer, Firewall o.ä.) sichergestellt werden. Sollte dieser Header dennoch vom Tomcat übermittelt werden, kann der entsprechende Wert innerhalb des Connectors der //server.xml// (///Pfad/Zum/Tomcat/conf/web.xml//) definiert werden. Eine Überschreibung mit einem leeren Wert würde hierbei beispielhaft wie folt aussehen: |
26 |
26 |
|
27 |
27 |
{{code}} |
28 |
|
-<Connector ... Server=" "> |
|
28 |
+<Connector... Server=" "> |
29 |
29 |
... |
30 |
30 |
</Connector> |
31 |
31 |
{{/code}} |
... |
... |
@@ -33,7 +33,7 @@ |
33 |
33 |
Ebenso gibt es das Attribut //serverRemoveAppProvidedValues// welches benutzt werden kann um zu verhindern dass dieser Header durch Anwendungen gesetzt werden kann. Eine beispielhafte Konfiguration sieht hierbei wie folgt aus: |
34 |
34 |
|
35 |
35 |
{{code}} |
36 |
|
-<Connector ... serverRemoveAppProvidedValues="true"> |
|
36 |
+<Connector... serverRemoveAppProvidedValues="true"> |
37 |
37 |
... |
38 |
38 |
</Connector> |
39 |
39 |
{{/code}} |
... |
... |
@@ -45,7 +45,7 @@ |
45 |
45 |
Standardmäßig werden bei den Tomcat-Fehlerseiten unnötig Server-Informationen in Form der installierten Version preisgegeben. Um dies zu verhindern ist es möglich diesen Abschnitt der Fehlerseiten zu deaktivieren. Hierfür kann in der //server.xml// (///Pfad/Zum/Tomcat/conf/server.xml//) unter dem Knoten //Host// die Konfiguration des so genannten ErrorReportValve eingetragen bzw. angepasst werden. Sollte zum Beispiel weder die Server-Informationen noch Details zum eigentlichen Fehler ausgeliefert werden empfiehlt sich folgender Anpassun: |
46 |
46 |
|
47 |
47 |
{{code}} |
48 |
|
-<Host ...> |
|
48 |
+<Host...> |
49 |
49 |
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" /> |
50 |
50 |
</Host> |
51 |
51 |
{{/code}} |
... |
... |
@@ -54,3 +54,15 @@ |
54 |
54 |
|
55 |
55 |
== Verwenden alternativer Fehlerseiten == |
56 |
56 |
|
|
57 |
+Eine weitere Erhöhung der Sicherheit bietet die Möglichkeit die Standard-Fehlerseiten des Servers komplett zu ändern. Hierfür können an den ErrorReportValve-Eintrag Attribute für einzelne HTTP-Fehlercodes und/oder eine Seite für alle nicht definierten Fehler angegeben werden. Hierfür wird das Attribute //errorCode.nnn// verwendet, wobei //nnn// dem HTTP-Fehlercode entspricht. wird dieser mit 0 verwendet, wird die angegebene Seite für alle nicht definierten Fehler benutzt. Ein Beispiel bei dem der HTTP-Status 404 (Ressource nicht gefunden) auf die Seite //404.html// und alle anderen Fehler auf //error.html// geleitet werden sieht hierbei wie folgt aus: |
|
58 |
+ |
|
59 |
+{{code}} |
|
60 |
+<Host...> |
|
61 |
+ <Valve className="org.apache.catalina.valves.ErrorReportValve" errorCode.404="404.html" errorCode.0="error.html" /> |
|
62 |
+</Host> |
|
63 |
+{{/code}} |
|
64 |
+ |
|
65 |
+Nach einer Anpassung ist der Neustart des Servers notwendig. |
|
66 |
+ |
|
67 |
+Zusätzlich bzw. alternativ können die Standardfehler meist auch durch zwischengeschaltene Server wie z.B. Load-Balancer oder Proxies behandelt werden. Dies ermöglicht eine standardisierteres Vorgehen. |
|
68 |
+ |