CentOS 上 WebLogic 权限管理实操指南
一 操作系统层安全基线
- 创建专用系统账号与组,避免使用 root 直接运行 WebLogic:
- 命令示例:
- groupadd weblogic
- useradd -g weblogic weblogic
- passwd weblogic
- 调整目录属主与权限,遵循最小权限原则:
- 命令示例:
- chown -R weblogic:weblogic /home/weblogic
- find /home/weblogic -type d -exec chmod 755 {} ;
- find /home/weblogic -type f -exec chmod 644 {} ;
- 仅开放必要端口(示例为管理端口 7001/TCP):
- 命令示例:
- firewall-cmd --zone=public --add-port=7001/tcp --permanent
- firewall-cmd --reload
- 禁止在生产环境使用 777 等过宽权限,避免“chmod 777 -R /home/weblogic”这类做法。
二 WebLogic 域级用户与角色管理
- 控制台路径与内置组:
- 登录控制台:http://服务器IP:7001/console
- 进入:域结构 → 安全领域 → myrealm → 用户和组
- 常用内置组:Administrators、Deployers、Monitors、Operators
- 新建用户并加入组(示例:创建 appdeployer 并加入 Deployers):
- 控制台:在安全领域中新建用户,设置强密码;进入该用户的“组”页,将 Deployers 加入。
- 基于角色的访问控制(示例:仅允许 appdeployer 部署应用):
- 控制台:域结构 → 安全领域 → myrealm → 角色和策略 → 领域角色
- 打开 Deployer 角色,添加条件(如“用户是 appdeployer”),保存生效。
- 常用内置组职责要点:
- Administrators:全域最高权限(配置、部署、启停等)
- Deployers:部署/取消应用、创建连接池/数据源(不可改核心服务器配置)
- Monitors:只读监控
- Operators:启停服务器(不可部署)
三 使用 WLST 批量配置用户与权限
- 连接管理服务器(交互或脚本化):
- 命令示例:connect(‘weblogic’, ‘口令’, ‘t3://管理地址:7001’)
- 典型 WLST 片段(创建用户、加入组、为角色添加条件):
- 创建用户与组:
- createUser(‘appdeployer’, ‘StrongPass!23’)
- createGroup(‘Deployers’)
- assignUserToGroup(‘appdeployer’, ‘Deployers’)
- 为角色添加“用户条件”(示例限定用户):
- cd(‘/SecurityConfiguration/your_domain/Realms/myrealm/RoleMappings/Deployer’)
- cmo.addCondition(weblogic.security.providers.authorization.DefaultGroupPredicate(‘Deployers’))
- cmo.addCondition(weblogic.security.providers.authorization.UserNamePredicate(‘appdeployer’))
- 激活更改并退出:
- activate(block=“true”)
- exit()
- 提示:WLST 适合标准化、自动化交付与批量变更,建议纳入变更管理流程。
四 启动与运维安全要点
- 以专用账号运行:
- 建议全程使用 weblogic 账号执行安装、建域、启停;如需系统服务,使用 systemd 以 weblogic 身份运行,避免 root 直接启动。
- 管理凭据安全:
- 避免在命令行中硬编码口令;可使用 boot.properties 或安全的凭据存储,减少泄露风险。
- 传输加密:
- 为管理通道启用 HTTPS/SSL(配置 Keystore、监听端口等),减少明文管理流量暴露面。
- 审计与日志:
- 在 Security Realms 中启用审计,定期审计管理员操作与关键配置变更;集中收集与分析 server.log、access.log。
- 补丁与合规:
- 持续关注 WebLogic 与 JDK 的安全补丁;定期复核用户、组、角色与策略,清理不再使用的账号与权限。