Linux 系统 Java 安全配置清单
一 基础与运行环境
export JAVA_HOME=/usr/lib/jvm/jdk-17; export PATH=$JAVA_HOME/bin:$PATHjavauser soft nofile 1000;javauser hard nofile 2000javauser soft as 512M;javauser hard as 1024M二 JVM 与加密通信
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/path/to/keystore.jks" keystorePass="your_password"/>三 代码与依赖安全
四 运行时权限与系统加固
grant { permission java.io.FilePermission "/tmp/-", "read,write"; permission java.net.SocketPermission "*", "connect,resolve"; };java -Djava.security.manager -Djava.security.policy=my.policy MyApp五 快速检查清单
| 检查项 | 关键动作 | 验证方式 |
|---|---|---|
| 版本与补丁 | 使用受支持的 LTS JDK,系统与安全组件保持更新 | java -version;系统安全更新记录 |
| 运行身份 | 专用非 root 用户与最小权限 | `ps -eo user,comm |
| 目录权限 | JDK/JRE 750,仅授权组可读执行 | ls -ld /usr/lib/jvm/jdk-* |
| 加密与协议 | TLS 1.2+、禁用弱算法与弱套件 | 配置审计与扫描工具 |
| HTTPS 启用 | 服务端证书与 keystore 正确配置 | 访问 https:// 并校验证书链 |
| 资源限制 | ulimit 限制文件数与内存 | ulimit -a;/etc/security/limits.conf |
| 依赖安全 | 无高危 CVE 依赖 | 依赖扫描报告 |
| 日志与监控 | 关键日志采集、告警与留存 | 日志平台与告警规则检查 |