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

JavaScript zur Implementierung der mobilen Signaturfunktion

In diesem Artikel wird der spezifische JavaScript...

Bereinigungsmethode für das Docker-Verzeichnis /var/lib/docker/aufs/mnt

Der Dienst des Unternehmens verwendet Docker und ...

CSS-Code-Abkürzung div+css-Layout-Code-Abkürzungsspezifikation

Durch die Verwendung von Abkürzungen können Sie di...

Vue implementiert Bildverifizierungscode beim Anmelden

In diesem Artikelbeispiel wird der spezifische Co...

Allgemeine Datumsvergleichs- und Berechnungsfunktionen in MySQL

Implementierung des Zeitvergleichs in MySql unix_...

js kehrt zur vorherigen Seite zurück und aktualisiert den Code

1. Javascript kehrt zur vorherigen Seite zurück hi...

Ein super detailliertes Vue-Router Schritt-für-Schritt-Tutorial

Inhaltsverzeichnis 1. Router-Ansicht 2. Router-Ve...

Implementierung langer Textschatten in Less in CSS3

Dieser Artikel stellt hauptsächlich die Implement...

So ändern Sie den Replikationsfilter in MySQL dynamisch

MySQL Replikationsfilter dynamisch ändern Lassen ...

Eine kurze Erläuterung des CSS-Überlaufmechanismus

Warum müssen Sie sich eingehend mit dem CSS-Überl...

Gängige Master-Slave-Replikationsarchitekturen in MySQL 4

Inhaltsverzeichnis Replikationsarchitektur mit ei...