Änderungen von Dokument Härtung des Servers


Von Version 14.1
bearbeitet von MKO
am 24.11.2021, 15:51
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 16.2
bearbeitet von gru
am 13.12.2021, 14:17
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -Härtung des Servers
1 +Hardening of the server
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.mko
1 +XWiki.gru
Versteckt
... ... @@ -1,1 +1,1 @@
1 -true
1 +false
Inhalt
... ... @@ -1,29 +1,27 @@
1 1  {{content/}}
2 2  
3 -Für eine höchstmögliche Sicherheit ist es empfohlen den Tomcat-Server zu härten. Bei diesem Verfahren werden alle unnötigen Zugriffe oder Informationen nach außen so weit wie möglich verborgen bzw. entfernt. So kann zum Beispiel bereits die Information über die konkrete Version des Servers einem potentiellen Angreifer Informationen über in dieser Version bekannte Sicherheits-Lücken liefern. Apache selbst bietet [[hier>>https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html]] eine Übersicht an zu beachtenden Sicherheitsaspekten. Es folgt eine Zusammenfassung der wichtigsten Teilaspekte.
3 +For the highest possible security, it is recommended to harden the Tomcat server. This procedure hides or removes all unnecessary access or information to the outside as far as possible. For example, information about the specific version of the server can already provide a potential attacker with information about security gaps known in this version. Apache itself offers an overview of security aspects to be considered [[on their website>>https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html]]. The following is a summary of the most important sub-issues.
4 4  
5 -== Regelmäßige Aktualisierung des Servers ==
5 +== Regular updating of the server ==
6 6  
7 -Ein regelmäßiges Aktualisieren des Servers sorgt dar, dass ggf. gefundene Sicherheitslücken innerhalb des Servers geschlossen werden können. Es sollte immer im Sinne der IT sein sowohl den Tomcat als auch alle beteiligten Server sowohl auf Ebene der Anwendung als auch des Betriebssystems möglichst aktuell zu sein.
7 +Regular updating of the server ensures that any security gaps found within the server can be closed. It should always be in the IT's interest to keep both Tomcat and all the systems involved as up-to-date as possible, both at the level of the application and the operating system.
8 8  
9 +== Removing the default applications ==
9 9  
10 -== Entfernen der Standard-Anwendungen ==
11 +Depending on the installation you choose, the Tomcat server may ship with several standard applications. These are examples, documentation and management tools. If these are not used, it is recommended to remove them. It is sufficient to delete the corresponding applications from the //webapps// directory of the Tomcat installation. Otherwise, these applications may offer their own attack possibilities or unnecessarily disclose information about the server used. By default, these are the following directories:
11 11  
12 -Je nach gewählter Installation wird der Tomcat-Server mit ggf. mehreren Standard-Anwendungen ausgeliefert. Hierbei handelt es sich um Beispiele, Dokumentationen und den Server-Managern. Sollten diese nicht verwendet werden, ist es empfohlen diese zu entfernen. Hierbei genügt es die entsprechend nicht verwendeten Anwendungen aus //webapps//-Verzeichnis der Tomcat-Installation zu löschen. Diese Anwendungen bieten sonst ggf. selbst eigene Angriffsmöglichkeiten bzw. geben auch unnötig Informationen über den verwendeten Server preis. Standardmäßig handelt es sich hierbei um folgende Verzeichnisse:
13 +* **docs**... Documentation of the server
14 +* **examples**... Sample applications
15 +* **host-manager**... management interface for the administration of virtual hosts
16 +* **manager**... Management interface for managing the installed applications
17 +* **ROOT**... root directory with a default welcome page
13 13  
19 +All these applications are not necessary for the operation of {{formcycle/}} and can therefore usually be removed without any problems.
14 14  
15 -* **docs**... Dokumentation des Servers
16 -* **examples**... Beispiel-Anwendungen
17 -* **host-manager**... Verwaltungsoberfläche für das Administrieren von Virtuellen Hosts
18 -* **manager**... Verwaltungsoberfläche für das Verwalten der installieren Anwendungen
19 -* **ROOT**... Root-Verzeichnis mit einer Standard-Willkommensseite
21 +== Removing unnecessary server information from the response headers ==
20 20  
21 -Alle diese Anwendungen sind für den Betrieb von {{formcycle/}} nicht nötig und nnen demnach meist problemlos entfernt werden.
23 +Before the required Tomcat version 9, the HTTP header //Server// was transmitted by default with the information of the Tomcat version used for each HTTP response. This is no longer the case by default, but should also be ensured for all other servers involved (load balancer, firewall, etc.). If this header is nevertheless transmitted by Tomcat, the corresponding value can be defined within the connector of the //server.xml// (///Path/To/Tomcat/conf/web.xml//). An override with an empty value would look like the following example:
22 22  
23 -== Entfernen unnötiger Server-Informationen aus den Antwort-Headern ==
24 -
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 folgt aussehen:
26 -
27 27  {{code}}
28 28  <Connector... Server=" ">
29 29  ...
... ... @@ -30,7 +30,7 @@
30 30  </Connector>
31 31  {{/code}}
32 32  
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:
31 +There is also the //serverRemoveAppProvidedValues// attribute which can be used to prevent this header from being set by applications as well. An example configuration looks like this:
34 34  
35 35  {{code}}
36 36  <Connector... serverRemoveAppProvidedValues="true">
... ... @@ -39,35 +39,35 @@
39 39  {{/code}}
40 40  
41 41  {{info}}
42 -Nach einer Anpassung ist der Neustart des Servers notwendig.
40 +After an adjustment the restart of the server is necessary.
43 43  {{/info}}
44 44  
45 -== Entfernen der Tomcat-Version aus Standard-Fehlerseiten ==
43 +== Removing Tomcat version from default error pages ==
46 46  
47 -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. Hierr 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 Anpassung:
45 +By default, the Tomcat server error pages unnecessarily reveal information in the form of the installed version and error details. To prevent this it is possible to disable these sections of the error pages. For this purpose the configuration of the so-called //ErrorReportValve// can be entered or adapted in the //server.xml// (///Path/Tomcat/conf/server.xml//) under the node //Host//. If, for example, neither the server information nor details of the actual error are delivered, the following adaptation is recommended:
48 48  
49 49  {{code}}
50 50  <Host...>
51 - <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"/>
49 + <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"></Valve>
52 52  </Host>
53 53  {{/code}}
54 54  
55 55  {{info}}
56 -Nach einer Anpassung ist der Neustart des Servers notwendig.
54 +After an adjustment the restart of the server is necessary.
57 57  {{/info}}
58 58  
59 -== Verwenden alternativer Fehlerseiten ==
57 +== Use alternative error pages ==
60 60  
61 -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:
59 +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:
62 62  
63 63  {{code}}
64 64  <Host...>
65 - <Valve className="org.apache.catalina.valves.ErrorReportValve" errorCode.404="webapps/404.html" errorCode.0="webapps/error.html"/>
63 + <Valve className="org.apache.catalina.valves.ErrorReportValve" errorCode.404="webapps/404.html" errorCode.0="webapps/error.html"></Valve>
66 66  </Host>
67 67  {{/code}}
68 68  
69 69  {{info}}
70 -Nach einer Anpassung ist der Neustart des Servers notwendig.
68 +After an adjustment the restart of the server is necessary.
71 71  {{/info}}
72 72  
73 -Zusätzlich bzw. alternativ können die Standardfehler meist auch durch zwischengeschaltete Server wie z.B. Load-Balancer oder Proxies behandelt werden. Dies ermöglicht eine standardisierteres Vorgehen.
71 +Zusätzlich bzw. alternativ können die Standardfehler meist auch durch zwischengeschaltete Server wie z.B. Load-Balancer oder Proxies behandelt werden. Dies ermöglicht miest ein optisch standardisierteres Vorgehen und kann ebenso zusätzlich zur Anpassung innerhalb des Tomcats zum Einsatz kommen.