CentOS 上配置 Java 安全级别
一 前置检查与定位 JDK
java -versionsudo yum install java-1.8.0-openjdk。以上有助于后续编辑正确的安全策略与配置文件。二 使用 Java 安全管理器与策略文件
// 仅允许应用目录只读
grant codeBase "file:/opt/myapp/-" {
permission java.io.FilePermission "/opt/myapp/conf/*", "read";
permission java.io.FilePermission "/opt/myapp/logs", "read,write";
permission java.util.PropertyPermission "file.encoding", "read";
};
// 仅允许本机回环访问 8080 端口
grant {
permission java.net.SocketPermission "localhost:8080", "listen,accept";
permission java.net.SocketPermission "127.0.0.1:8080", "connect,resolve";
};
java -Djava.security.manager \
-Djava.security.policy=/opt/myapp/java.policy \
-jar /opt/myapp/app.jar
三 系统级加固与运行环境安全
chown -R appuser:appgrp /opt/myapp; chmod -R 750 /opt/myapp),避免使用 root 运行。sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload
sudo chcon -R -t httpd_exec_t /opt/myapp 为示例,实际类型依应用而定)。四 日志与验证
-Djava.security.debug=access,failure(仅在排障时启用,避免生产环境开启)。五 常见场景示例