温馨提示×

weblogic在centos上的安全配置

小樊
48
2025-09-20 10:01:30
栏目: 智能运维

一、操作系统级安全配置

1. 系统更新与补丁管理

定期更新CentOS系统和WebLogic软件,修补已知漏洞。使用sudo yum update -y命令升级系统软件包;配置自动安全更新(可选)以持续修复安全问题。

2. 账户与权限管理

  • 创建专用WebLogic用户:避免使用root运行WebLogic,创建专用用户(如weblogic)及组(如weblogic),并将用户加入组:groupadd weblogicuseradd -g weblogic weblogicpasswd weblogic
  • 强化口令策略:编辑/etc/login.defs文件,设置PASS_MAX_DAYS 90(密码有效期90天)、PASS_MIN_DAYS 1(修改间隔1天)、PASS_WARN_AGE 7(到期提醒7天);要求密码包含大小写字母、数字和特殊字符(长度≥10位)。
  • 禁用root远程登录:编辑/etc/ssh/sshd_config文件,设置PermitRootLogin no,重启SSH服务使配置生效:systemctl restart sshd

3. 防火墙配置

使用firewalld限制访问,仅开放必要端口(如WebLogic默认端口7001、SSH端口)。示例:firewall-cmd --zone=public --add-port=7001/tcp --permanentfirewall-cmd --zone=public --add-port=59222/tcp --permanent(SSH自定义端口);firewall-cmd --reload

4. SELinux配置

启用SELinux以增强系统安全,编辑/etc/selinux/config文件,将SELINUX值设置为enforcing(强制模式),重启系统使配置生效。检查SELinux状态:getenforce

5. 文件系统加固

  • 设置关键目录权限:限制对WebLogic安装目录(如/opt/weblogic)、域目录(如/opt/weblogic/user_projects/domains/base_domain)的访问,设置chmod 700;保护敏感文件(如/etc/passwd/etc/shadow/etc/ssh/ssh_host_*_key),设置chmod 600
  • 查找异常SUID文件:运行find / -perm -4000 -type f -exec ls -ld {} \;,删除或修复可疑的SUID文件(可能被用于提权)。
  • 配置umask:编辑/etc/profile文件,添加umask 027,限制新建文件的默认权限(用户可读写执行,组可读执行,其他用户无权限)。

6. 日志审计

  • 安装auditd:使用sudo yum install auditd安装审计工具,监控关键文件(如/etc/passwd/etc/shadow)的修改:auditctl -w /etc/passwd -p wa -k passwd_changesauditctl -w /etc/shadow -p wa -k shadow_changes
  • 启用WebLogic审计:在WebLogic管理控制台的Security RealmsmyrealmAuditing中,启用审计功能,设置审计级别(如Failure记录失败操作),记录用户登录、权限变更等关键事件。

二、WebLogic特定安全配置

1. 最小化安装与默认配置修改

  • 禁用示例应用:安装时取消勾选“示例应用”(如examples),避免暴露不必要的组件;卸载已安装的示例应用(如通过管理控制台删除/examples应用)。
  • 更改默认管理员账号:避免使用默认管理员weblogic,创建新用户(如admin_user),删除或禁用默认账号。
  • 更改默认端口:编辑$DOMAIN_HOME/config/config.xml文件,修改<server>标签中的<port>属性(如将7001改为8001),避免使用默认端口。

2. SSL/TLS配置

生成SSL证书并启用HTTPS,保护数据传输安全。使用keytool生成密钥库:keytool -genkey -alias myweblogic -keyalg RSA -keystore /opt/weblogic/keystores/mykeystore.jks -keysize 2048;在WebLogic管理控制台的EnvironmentServersServer NameConfigurationSSL中,导入密钥库并启用SSL监听端口(如8002)。

3. 访问控制与权限管理

  • 角色与策略配置:在WebLogic管理控制台的Security RealmsmyrealmRoles and Policies中,创建角色(如AdminRole)和策略,限制用户/组对资源的访问(如仅允许AdminGroup访问管理控制台)。
  • 禁用自动部署:在生产环境中,关闭自动部署功能(避免恶意应用上传),编辑$DOMAIN_HOME/config/config.xml文件,设置<auto-deploy-enabled>false</auto-deploy-enabled>

4. 日志与监控

  • 启用详细日志:在WebLogic管理控制台的ServersServer NameLogging中,设置日志级别为NoticeWarning,记录关键操作(如登录、部署);配置日志轮转(如按大小或时间分割日志),避免日志文件过大。
  • 实时监控:使用WebLogic监控工具(如WebLogic ConsoleMonitoring)实时查看服务器性能(CPU、内存、线程)和健康状态,设置警报阈值(如CPU使用率超过80%时触发警报)。

5. 运行模式设置

将WebLogic运行模式设置为生产模式Production Mode),关闭自动部署功能,增强安全性。修改$DOMAIN_HOME/config/config.xml文件,设置<name>production-mode-enabled</name>的值为true;或在管理控制台的EnvironmentServersServer NameConfigurationGeneral中,选择Production Mode

三、其他安全措施

  • 定期备份:配置每日增量备份(如使用tar命令备份配置目录/opt/weblogic/user_projects/domains/base_domain)和远程备份(如使用rsync同步到备份服务器),防止数据丢失。
  • 监控与应急响应:定期检查系统日志(/var/log/messages/var/log/secure)和WebLogic日志($DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log),使用漏洞扫描工具(如Nessus)定期扫描系统,及时修复安全漏洞;制定应急响应计划(如数据泄露、DDoS攻击),明确处理流程和责任人。

0