CentOS下Tomcat安全配置清单
一 运行账户与最小权限
useradd -m -d /opt/tomcat -s /sbin/nologin tomcatchown -R tomcat:tomcat /opt/tomcatUser=tomcat、Group=tomcat二 网络与端口加固
firewall-cmd --zone=public --add-port=8080/tcp --permanentfirewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="8080" protocol="tcp" accept' --permanentfirewall-cmd --reload三 启用加密传输与访问控制
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout /etc/pki/tls/private/tomcat.key -out /etc/pki/tls/certs/tomcat.crt<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/etc/pki/tls/certs/tomcat.crt"
type="RSA" certificateKeystorePassword="your_password"/>
</SSLHostConfig>
</Connector>
<Context>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>
</Context>
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Protected Area</realm-name>
</login-config>
<security-role>
<role-name>admin</role-name>
</security-role>
四 服务与部署安全
unpackWARs="false" autoDeploy="false" reloadable="false",降低被植入 WebShell 的风险。server="APP Srv 1.0" 以隐藏 Server 头。server.info、server.number,避免泄露 Tomcat 版本与构建信息。五 日志监控与持续加固