Linux下Java安全配置清单
一 基础环境与安全基线
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64;export PATH=$JAVA_HOME/bin:$PATH二 JVM 安全参数与加密通信
-Xmx2g(按业务与容器配额调整)-XX:+HeapDumpOnOutOfMemoryError-XX:OnOutOfMemoryError="kill -9 %p" 或执行告警脚本-Dhttps.protocols=TLSv1.2,TLSv1.3/dev/urandom 可用,JVM 默认会使用 NativePRNG 从该源读取熵,避免阻塞并提升安全性。三 文件与进程权限控制
sudo adduser javausersudo -u javauser java -jar your-app.jar/etc/security/limits.conf:
javauser soft nofile 1000;javauser hard nofile 2000javauser soft as 512M;javauser hard as 1024Mulimit -a四 网络安全与访问控制
sudo ufw enable;sudo ufw allow 80/tcp;sudo ufw status<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"/>五 安全策略与运行时防护
-Djava.security.manager -Djava.security.policy=/path/to/myapp.policygrant codeBase "file:/opt/myapp/-" { permission java.io.FilePermission "/opt/myapp/conf/*", "read"; permission java.util.PropertyPermission "myapp.*", "read"; };-Djava.security.debug=all