在Debian系统上配置和优化Tomcat以提高其安全性是一个重要的步骤。以下是一个详细的指南,涵盖了从安装到高级安全配置的各个方面。
sudo apt update sudo apt upgrade sudo apt install default-jdk wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz tar -zxvf apache-tomcat-9.0.76.tar.gz sudo mv apache-tomcat-9.0.76 /opt/tomcat sudo groupadd tomcat sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat sudo chgrp -R tomcat /opt/tomcat sudo chmod -R 750 /opt/tomcat sudo chown -R tomcat:tomcat /opt/tomcat sudo nano /etc/systemd/system/tomcat.service 添加以下内容:
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/default-java Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:UseParallelGC' Environment='JAVA_OPTS=-Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh RestartSec=10 Restart=always [Install] WantedBy=multi-user.target 重新加载systemd并启动Tomcat:
sudo systemctl daemon-reload sudo systemctl start tomcat sudo systemctl enable tomcat cd /opt/tomcat/webapps rm -rf docs examples /etc/tomcat/server.xml 文件,修改HTTP端口为1234:<Connector port="1234" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/> /etc/tomcat/server.xml 中的 server 属性:Connector port="1234" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" server="Custom Server Name"/> webapps/manager 和 webapps/host-manager 目录:rm -rf /opt/tomcat/webapps/manager rm -rf /opt/tomcat/webapps/host-manager /etc/tomcat/server.xml 文件,添加SSL连接器:<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/path/to/your/keystore" keystorePass="yourKeystorePassword"/> /etc/tomcat/tomcat-users.xml 文件,添加管理用户:<tomcat-users> <role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="admin" password="securePassword" roles="manager-gui,admin-gui"/> </tomcat-users> ufw 限制访问Tomcat端口:sudo ufw allow 1234/tcp sudo ufw allow 8443/tcp 通过以上步骤,您可以显著提高Debian上Tomcat服务器的安全性。确保定期审查和更新配置,以应对新的安全威胁。