centos

centos下weblogic安全配置指南

小樊
37
2025-08-04 19:22:53
栏目: 智能运维

在CentOS下配置WebLogic服务器的安全性是确保系统稳定运行和数据安全的关键步骤。以下是一个详细的指南,涵盖了从安装到安全配置的各个方面。

准备工作

  1. 安装JDK:下载并安装与WebLogic兼容的JDK版本,例如WebLogic 14.1.1通常与JDK 8兼容。
  2. 配置JDK环境变量:编辑 /etc/profile 文件,添加以下内容:
    export JAVA_HOME=/usr/local/java/jdk1.8.0_181
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$JAVA_HOME/bin:$PATH
    
    使配置生效:
    source /etc/profile
    java -version
    
  3. 创建WebLogic用户:创建一个非root用户,例如 weblogic
    useradd weblogic
    passwd weblogic
    
    设置用户密码。
  4. 创建安装目录并授权:创建安装目录,例如 /opt/weblogic
    mkdir /opt/weblogic
    chown -R weblogic:weblogic /opt/weblogic
    

安装WebLogic

  1. 下载WebLogic安装包:从Oracle官方网站下载WebLogic的Generic Installer。
  2. 配置安装响应文件:在WebLogic安装目录下创建 oraInst.locwls.rsp 文件。
    • oraInst.loc 示例内容:
      Inventory_loc=/opt/weblogic/oraInventory
      Inst_group=weblogic
      
    • 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
      
  3. 执行静默安装:使用WebLogic提供的静默安装命令进行安装:
    su - weblogic
    java -jar /opt/weblogic/fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
    

配置WebLogic域

  1. 创建域目录
    mkdir -p /opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain
    
  2. 使用WLST创建域
    • 切换到WebLogic用户并执行WLST脚本创建域:
      cd /opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin
      ./wlst.sh
      
    • 在WLST脚本中输入以下命令创建域:
      readTemplateForUpdate('/opt/weblogic/Oracle/Middleware/wlserver/common/templates/wls/wls.jar')
      cd('Servers/AdminServer')
      set('ListenAddress','')
      set('ListenPort', 7001)
      cd('/')
      cd('Security/base_domain/User/weblogic')
      cmo.setPassword('weblogic1234')
      setOption('OverwriteDomain', 'true')
      writeDomain('/opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain')
      closeTemplate()
      exit()
      

安全配置

  1. 系统更新与补丁管理
    sudo yum update -y
    sudo yum install unattended-upgrades
    
  2. 账户与权限管理
    • 密码策略加固:编辑 /etc/login.defs 文件,设置 PASS_MAX_DAYSPASS_MIN_DAYSPASS_WARN_AGE
    • 禁用root远程登录:编辑 /etc/ssh/sshd_config 文件,设置 PermitRootLogin no
    • 创建专用运维账户:
      sudo useradd adminsudo usermod -aG sudo admin
      
  3. SSH服务加固
    • 编辑 /etc/ssh/sshd_config 文件,修改默认端口(例如改为59222),禁用密码登录,设置IP白名单等。
    • 重启SSH服务:
      sudo systemctl restart sshd
      
  4. 防火墙配置
    sudo firewall-cmd --permanent --add-port=7001/tcp
    sudo firewall-cmd --reload
    
  5. WebLogic特定配置
    • 修改WebLogic默认端口:编辑 config.xml 文件,通常位于 $DOMAIN_HOME/config/ 目录下,修改 <server> 标签中的 listenPort 属性。
    • 配置安全访问:使用WebLogic的认证和授权机制,如基本认证、SSL证书等。
    • 配置细粒度的访问控制列表(ACLs)来限制对WebLogic Server Administration Console和Web应用程序的访问。
    • 启用审计和监控:配置WebLogic的审计日志,记录关键操作和异常活动。使用WebLogic的监控和警报功能,实时监控服务器性能和健康状况。
  6. SELinux配置
    • 检查SELinux是否开启:
      getenforce
      
    • 编辑 /etc/selinux/config 文件,将 SELINUX 值设置为 enforcingpermissive,然后重启机器使修改生效。
  7. 文件系统加固
    • 设置关键目录权限:
      chmod 700 /etc/cron* /etc/ssh/ssh_host_*_key
      chmod 600 /etc/shadow
      
    • 查找异常SUID文件:
      find / -perm -4000 -type f -exec ls -ld {} \;
      
    • 配置umask:
      echo "umask 027" >> /etc/profile
      
  8. 日志审计
    • 安装 auditd
      sudo yum install auditd
      
    • 监控关键文件:
      auditctl -w /etc/passwd -p wa -k passwd_changes
      auditctl -w /etc/shadow -p wa -k shadow_changes
      
  9. 安全工具部署
    • 安装AIDE文件完整性检查:
      sudo yum install aidesudo aideinit
      
  10. 备份策略
    • 配置每日增量备份:
      tar -zcvf /var/backup/snapshot_$(date +%F).tar.gz /etc
      
    • 设置远程备份:
      rsync -avz /var/backup/ user@backupserver:/backups/
      

完成上述配置后,建议进行漏洞扫描(如使用Nessus)和渗透测试验证效果,以确保配置的有效性和安全性。

0
看了该问题的人还看了