Java在CentOS上的安全配置建议
一 基础环境与最小权限
java -version。避免使用已停止维护的版本。sudo groupadd java_app_group && sudo useradd -g java_app_group java_app_usersudo chown -R java_app_user:java_app_group /opt/appsudo chmod -R 750 /opt/app(目录750、文件640是常见安全基线)alternatives --config javasudo yum remove java-1.8.0-openjdk*(按实际包名调整)/etc/profile 或 /etc/profile.d/java.sh 中设置 JAVA_HOME 与 PATH 并 source 生效。二 运行与访问控制
User=tomcat_user、Group=tomcat_group、UMask=0007、Restart=alwayssudo firewall-cmd --permanent --zone=public --add-port=8080/tcp && sudo firewall-cmd --reloadsestatussudo chcon -R -t java_home_t /opt/appsudo setsebool -P httpd_can_network_connect 1curl http://<server_ip>:8080 验证访问是否受限且符合策略。三 Java安全策略与代码级权限
java -Djava.security.manager -Djava.security.policy=/opt/app/security.policy -jar app.jargrant codeBase "file:/opt/app/-" { permission java.io.FilePermission "/opt/app/resources/*", "read"; };grant { permission java.net.SocketPermission "localhost:1024-", "connect,resolve"; };<<ALL FILES>>、"read,write,delete"),并通过功能测试验证策略生效。四 Web容器与常见场景加固(以Tomcat为例)
conf/tomcat-users.xml 使用强密码并限制角色;webapps/manager/META-INF/context.xml 通过 RemoteAddrValve 仅允许白名单IP访问管理端。server.xml 的 8443 端口与证书路径、密码。bin/*.sh)700;运行用户为非root专用账户。五 运维与审计实践
java -version 与 alternatives 配置。