Härtung des Servers
Für eine höchstmögliche Sicheheit 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 protentiellen Angreifer Informationen über in dieser Version bekannte Sicherheits-Lücken liefern. Generell gelten jedoch folgende Empfehlungen:
Regelmäßige Aktualisierung des Servers
Ein Regelmäßges Aktualisieren des Servers sorgt dafür dass ggf. gefundene Sicheheitslü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.
Entfernen der Standard-Anwendungen
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-Installtion zu löschen. Diese Anwendungen bieten sonst ggf. selbst eigene Angriffsmöglichkeiten bzw. geben auch unnötg Informationen über den verwendeten Server preis. Standardmäßig handelt es sich hierbei um folgende Verzeichnisse:
- docs... Dokumentation des Servers
- examples... Beispiele
- host-manager... Verwaltungsoberfläche für das Administieren von Virtuellen Hosts
- manager... Verwaltungsoberfläche für das Verwalten der installieren Anwendungen
- ROOT... Root-Verzeichnis mit einer Standard-Willkommensseite
Alls diese Anwendungen sind für den Betrieb von FORMCYCLE nicht nötig und können demnach meißt entfernt werden.
Entfernen unnötiger Server-Informationen aus den Antwort-Headern
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:
...
</Connector>
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:
...
</Connector>