温馨提示×

centos weblogic安全配置指南

小樊
55
2025-10-07 07:38:01
栏目: 智能运维

CentOS环境下WebLogic Server安全配置指南

一、操作系统级安全配置(基础防护)

1. 创建专用WebLogic用户

为隔离WebLogic进程与系统root权限,需创建专用用户及组:

groupadd weblogic  # 创建weblogic组
useradd -g weblogic weblogic  # 创建weblogic用户并加入组
passwd weblogic  # 设置强密码(包含大小写字母、数字、特殊字符,长度≥10位)

将WebLogic安装目录(如/opt/weblogic)的所有权赋予该用户:

chown -R weblogic:weblogic /opt/weblogic

2. 系统账户与口令强化

  • 禁用非必要超级用户:通过/etc/passwd排查admlpsync等默认账户,使用passwd -l <用户名>锁定无用账户。
  • 强化口令策略:编辑/etc/login.defs,设置:
    PASS_MIN_LEN 10  # 最小口令长度
    PASS_MIN_DAYS 1  # 口令修改间隔
    PASS_WARN_AGE 7  # 口令过期前警告天数
    
  • 保护口令文件:对/etc/passwd/etc/shadow/etc/group添加不可更改属性:
    chattr +i /etc/passwd /etc/shadow /etc/group
    

3. 防火墙与SELinux配置

  • 配置firewalld:开放WebLogic管理端口(默认7001)及必要服务(HTTP/HTTPS、SSH):
    firewall-cmd --permanent --add-port=7001/tcp  # WebLogic默认端口
    firewall-cmd --permanent --add-service=http --permanent --add-service=https  # Web服务
    firewall-cmd --permanent --add-service=ssh  # 远程管理
    firewall-cmd --reload
    
  • 启用SELinux:设置setenforce 1(强制模式),并通过/etc/selinux/config永久生效,限制进程权限。

4. 系统日志与监控

  • 配置日志轮转:编辑/etc/logrotate.conf,增加WebLogic日志保留天数(如30天)及大小限制(如100M),防止日志占满磁盘。
  • 限制su命令:编辑/etc/pam.d/su,仅允许wheel组用户使用su切换root:
    auth required pam_wheel.so use_uid
    

二、WebLogic Server核心安全配置

1. 安装与域创建安全

  • 静默安装:使用wls.rsp响应文件进行无人值守安装,避免交互式输入暴露敏感信息(如管理员密码)。示例wls.rsp内容:
    [ENGINE]
    Response File Version=1.0.0.0.0
    [GENERIC]
    ORACLE_HOME=/opt/weblogic/oracle/middleware
    INSTALL_TYPE=WebLogic Server
    DECLINE_SECURITY_UPDATES=true  # 拒绝自动安全更新(需手动跟进)
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
    
  • 域配置安全:创建域时,禁止使用默认管理员账号(weblogic/welcome1),设置强密码;取消勾选“示例应用”(避免不必要的组件暴露);将域模式设置为生产模式config.sh中选择“Production Mode”),关闭自动部署功能(防止恶意WAR包上传)。

2. 管理员账号安全

  • 修改默认管理员账号:若未在安装时修改,可通过WebLogic控制台(http://<服务器IP>:7001/console)进入“安全领域→myrealm→用户和组”,选择“weblogic”账号修改密码。
  • 重置忘记的管理员密码
    1. 进入域目录(如/opt/weblogic/user_projects/domains/base_domain),执行以下命令生成新的DefaultAuthenticatorInit.ldift文件(替换<新用户名><新密码>):
      java -cp /opt/weblogic/oracle/middleware/wlserver/server/lib/weblogic.jar weblogic.security.utils.AdminAccount <新用户名> <新密码> .
      
    2. 备份并覆盖security目录下的DefaultAuthenticatorInit.ldift文件。
    3. 重启管理服务器,使用新账号登录控制台,再修改原“weblogic”账号密码。

3. 端口与网络访问控制

  • 更改默认端口:避免使用默认的7001(HTTP)/7002(HTTPS)端口,降低扫描攻击风险。通过WebLogic控制台“环境→服务器→<管理服务器>→配置→监听端口”修改。
  • 禁用目录列表:在域目录下编辑weblogic.properties文件,添加:
    weblogic.httpd.indexDirectories=false
    
    防止未经授权的用户浏览Web应用目录结构。
  • 限制管理端口访问:通过WebLogic“连接过滤器”(“环境→服务器→<管理服务器>→配置→连接过滤器”),仅允许可信IP地址访问管理端口(如7001),配置示例:
    allow 192.168.1.0/24  # 允许内网网段
    deny all  # 拒绝其他所有IP
    

4. SSL/TLS加密配置

  • 生成密钥库:使用keytool生成JKS格式密钥库(如mykeystore.jks),并创建自签名证书(生产环境建议使用CA签发证书):
    keytool -genkey -alias myweblogic -keyalg RSA -keystore /opt/weblogic/keystores/mykeystore.jks -keysize 2048 -validity 365
    
    输入密钥库密码(如changeit)及证书信息(姓名、组织等)。
  • 配置WebLogic启用SSL
    1. 登录WebLogic控制台,进入“环境→服务器→<管理服务器>→配置→SSL”。
    2. 选中“启用SSL监听端口”,设置端口(如7002),指定密钥库路径及密码。
    3. 重启管理服务器使配置生效。
  • 强制HTTPS访问:通过WebLogic“安全约束”(“部署→应用程序→<应用>→安全→安全约束”),将敏感页面(如登录页、管理页面)限制为仅HTTPS访问。

5. 安全审计与日志

  • 启用审计功能:进入WebLogic控制台“域结构→安全领域→myrealm→配置→审计”,选择“启用审计”,配置审计级别(如“成功+失败”),记录用户登录、权限变更、资源访问等操作。
  • 日志保留与分析:配置日志轮转策略(如每天生成一个日志文件,保留30天),定期使用grepawk等工具分析日志,识别异常行为(如频繁的登录失败、未授权访问尝试)。

三、生产环境额外加固措施

1. 运行模式与自动部署

  • 确认生产模式:通过config.sh将域模式设置为“Production Mode”(生产模式),关闭自动部署(“环境→服务器→<管理服务器>→配置→部署”中取消“自动部署”勾选),防止恶意WAR包通过HTTP上传并自动部署。

2. 定期更新与补丁管理

  • 应用安全补丁:定期检查Oracle官方安全公告(通过dev2dev.bea.com/advisoriesnotifications订阅),下载并安装WebLogic Server最新服务包(Service Pack)及安全补丁,修复已知漏洞。
  • 更新依赖组件:确保JDK、操作系统及其他依赖组件(如Apache、Nginx)均为最新稳定版本,避免因组件漏洞导致WebLogic受影响。

3. 备份与恢复策略

  • 定期备份域配置:每周备份域目录(如/opt/weblogic/user_projects/domains/base_domain),包括configsecurityautodeploy等子目录,备份文件存储在异地或离线介质(如磁带、NAS)。
  • 测试恢复流程:每季度执行一次恢复测试,确保备份文件完整可用,能够在灾难发生时快速恢复WebLogic服务。

四、日常运维安全注意事项

  • 限制开发活动:禁止在生产环境进行代码开发、调试或测试,所有应用需先在开发/测试环境验证后再部署至生产。
  • 监控系统资源:使用topvmstatnetstat等工具定期监控CPU、内存、磁盘空间及网络流量,及时发现异常(如CPU占用过高可能为DoS攻击)。
  • 分离测试与生产环境:测试环境与生产环境需物理或逻辑隔离,避免测试环境的漏洞影响到生产系统。

0