Linux上安全运行 WebLogic 的实用清单
一 运行账户与最小权限
- 创建专用的系统账户与组,避免使用 root 启动 WebLogic。示例:
groupadd weblogic、useradd -g weblogic weblogic,随后将 Middleware/域目录 属主设为该用户,并按最小化原则设置目录权限(如 750)。
- 启动方式整改:将启动脚本或服务文件(如 systemd unit)的执行用户改为 weblogic,用
ps -ef | grep -i weblogic 抽查进程身份。
- 文件与目录保护:对关键配置文件与目录设置合适的属主/权限,避免其他系统账户读写;必要时限制对脚本与密钥文件的访问。
以上做法可显著降低被提权与横向移动的风险。
二 系统与网络加固
- 防火墙精细化放行:仅开放必要端口(如 7001/7002/8001 等),示例:
firewall-cmd --zone=public --add-port=7001/tcp --permanent && firewall-cmd --reload。
- 停用无用服务与端口:清理未使用的系统服务与监听端口,减少攻击面。
- 强化系统口令与登录安全:设置复杂度与长度要求(如长度≥10),锁定空口令/弱口令账户,限制 su 使用范围,必要时设置 root 自动注销(如
TMOUT)。
- 持续补丁与更新:对 CentOS/系统组件 与 WebLogic/JDK 执行定期更新与补丁管理,及时修复已知漏洞。
这些措施能显著提升主机与网络层面的防护能力。
三 WebLogic 服务安全配置
- 启用 HTTPS/SSL:使用 keytool 生成密钥库(如 2048 位 RSA),在 WebLogic 中配置 SSL 监听、禁用明文 HTTP(或将其仅限内网),并开启 主机名认证 与拒绝日志。
- 更改默认端口与访问路径:避免使用 7001/8001 等常见端口与默认 /console 路径,降低自动化扫描命中率。
- 会话与超时:配置 HTTP/HTTPS 超时 与 控制台会话超时,并启用登录日志与访问审计。
- 账号与角色治理:删除默认/示例账户,按“最小权限”分配角色,避免共享账号;必要时重命名控制台访问路径。
- 示例与风险接口清理:删除 sample 应用与示例域,关闭未使用的 T3/T3S 对外暴露(如非必需)。
- 加固工具与运行时防护:结合 RASP(运行时应用自我保护)与 WAF 联动,降低 0day 与注入类风险。
以上配置覆盖传输加密、访问控制、会话治理与攻击面收敛等关键维度。
四 日志审计与监控
- 启用与集中化日志:在 Security Realms 中开启审计,统一收集 server、access、audit 日志,定期分析与告警异常登录/权限变更。
- 主机与进程监控:对 weblogic 进程、监听端口与关键文件变更设置监控与基线比对,结合 IDS/IPS 与漏洞扫描(如 OpenVAS/Nessus)开展周期性评估。
- 变更留痕:通过 WLST 脚本化创建/变更用户与权限,保留可审计的操作记录。
持续可见性与可追溯性是对抗入侵与内部违规的基石。
五 快速检查清单
| 检查项 |
期望状态/做法 |
| 运行账户 |
使用 weblogic 非 root 账户,目录权限最小化(如 750) |
| 端口与协议 |
仅开放必要端口;生产优先 HTTPS/SSL;必要时更改默认端口与控制台路径 |
| 账号与角色 |
删除默认/示例账户;按“最小权限”分配角色;避免共享账号 |
| 会话与超时 |
启用 HTTP/HTTPS/控制台 超时;开启登录与访问审计 |
| 补丁与更新 |
系统、JDK、WebLogic 按计划更新与补丁 |
| 日志与监控 |
审计开启、日志集中、异常告警与定期漏洞扫描常态化 |