保持系統與Java環境最新
定期執行sudo apt update && sudo apt upgrade
更新Debian系統和所有軟件包,及時修補已知漏洞;確保使用的Java運行時環境(JRE/JDK)為最新版本(如OpenJDK 11及以上),并通過java -version
驗證版本,避免因舊版本漏洞引發惡意軟件攻擊。
配置防火墻限制網絡訪問
使用ufw
(Uncomplicated Firewall)工具簡化防火墻配置:sudo apt install ufw && sudo ufw enable
開啟防火墻,僅允許必要端口(如SSH的22端口、HTTP的80端口、HTTPS的443端口)通過sudo ufw allow <port>
,拒絕所有未授權的入站連接,降低網絡層攻擊風險。
強化用戶權限與認證管理
避免直接使用root賬戶操作,通過sudo adduser <username>
創建普通用戶,再用sudo usermod -aG sudo <username>
將其加入sudo組;配置SSH密鑰對認證(ssh-keygen -t rsa
生成密鑰,ssh-copy-id user@remotehost
復制公鑰到服務器),禁用root遠程登錄(修改/etc/ssh/sshd_config
中的PermitRootLogin no
)和密碼認證(PasswordAuthentication no
),防止未經授權的用戶訪問。
實施Java應用層安全防護
[a-zA-Z0-9_]{4,16}
限制用戶名格式),拒絕非法字符,防止SQL注入、XSS等攻擊;HtmlUtils.htmlEscape()
對輸出到瀏覽器的數據進行編碼,避免惡意腳本執行;http.headers().contentSecurityPolicy("default-src 'self'")
限制資源加載來源,添加CSRF Token防止跨站請求偽造;requiresChannel().anyRequest().requiresSecure()
強制HTTPS),對數據庫密碼等敏感信息進行加鹽哈希處理(如BCryptPasswordEncoder)。禁用不必要的服務與功能
檢查并禁用Debian系統中未使用的服務(如FTP、Telnet),通過systemctl disable <service-name>
停止服務;優化Java應用配置,關閉調試模式(如debug=false
)、禁用不必要的Java模塊(如--add-modules=NONE
),減少攻擊面。
監控與審計系統活動
使用Logwatch
(sudo apt install logwatch
)每日匯總系統日志,分析異常登錄、文件修改等活動;部署Fail2ban
(sudo apt install fail2ban
)監控SSH等服務的失敗登錄嘗試,自動封禁惡意IP地址(如/etc/fail2ban/jail.local
中配置maxretry = 3
),及時響應潛在攻擊。
應用安全輔助工具與策略
啟用Debian的自動安全更新功能(sudo apt install unattended-upgrades && sudo dpkg-reconfigure unattended-upgrades
),定期自動下載并安裝安全補??;使用apt-transport-tor
等工具加密軟件包傳輸,避免中間人攻擊;定期對Java應用進行安全審計(如使用SonarQube掃描代碼),識別并修復SQL注入、不安全的反序列化等漏洞。