Tomcat-Sicherheitsspezifikationen (Tomcat-Sicherheitsverstärkung und -spezifikationen)

Tomcat-Sicherheitsspezifikationen (Tomcat-Sicherheitsverstärkung und -spezifikationen)

Tomcat ist ein Open-Source-Webserver. Das auf Tomcat basierende Web ist sehr effizient und läuft problemlos auf gängigen Hardwareplattformen. Daher ist es bei Webmastern sehr beliebt. In der Standardkonfiguration birgt es jedoch gewisse Sicherheitsrisiken und kann böswillig angegriffen werden. Hier sind einige Sicherheitsverbesserungen:

Versionssicherheit

Führen Sie ein Upgrade auf die neueste stabile Version durch. Aus Stabilitätsgründen werden Upgrades zwischen Versionen nicht empfohlen.

Herabstufung des Dienstes

Verwenden Sie nicht den Root-Benutzer, um Tomcat zu starten. Verwenden Sie einen normalen Benutzer, um Tomcat zu starten. Der Benutzername im Cluster wird mit der UID vereinheitlicht

Portschutz

1. Ändern Sie den Tomcat-Verwaltungsport 8005. Dieser Port ist berechtigt, den Tomcat-Dienst herunterzufahren, muss aber zwischen 8000 und 8999 konfiguriert sein und den Befehl zum Herunterfahren ändern.
2 Wenn Tomcat im Intranet platziert ist, ist die Abhöradresse für den Tomcat-Dienst die Intranetadresse.
3 Ändern Sie den Standard-AJP-Port 8009 so, dass er weniger konfliktanfällig ist (größer als 1024), verlangen Sie jedoch, dass der Port zwischen 8000 und 8999 konfiguriert wird

Deaktivieren des Verwaltungsterminals

1 Löschen Sie die Standarddatei $CATALINA_HOME/conf/tomcat-users.xml und starten Sie Tomcat neu, um automatisch eine neue Datei zu generieren
2 Löschen Sie alle Standardverzeichnisse und Dateien, die von $CATALINA_HOME/webapps heruntergeladen wurden
3 Konfigurieren Sie das Stammverzeichnis der Tomcat-Anwendung auf ein anderes Verzeichnis als das Tomcat-Installationsverzeichnis

Tomcat-Versionsinformationen ausblenden

Die Anzeige dieser Informationen wird durch ein JAR-Paket gesteuert, das im Verzeichnis $CATALINA_HOME/lib gespeichert ist und den Namen catalina.jar trägt.
Durch das Dekomprimieren des JAR-Pakets mit dem Befehl „jar xf“ werden zwei Verzeichnisse erstellt: META-INF und org.
Ändern Sie das Feld Serverinfo in der Datei org/apache/catalina/util/ServerInfo.properties, um die Versionsinformationen unseres Tomcat zu ändern

Deaktivieren Sie die automatische Kriegsbereitstellung

Standardmäßig aktiviert Tomcat die Hot-Deployment von War-Paketen. Um die Einschleusung von Trojanern und anderen Schadprogrammen zu verhindern, müssen wir die automatische Bereitstellung deaktivieren.

Ändern Sie die Instanz:

<Hostname="localhost" appBase=""
unpackWARs="false" autoDeploy="false">

Benutzerdefinierte Fehlerseiten

Bearbeiten Sie conf/web.xml und fügen Sie den folgenden Inhalt über dem Tag </web-app> hinzu:

<Fehlerseite>
  <Fehlercode>404</Fehlercode>
  <Standort>/404.html</Standort>
</Fehlerseite>
<Fehlerseite>
  <Fehlercode>500</Fehlercode>
  <Standort>/500.html</Standort>
</Fehlerseite>

Schützen Sie Verzeichnisdateien vor der automatischen Auflistung

Bearbeiten Sie die Datei conf/web.xml

<Servlet>
    <Servlet-Name>Standard</Servlet-Name>
    <servlet-Klasse>org.apache.catalina.servlets.DefaultServlet</servlet-Klasse>
    <Init-Parameter>
      <param-name>Debuggen</param-name>
      <param-wert>0</param-wert>
    </init-param>
    <Init-Parameter>
      <param-name>Auflistungen</param-name>
      <param-value>falsch</param-value>
    </init-param>
    <beim Start laden>1</beim Start laden>
  </servlet>
 
<param-value>falsch</param-value>

Hier bedeutet „false“ keine Auflistung, „true“ bedeutet Auflistung zulassen

Mehrere virtuelle Hosts

Es wird dringend empfohlen, die virtuellen Hosts von Tomcat nicht zu verwenden. Es wird empfohlen, eine Instanz pro Site zu verwenden. Das heißt, Sie können mehrere Tomcats starten, anstatt einen Tomcat mit mehreren virtuellen Hosts zu starten.
Da Tomcat über mehrere Threads verfügt und den Speicher gemeinsam nutzt, wirkt sich ein Absturz einer beliebigen Anwendung auf einem virtuellen Host auf alle Anwendungen aus. Obwohl die Verwendung mehrerer Instanzen einen übermäßigen Mehraufwand verursacht, wird dadurch zumindest die Isolierung und Sicherheit der Anwendung gewährleistet.

Wiederherstellung der Skriptberechtigung

Kontrollieren Sie die Ausführungsberechtigungen von start.sh, catalina.sh und shutdown.sh im Verzeichnis CATALINAHOME/bin
chmod −R744 CATALINA_HOME/bin/*

Separate Tomcat- und Projektbenutzer

Um zu verhindern, dass Tomcat in das Web-Shell-Programm implantiert wird, können Sie die Projektdatei ändern. Daher müssen wir Tomcat vom Projektbesitzer trennen, sodass er selbst im Falle eines Hacks keine Projektdateien erstellen und bearbeiten kann.

Neuschreiben des Server-Headers

Fügen Sie der HTTP-Connector-Konfiguration die Serverkonfiguration server="server_name" hinzu. Der Standardwert ist Apache-Copyote/1.1
Begrenzen Sie die IP-Zugriffsquelle durch die Konfiguration

<Hostname="localhost" appBase="/data/www/tomcat_webapps" unpackWARs="true" autoDeploy="false">
<Valve-Klassenname="org.apache.catalina.valves.RemoteAddrValve" erlauben="192.168.1.10,192.168.1.30,192.168.2.*" deny=""/>
<Valve-Klassenname="org.apache.catalina.valves.RemoteHostValve" erlauben="www.test.com,*.test.com" deny=""/>
</Host>

Spezifikation des Zugriffsprotokollformats <br /> Referrer- und User-Agent-Datensätze im Standardzugriffsprotokoll von Tomcat aktivieren

Standardkonfiguration:

<Valve-Klassenname="org.apache.catalina.valves.AccessLogValve"
Verzeichnis="Protokolle" Präfix="localhost_access_log"
Suffix=".txt" Muster="%h %l %u %t "%r" %s %b %{Referer}i %{User-Agent}i %D"
resolveHosts="false" />

Tomcat deaktiviert unzulässige HTTP-Methoden

Bearbeiten Sie die Konfiguration in der Datei web.xml

<init-param> von org.apache.catalina.servlets.DefaultServlet 
<param-name>schreibgeschützt</param-name> 
<param-value>wahr</param-value> 
</init-param>

Wenn der Parameterwert wahr ist, sind Lösch- und Einfügen-Vorgänge nicht zulässig.

Der Tomcat-Benutzer verfügt über Remote-Verwaltungsberechtigungen <br /> Ändern Sie in tomcat-users.xml den Rollenwert des Tomcat-Benutzers, um „Manager“ einzuschließen, beispielsweise:

<Benutzer Benutzername="Tomcat" Passwort="***"
Rollen="Manager">

Die automatische Abmeldezeit von Tomcat beträgt nicht mehr als 30 Sekunden. <br /> Bearbeiten Sie server.xml und ändern Sie die automatische Abmeldezeit wie folgt auf 30 Sekunden:

<Anschluss 
Port="8080" maxHttpHeaderSize="8192" maxThreads="150" 
minSpareThreads="25" maxSpareThreads="75", 
enableLookups="false" redirectPort="8443" acceptCount="100" 
VerbindungsTimeout="30000" DeaktivierenUploadTimeout="true" />

Tomcat sollte die Mindest- und Höchstzahl der Verbindungen basierend auf der Maschinenleistung und den Geschäftsanforderungen festlegen.

Bearbeiten Sie die Datei server.xml.

Das Beispiel lautet wie folgt: <Connector port="8080" minSpareThreads="25" .../>
minSpareThreads="25" bedeutet, dass diese Anzahl an leeren Threads zum Warten geöffnet wird, auch wenn sie niemand verwendet. Stellen Sie die Anzahl der Verbindungen entsprechend der tatsächlichen Situation ein.

Bearbeiten Sie die Datei server.xml.
Das Beispiel lautet wie folgt: <Connector port="8080" maxThreads="150"……/>
maxThreads="150" bedeutet, dass maximal 150 Verbindungen gleichzeitig verarbeitet werden können. Konfigurieren Sie die Anzahl der Verbindungen entsprechend den tatsächlichen Gegebenheiten.

Tomcat-Konfigurationszugriffsprotokoll <br /> Ändern Sie server.xml und heben Sie die Kommentierung des folgenden Inhalts auf:

<Valve-Klassenname="org.apache.catalina.valves.AccessLogValve" 
Verzeichnis = "Protokolle" Präfix = "localhost_access_log." Suffix = ".txt" 
Muster="allgemein" resloveHosts="false"/>

Konfigurieren Sie die Tomcat-Fehlerseitenumleitung

Bearbeiten Sie die Datei web.xml und ändern Sie sie wie folgt:

<Fehlerseite> 
<Fehlercode>404</Fehlercode> 
<Standort>/keineDatei.htm</Standort> 
</Fehlerseite> 
………… 
<Fehlerseite> 
<Ausnahmetyp>java.lang.NullPointerException</Ausnahmetyp>
<Standort>/Fehler.jsp</Standort> 
</Fehlerseite>

Dies ist das Ende dieses Artikels. Der Herausgeber von 123WORDPRESS.COM wird später weitere Informationen mit Ihnen teilen.

Das könnte Sie auch interessieren:
  • Tomcat-Sicherheitseinstellungen Win2003 Tomcat-Berechtigungsbeschränkungen
  • Sicherheitseinstellungen für den Tomcat-Server
  • Detaillierte Erläuterung der Tomcat-Sicherheitskonfiguration und Leistungsoptimierung
  • Websicherheit - Tomcat deaktiviert WebDAV oder verbietet unnötige HTTP-Methoden
  • Methode für die Sicherheitseinstellungen des Tomcat-Servers

<<:  Ein Beispiel zum Abfragen von Daten in MySQL und zum Aktualisieren dieser Daten in eine andere Tabelle basierend auf Bedingungen

>>:  Implementierung von vite+vue3.0+ts+element-plus zum schnellen Erstellen eines Projekts

Artikel empfehlen

Detaillierte Erklärung zum Anzeigen der MySQL-Speichernutzung

Vorwort Dieser Artikel stellt hauptsächlich die r...

Welche magischen Anwendungen haben CSS-Filter?

Hintergrund Grundlegende Konzepte CSS filter wend...

DIV-Hintergrund, halbtransparenter Text, nicht durchscheinender Stil

Der DIV-Hintergrund ist halbtransparent, aber die ...

Prozessanalyse von reservierten Wortanweisungen in Dockerfile

Inhaltsverzeichnis 1. Was ist Dockerfile? 2. Anal...

Erstellen eines Dateisystems für ARM-Entwicklungsboards unter Linux

1. Bitte laden Sie den Busybox-Quellcode online h...

Vue realisiert Preiskalendereffekt

In diesem Artikelbeispiel wird der spezifische Co...

So erstellen Sie SonarQube mit Docker

Inhaltsverzeichnis 1. Docker installieren 2. Sona...

Vier Methoden zur Verwendung von JS zur Bestimmung von Datentypen

Inhaltsverzeichnis Vorwort 1. Art von 2. Instanz ...

Freigabe der Schritte zum SVN-Dienstsicherungsvorgang

Schritte zur Sicherung des SVN-Dienstes 1. Quells...