CentOS上WebLogic权限管理最佳实践
groupadd weblogic创建专用组,再用useradd -g weblogic weblogic创建用户并加入该组,避免使用root或默认系统账户运行WebLogic。通过passwd weblogic设置强密码(包含大小写字母、数字、特殊字符,长度≥8位)。chown -R weblogic:weblogic /home/weblogic:/path/to/weblogic/domains将WebLogic相关目录所有权归属专用用户/组;用chmod 750 /home/weblogic(目录)、chmod 640 /path/to/config/file(配置文件)替代777权限,确保仅所有者及组内有读写执行权限。passwd -l adm锁定adm账户)、删除默认无用账户(sync、lp等);通过/etc/login.defs设置密码复杂度(如PASS_MIN_LEN 10、PASS_REQUIRE_MIXED_CASE y);用chattr +i /etc/passwd /etc/shadow保护口令文件不被篡改。weblogic_admins、weblogic_users)和用户(如admin_user、app_user),避免使用默认weblogic管理员账户。通过usermod -aG weblogic_admins admin_user将用户加入对应组。Admin、Deployer、Monitor),而非直接给用户分配。例如:
weblogic_admins组:分配Admin角色(拥有管理控制台、配置域的完全权限);weblogic_users组:分配Monitor角色(仅能查看监控数据)。weblogic_users组可访问/app1但不允许修改)。weblogic改为admin_domain),设置强密码(避免使用weblogic123等易猜密码),并定期更换。/path/to/weblogic/domains/domain1/startWebLogic.sh脚本,将启动用户改为专用用户(如weblogic),避免以root身份运行WebLogic进程,降低权限提升风险。keytool -genkeypair -alias weblogic -keyalg RSA -keystore /path/to/keystore.jks生成SSL证书,在WebLogic控制台→Servers→配置→SSL→高级,上传证书并启用HTTPS监听端口(如7002),禁用HTTP明文传输。防火墙-cmd --permanent --remove-port=7001/tcp关闭未使用的端口,减少攻击面。/path/to/audit_logs),定期检查日志以发现异常行为(如频繁的登录失败、未授权访问)。server_name.log的滚动策略(如按天分割、保留30天),通过logrotate工具自动化管理;使用监控工具(如Prometheus+Granafa)实时监控WebLogic日志中的安全事件(如ERROR级别日志、Unauthorized访问记录)。weblogic.httpd.indexDirectories=false(禁止目录列表);在响应头中移除Server字段(通过weblogic.xml配置<hide-server-info>true</hide-server-info>),防止泄露WebLogic版本信息。sestatus检查SELinux状态(若为Disabled,则编辑/etc/selinux/config设置SELINUX=enforcing并重启);为WebLogic进程设置适当的SELinux上下文(如chcon -t httpd_sys_rw_content_t /path/to/weblogic/domains),限制进程仅能访问必要资源。