在CentOS中对Tomcat进行安全加固是确保服务器稳定性和数据安全性的重要步骤。以下是一些关键的安全加固措施:
/srv/apache-tomcat/webapps 下的所有内容,以防止恶意代码的部署。rm -rf /srv/apache-tomcat/webapps/*
tomcat-users.xml 中的所有用户权限:以减少潜在的安全风险。# cat conf/tomcat-users.xml
# <!--
tomcat-users:
user1: password1, role1
user2: password2, role2
-->
server.xml 文件,添加 server 属性以隐藏Tomcat版本信息。<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443"
server="MyAppServer/1.0" />
useradd -p password myuser
chown -R myuser:myuser /usr/java/tomcat7/*
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
server.xml 中设置 unpackWARs="false" 和 autoDeploy="false",以防止自动部署恶意WAR文件。<Host name="localhost" appBase="webapps" unpackWARs="false" autoDeploy="false">
<Context sessionCookiePath="/myapp"
sessionCookieHttpOnly="true"
sessionCookieSecure="true" />
webapps 目录下的 docs、examples、host-manager、manager、ROOT 目录,以减少潜在的攻击面。rm -rf /srv/apache-tomcat/webapps/docs /srv/apache-tomcat/webapps/examples /srv/apache-tomcat/webapps/host-manager /srv/apache-tomcat/webapps/manager /srv/apache-tomcat/webapps/ROOT
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" />
sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl start tomcat