Debian Java配置中的安全設置
sudo apt update && sudo apt upgrade
命令完成更新。systemctl disable <service-name>
命令禁用。ufw
(Uncomplicated Firewall)限制入站/出站流量,僅允許必要端口(如SSH的22/tcp、HTTP的80/tcp、HTTPS的443/tcp)。示例:sudo ufw allow 22/tcp; sudo ufw allow 80/tcp; sudo ufw allow 443/tcp; sudo ufw enable
。libpam-pwquality
設置密碼復雜度(最小長度、數字/大小寫字母/特殊字符組合)。編輯/etc/security/pwquality.conf
文件,調整參數如minlen=12
(最小長度12)、dcredit=-1
(至少1個數字)。sudo
提升權限。創建普通用戶并加入sudo
組:sudo adduser <username>; sudo usermod -aG sudo <username>
。/etc/ssh/sshd_config
文件,設置Port 2222
(更改默認端口)、PermitRootLogin no
(禁用root登錄)、PasswordAuthentication no
(禁用密碼登錄),使用SSH密鑰對認證(ssh-keygen -t rsa; ssh-copy-id user@remotehost
)。update-alternatives
工具切換默認Java版本,避免舊版本漏洞。示例:sudo update-alternatives --config java
,選擇所需版本。$JAVA_HOME/lib/security/java.policy
(如/etc/java-17-openjdk/security/java.policy
),定義細粒度權限(而非授予AllPermission
)。示例:授予特定目錄讀寫權限grant { permission java.io.FilePermission "/tmp/-", "read,write"; };
,通過-Djava.security.policy
參數指定策略文件路徑運行應用。th:utext
或JSTL的<c:out>
標簽)。http.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
啟用CSRF防護。Logwatch
(每日日志摘要)、Fail2ban
(阻止暴力破解)等工具自動監控系統活動,及時發現異常行為。