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),防止配置丢失或被篡改;