Tomcat ist ein HTTP-Server, der die offizielle Referenzimplementierung der weit verbreiteten Servlet- und JavaServer Page (JSP)-Technologien darstellt, die von Sun im Rahmen des Java Community Process entwickelt wurden. Zum Erstellen von HTTP-Serveranwendungen werden Servlet- und JSP-Technologien verwendet. Allerdings wurden der Servlet-Technologie viele Funktionen hinzugefügt (einschließlich Zugriffssicherheit, Sitzungsverwaltung und Thread-Steuerung). Die JSP-Technologie bietet eine einfache Möglichkeit, dynamisch generierte HTML-Seiten zu verarbeiten. Diese HTML-Seiten werden zur schnellen Ausführungszeit direkt in Servlets kompiliert. Zusätzlich zu den beiden oben genannten Technologien zur Gewährleistung der Sicherheit können Sie auch Tomcat-Parameter konfigurieren, um die Sicherheit zu erhöhen. Sicherheitseinstellungen: 1. Löschen Sie alle Dateien im Webapps-Verzeichnis und deaktivieren Sie die Tomcat-Verwaltungsschnittstelle
2. Kommentieren oder löschen Sie alle Benutzerberechtigungen in der Datei tomcat-users.xml: 3. Versionsinformationen ausblenden und conf/server.xml ändern 3. Benutzerfragen: nginx und httpd verwenden den Root-Benutzer, um mit der Bewachung von Port 80 zu beginnen, und der untergeordnete Prozess/Thread wechselt über die Funktionen setuid() und setgid() zum normalen Benutzer. Das heißt, der Eigentümer des übergeordneten Prozesses ist der Root-Benutzer, und der Eigentümer des untergeordneten Prozesses und des Multithreads ist ein Nicht-Root-Benutzer. Dieser Benutzer hat keine Shell und kann sich nicht über SSH und die Konsole beim System anmelden. Erstellen Sie einen Benutzer, der nur zum Starten von Tomcat verwendet werden kann:
Erstellen Sie eine Portzuordnung und rufen Sie Port 8080 auf, wenn Sie auf Port 80 zugreifen
Weiterleitung abbrechen:
4. Deaktivieren Sie die automatische Kriegsbereitstellung vim conf/server.xml 5. Blenden Sie die Versionsinformationen aus, die in 404 angezeigt werden: Entpacken Sie catalina.jar in lib, jar xf catalina.jar
6. Ändern Sie den Befehl „shutdown tomcat“ Der Verwaltungsport, der die Tomcat-Instanz direkt herunterfahren kann, ist in server.xml definiert. Nachdem wir über Telnet eine Verbindung zum Port hergestellt haben, können wir SHUTDOWN eingeben (dies ist der Standardbefehl zum Herunterfahren), um die Tomcat-Instanz herunterzufahren (beachten Sie, dass der Prozess weiterhin vorhanden ist, obwohl die Instanz zu diesem Zeitpunkt heruntergefahren ist). Da das Schließen der Ports von Tomcat standardmäßig erfolgt, sind die Anweisungen sehr einfach. Der Standardport ist 8005 und der Befehl lautet SHUTDOWN. Der Schließbefehl muss geändert werden, um etwas komplizierter zu sein. Oder deaktivieren Sie Port 8005
7. Trennen Sie 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. 8. Fügen Sie die folgende Konfiguration in conf/web.xml hinzu 9. Benutzerdefinierte Fehlerseiten web.xml befindet sich unter einer bestimmten Anwendung und sollte den 404-Fehler dieser Anwendung verarbeiten. http://localhost/ greift jedoch auf Tomcats eigene Anwendung zu, daher sollte die web.xml-Konfiguration in der Anwendung unter webapp/Root/ konfiguriert werden. Erstellen Sie die Datei error.jsp im Verzeichnis webapps <%@ Seite contentType="text/html; charset=UTF-8" %> <%@ page import="java.io.*" %> <%@ page import="java.util.*" %> <html> <Kopfzeile> <title>404-Seite</title> <Text> <vor> <% Aufzählung<String> attributeNames = request.getAttributeNames(); während (attributeNames.hasMoreElements()) { Zeichenfolge Attributname = Attributnamen.nächstesElement(); Objektattribut = Anfrage.getAttribute(Attributname); out.println("request.attribute['" + attributeName + "'] = " + attribute); } %> </pre> Datei „exception.jsp“ <%@ Seite contentType="text/html; charset=UTF-8" isErrorPage="true" %> <%@ page import="java.io.*" %> <html> <Kopfzeile> <title>Ausnahmeseite</title> <Text> <hr/> <vor> <% response.getWriter().println("Ausnahme: " + Ausnahme); wenn (Ausnahme != null) { Antwort.getWriter().println("<pre>"); Ausnahme.printStackTrace(response.getWriter()); Antwort.getWriter().println("</pre>"); } Antworten e.getWriter().println("<hr/>"); %> Testen Sie die benutzerdefinierte Fehlerseite im Browser: Definieren Sie ein Sitzungstimeout und verhindern Sie die Verzeichnisauflistung Das ist alles für diesen Artikel. Ich hoffe, er kann Ihnen helfen. Das könnte Sie auch interessieren:
|
<<: Implementierung von vite+vue3.0+ts+element-plus zum schnellen Erstellen eines Projekts
>>: Erklärung der CAST- und CONVERT-Funktionen zur Typkonvertierung in MySQL-Datenbanken
Das Jupyter-Notebook wird unter dem Docker-Contai...
Nachdem die Anwendung in einen Container verpackt...
In diesem Artikel wird der spezifische Code von j...
Der zu erzielende Effekt In vielen Fällen überwac...
Das Befehlsmuster ist ein Verhaltensentwurfsmuste...
Detaillierte Erklärung von HTML (Option auswählen)...
Inhaltsverzeichnis Stil mit Gültigkeitsbereich St...
Dieser Artikel stellt hauptsächlich den Prozess d...
Ich habe mich vor Kurzem mit Responsive Design be...
Dieser Artikel stellt verschiedene Methoden zur I...
Zweimal Ihr MySQL-Passwort vergessen? Zuerst habe...
Vorwort Hinweis: Die Testdatenbankversion ist MyS...
Vorwort: Dieser Artikel stellt hauptsächlich den ...
1. Installieren Sie Oracle. Im Internet gibt es z...
So stellen Sie Oracle mit Docker auf dem Mac bere...