CentOS 上配置 Java 安全策略
一 准备与环境确认
java -version。如未安装,可使用包管理器安装,例如:sudo yum install java-1.8.0-openjdk。chmod 600 /path/to/app.policy。二 创建与编辑策略文件
sudo cp $JAVA_HOME/jre/lib/security/java.policy /opt/myapp/security.policy(JDK 8 路径示例)。grant {
permission java.security.AllPermission;
};
grant codeBase "file:/opt/myapp/-" {
permission java.io.FilePermission "/opt/myapp/conf/*", "read";
permission java.io.FilePermission "/opt/myapp/logs", "read,write";
permission java.net.SocketPermission "localhost:1024-", "connect,resolve";
};
java.io.FilePermission、java.net.SocketPermission、java.lang.RuntimePermission、java.security.AllPermission。三 启用安全管理器并加载策略
java -Djava.security.manager -Djava.security.policy=/opt/myapp/security.policy -jar /opt/myapp/app.jar
java -Djava.security.manager \
-Djava.security.policy==/opt/myapp/security.policy \
-Djava.security.policy=/usr/lib/jvm/java-11-openjdk/lib/security/java.policy \
-jar /opt/myapp/app.jar
export JAVA_OPTS="-Djava.security.manager -Djava.security.policy=/opt/myapp/security.policy"
四 系统级策略与全局配置
sudo systemctl restart myapp.service。五 验证与排错及加固建议
-Djava.security.debug=access,failure 获取访问决策日志,定位缺失的权限条目。