CentOS環境下WebLogic Server安全設置要點
用戶與口令強化
passwd -l <用戶名>鎖定adm、lp等默認賬戶),刪除無用賬戶;/etc/login.defs設置PASS_MIN_LEN 10(口令最小長度),要求包含大小寫字母、數字和特殊字符;使用chattr +i命令鎖定/etc/passwd、/etc/shadow等口令文件,防止未授權修改;su命令使用:編輯/etc/pam.d/su文件,僅允許wheel組用戶切換至root(如auth required pam_wheel.so use_uid);/etc/inittab文件,注釋ca::ctrlaltdel:/sbin/shutdown -t3 -r now行;/etc/issue文件,移除內核版本、操作系統名稱等敏感內容。防火墻配置
firewall-cmd --permanent --add-port=7001/tcp(WebLogic默認管理端口)、--add-port=7002/tcp(SSL默認端口)等命令開放WebLogic服務端口;開放SSH(22端口)用于遠程管理;firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="7001" protocol="tcp" accept'限制僅內網IP可訪問WebLogic端口;firewall-cmd --reload使配置生效。安裝與基礎安全設置
examples域),避免暴露敏感代碼;禁止使用默認管理員賬號weblogic,創建強密碼管理員賬號(如admin_domain);weblogic.properties文件中設置weblogic.httpd.indexDirectories=false,禁止未指定默認頁面時的目錄列表訪問;Environment > Servers > Server Name > Configuration > General修改),關閉自動部署功能(Auto Deploy設為false),減少未授權部署風險;weblogic用戶)運行WebLogic進程,避免進程提權攻擊。認證與權限管理
Security Realms > myrealm > Providers > Authentication添加LDAP認證提供者),替代嵌入式LDAP(DefaultAuthenticator),提升用戶身份管理的集中性和安全性;若使用嵌入式LDAP,需設置強密碼并限制訪問權限;weblogic_admins、weblogic_users),將用戶分配至對應組;通過管理控制臺Security Realms > myrealm > Roles and Policies配置角色映射(如將Admin角色授予weblogic_admins組),實現細粒度權限控制;SAML Identity Asserter、LDAP X509 Identity Asserter),支持單點登錄(SSO)場景,提升用戶認證便捷性與安全性(需配合信任的Identity Provider使用)。SSL/TLS加密配置
identity.keystore,存儲服務器私鑰與證書)和信任庫(trust.keystore,存儲受信任的CA證書);可通過keytool命令生成(如keytool -genkey -alias weblogic -keyalg RSA -keystore identity.keystore -keysize 2048),或導入第三方證書(如Verisign、Entrust);Environment > Servers > Server Name > Configuration > SSL設置SSL監聽端口(默認7002),指定身份密鑰庫路徑、密碼及信任庫信息;Two Way Client Cert Behavior設為Client Certs Requested),驗證客戶端身份;若僅需服務器認證,可使用單向SSL(One-Way SSL)(Client Certs Requested設為Not Requested);Hostname Verification設為Strict或BEA Hostname Verifier),防止SSL中間人攻擊;設置導出密鑰使用次數(如Exportable Key Usage Count設為1),限制密鑰重復使用次數,提升加密安全性。審計與日志監控
Security Realms > myrealm > Providers > Auditing添加審計提供者(如DefaultAuditor),配置審計級別(如Low、Medium、High),記錄用戶登錄、權限變更、資源訪問等操作;Environment > Servers > Server Name > Configuration > Logging),設置日志級別為INFO或DEBUG,記錄用戶操作詳情(包括賬號、時間、IP地址、操作結果);定期歸檔日志文件(如使用logrotate工具),防止日志被篡改或刪除;Monitoring > Logs或第三方工具(如ELK Stack、Splunk)實時分析日志,及時發現異常行為(如頻繁登錄失敗、未授權訪問)。網絡與服務優化
config/config.xml文件中的<socket-maximum-connections>參數,限制WebLogic Server最大打開套接字數(如設為10000),防止拒絕服務攻擊(DoS);Environment > Servers > Server Name > Configuration > Services關閉對應服務;Environment > Servers > Server Name > Configuration > Error Pages設置自定義錯誤頁面(如404、500頁面),避免暴露服務器內部信息(如堆棧跟蹤、系統路徑)。config/config.xml、security目錄)、系統關鍵配置(如/etc/passwd、/etc/shadow),防止配置丟失或被篡改;