1. 以非root用户运行WebLogic
创建专用的WebLogic系统用户(如weblogic组及用户),避免以root身份运行服务,降低系统权限滥用风险。具体操作:
groupadd weblogic
useradd -g weblogic weblogic
passwd weblogic # 设置强密码
安装WebLogic时使用weblogic用户,启动服务时通过./startWebLogic.sh(位于域目录的bin文件夹)以该用户身份运行,确保进程权限最小化。
2. 最小化安装与默认配置修改
examples模块),避免暴露敏感代码或功能;weblogic作为用户名),设置复杂密码(长度≥8位,包含大小写字母、数字和特殊字符);3. 强化账号与权限管理
Security Realms→myrealm→Authentication→Password Policy中,设置最小口令长度(≥8位)、强制定期更换(如90天)、复杂度要求(大小写字母+数字+特殊字符);Roles and Policies为不同用户/组分配最小必要权限(如管理员组拥有完全控制权,普通用户仅能访问特定应用)。4. 启用SSL加密通信
keytool生成密钥库(JKS格式)和自签名证书(生产环境建议使用CA签发证书):keytool -genkey -alias weblogic -keyalg RSA -keystore /path/to/keystore.jks -keysize 2048
Environment→Servers→Server Name→Configuration→SSL中,启用SSL监听端口(如8001),上传生成的证书;web.xml或控制台设置,要求敏感页面(如管理控制台、登录页面)仅支持HTTPS,防止数据明文传输。5. 配置日志与审计功能
Domain→Configuration→Log Files中,设置日志级别为Notice或Warning,记录用户登录、操作行为(如访问时间、IP地址、操作类型);Security Realms→myrealm→Auditing中,启用审计功能,记录关键事件(如管理员登录、权限变更、应用部署),并配置审计日志存储路径(如/var/log/weblogic/audit);chmod命令设置日志文件权限(如600),仅允许管理员(weblogic用户或root)读写,防止日志被篡改或删除。6. 防火墙与网络隔离
firewalld或iptables开放必要端口(如WebLogic管理端口、应用端口、SSH端口22),关闭其他无关端口;示例(CentOS):firewall-cmd --permanent --add-port=8001/tcp # WebLogic管理端口
firewall-cmd --permanent --add-port=22/tcp # SSH端口
firewall-cmd --reload
7. 禁用不必要的功能与信息泄露
Environment→Servers→Server Name→Configuration→General中设置Domain Mode为Production),禁用自动部署功能,避免未经授权的应用上传;weblogic.xml配置文件中,设置<hidden>true</hidden>或通过weblogic.properties文件设置weblogic.httpd.indexDirectories=false,禁止目录列表访问;WebLogic Server→Configuration→General中,禁用Send Server Header选项,防止响应中泄露WebLogic版本号和服务器名称,减少针对性攻击风险。8. 定期更新与监控
Monitoring功能或第三方工具(如Prometheus+Granafa),监控服务器CPU、内存、线程池等指标,及时发现异常(如高CPU占用、大量失败登录尝试);config/config.xml、security文件夹),存储在安全位置(如异地服务器),防止配置丢失或损坏。