centos下weblogic安全如何保障
小樊
39
2025-12-05 22:32:21
CentOS 下 WebLogic 安全保障实践
一 系统层加固
- 创建专用运行账号与组,避免使用 root 直接启动:groupadd weblogic;useradd -g weblogic weblogic;passwd weblogic。
- 最小化账户与登录安全:排查并锁定不必要的 UID=0 账户(如 cat /etc/passwd | awk -F: ‘{print $1,$3}’ | grep ’ 0$';passwd -l <用户>);删除无用默认账户(如 adm、lp、sync);设置强口令策略(/etc/login.defs 中 PASS_MIN_LEN ≥ 10);为空口令账户设密或锁定(awk -F: ‘($2==“”) {print $1}’ /etc/shadow);保护关键口令文件(chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow);设置 root 自动注销(/etc/profile 中 TMOUT=300);限制 su 使用(/etc/pam.d/su 仅允许 wheel 组);禁用 Ctrl+Alt+Del 重启;精简开机服务与登录横幅(/etc/issue、/etc/motd);限制 NFS 导出权限;配置 host.conf 与资源限制以缓解 IP 欺骗与 DoS。
- 网络与端口治理:仅开放必要端口(firewall-cmd --zone=public --add-port=7001/tcp --permanent;firewall-cmd --reload);关闭未使用服务与高危端口(systemctl list-unit-files | grep enabled;netstat -antupl);必要时部署 IDS/IPS(如 Snort、Suricata)进行流量监测。
二 WebLogic 服务层加固
- 运行与部署:以非 root 用户(如 weblogic)启动域;将运行模式设为生产模式并关闭自动部署;修改默认管理端口(如 7001 → 非标准端口);限制最大打开套接字数(config.xml);配置默认错误页面,避免信息泄露。
- 身份与访问控制:禁用默认管理员名(如 weblogic/admin);在控制台设置最小口令长度与账户锁定策略;按“最小权限”原则配置角色与策略;不使用 Node Manager 时禁用其自动启动与远程控制能力。
- 传输与加密:启用 SSL/TLS,使用 keytool 生成密钥库(keytool -genkey -alias myweblogic -keyalg RSA -keystore mykeystore.jks -keysize 2048),在控制台配置 HTTPS 监听与证书链。
- 会话与信息泄露防护:设置 HTTP/HTTPS 与管理控制台会话超时;禁用服务器标头与版本号暴露;关闭目录列表(如 weblogic.httpd.indexDirectories=false);开启登录与关键操作日志;在 Security Realms 中启用审计(AuditingProvider)以满足合规。
三 网络与访问控制
- 边界与域内隔离:使用 firewalld/iptables 仅放通管理口、应用口与集群通信所需端口;对管理口限制来源网段;在 WebLogic 中配置 Connection Filters,仅允许必要的源/目的与协议端口。
- 服务最小化:关闭未使用的协议与监听(如未使用的 IIOP/T3S 除非业务必需);对外最小化暴露管理控制台,优先通过跳板机或内网访问。
四 补丁与漏洞管理
- 系统与中间件更新:定期执行 yum update 更新 CentOS 安全补丁;及时应用 WebLogic 与 JDK 官方补丁,修复已知漏洞。
- 漏洞评估与防护:使用 OpenVAS、Nessus 等定期扫描;部署 ClamAV 等防病毒并进行周期查杀;对公网接口设置 WAF 与速率限制,降低自动化攻击风险。
五 监控审计与运维
- 日志与审计:启用 WebLogic 访问与安全审计日志,集中采集并保留不少于 90 天;对登录失败、权限变更、配置修改等事件设置告警。
- 配置与合规:使用 WLST 脚本化创建用户、组与策略,保证一致性;定期核查 config.xml 等配置,关闭未使用接口与服务;制定变更流程与回滚预案。
- 备份与演练:对域目录、密钥库与配置文件进行离线/异地备份;定期演练补丁回滚与应急恢复。