CentOS環境下WebLogic安全設置指南
root
用戶運行WebLogic,創建專用用戶及組(如weblogic
),并設置強密碼。groupadd weblogic
useradd -g weblogic weblogic
passwd weblogic # 設置復雜密碼(如包含大小寫字母、數字、特殊字符)
firewalld
開放必要端口(如管理控制臺7001
、SSH22
),限制訪問源IP(如僅允許可信網段訪問)。firewall-cmd --zone=public --add-port=7001/tcp --permanent # WebLogic管理端口
firewall-cmd --zone=public --add-port=22/tcp --permanent # SSH遠程管理
firewall-cmd --reload
sendmail
、cups
),減少攻擊面。systemctl stop sendmail && systemctl disable sendmail
systemctl stop cups && systemctl disable cups
/etc/ssh/sshd_config
,禁用root
遠程登錄、啟用公鑰認證,提升SSH安全性。sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
systemctl restart sshd
weblogic
用戶,使用靜默安裝方式部署WebLogic,避免權限過高導致的安全風險。su - weblogic
java -jar /opt/weblogic/fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/weblogic/wls.rsp
weblogic
管理員用戶名,創建自定義管理員賬號(如admin_domain
),并設置強密碼。production mode
),關閉自動部署功能(防止惡意WAR包自動上傳部署)。cd /opt/weblogic/domains/base_domain/bin
./setDomainEnv.sh # 編輯此文件,設置RUN_MODE=prod
console
)進入“安全領域→myrealm→密碼策略”,設置:
Admin
角色僅授予管理員,Monitor
角色授予監控人員),避免權限過度授予。# 管理控制臺路徑:安全領域→myrealm→身份斷言→新建→選擇LDAP類型→配置LDAP服務器連接信息
keytool
生成自簽名證書(生產環境建議使用CA簽發的證書),并導入至WebLogic密鑰庫。keytool -genkey -alias weblogic_ssl -keyalg RSA -keystore /opt/weblogic/domains/base_domain/security/weblogic.keystore -keysize 2048 -validity 365
7002
),并指定密鑰庫路徑與密碼。# 管理控制臺路徑:配置→監聽端口→新建→選擇SSL→設置端口、密鑰庫路徑
console
)及關鍵應用使用HTTPS協議,防止數據在傳輸過程中被竊取。# 管理控制臺路徑:安全領域→myrealm→審計→啟用審計→選擇審計項(如登錄、授權)
/opt/weblogic/domains/base_domain/config/config.xml
,設置日志文件大?。ㄈ?00MB)與保留天數(如7天),避免日志文件過大占用磁盤空間。<log>
<file-name>logs/weblogic.log</file-name>
<rotation-type>bySize</rotation-type>
<max-size>100</max-size>
<max-history>7</max-history>
</log>
grep
、awk
等工具分析日志,及時發現異常行為(如頻繁的登錄失敗、未授權訪問嘗試)。grep "Failed login" /opt/weblogic/domains/base_domain/logs/weblogic.log # 查找登錄失敗記錄
weblogic.xml
配置文件中,設置indexDirectories
為false
,防止用戶通過瀏覽器直接訪問目錄結構。<weblogic-web-app>
<container-descriptor>
<index-directories>false</index-directories>
</container-descriptor>
</weblogic-web-app>
max-open-sockets=5000
),防止DDoS攻擊導致資源耗盡。