CentOS 上配置 Java 安全设置
一 基础准备与版本确认
java -version/usr/lib/jvm/java-<version>-openjdk 或 /usr/lib/jvm/java-<version>-oracle/etc/profile 或应用启动环境脚本,设置 JAVA_HOME 与 PATH,如:
export JAVA_HOME=/usr/lib/jvm/java-<version>-openjdkexport PATH=$JAVA_HOME/bin:$PATH二 配置 Java 安全管理器与策略文件
/opt/myapp/security.policy):
grant codeBase "file:/opt/myapp/-" {
permission java.io.FilePermission "/opt/myapp/conf/*", "read";
permission java.io.FilePermission "/opt/myapp/logs", "read,write,delete";
permission java.net.SocketPermission "localhost:1024-", "connect,resolve";
permission java.lang.RuntimePermission "getenv.*";
};
$JAVA_HOME/jre/lib/security/java.policy 追加规则(修改前先备份)。java -Djava.security.manager \
-Djava.security.policy=/opt/myapp/security.policy \
-jar /opt/myapp/app.jar
三 系统级安全加固与权限控制
sudo groupadd appgrp
sudo useradd -g appgrp appusr
sudo chown -R appusr:appgrp /opt/myapp
sudo chmod -R 750 /opt/myapp
sestatussudo chcon -R -t usr_t /opt/myapp(按实际策略选择合适类型)setenforce 0,生产环境应保持 enforcing 并完善策略。sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=8443/tcp
sudo firewall-cmd --reload
四 JDK 8 与常见服务的专项配置
sudo yum update java-1.8.0-openjdkweb.xml 中添加安全约束),避免敏感目录暴露。tomcat-users.xml,仅授予必要角色,并使用强口令。五 维护与审计建议