一、CentOS系统级安全配置(基础)
1. 创建专用WebLogic用户与组
避免以root用户运行WebLogic,降低系统权限泄露风险。执行以下命令创建用户和组:
groupadd weblogic # 创建weblogic组
useradd -g weblogic weblogic # 创建weblogic用户并加入组
passwd weblogic # 设置用户密码(需符合复杂度要求)
2. 强化系统口令策略
修改/etc/login.defs文件,强制要求用户口令长度≥10位,包含大小写字母、数字和特殊字符:
PASS_MIN_LEN 10 # 设置最小口令长度
锁定不必要的系统账户(如adm、lp、sync等),防止未授权登录:
usermod -L adm # 锁定adm账户(示例)
保护口令文件,防止未授权修改:
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
3. 配置防火墙限制访问
使用firewalld开放WebLogic默认端口(如7001),并限制仅允许可信IP访问:
firewall-cmd --zone=public --add-port=7001/tcp --permanent # 开放端口
firewall-cmd --reload # 重新加载配置
# 限制IP访问(示例:仅允许192.168.1.0/24网段访问)
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="7001" accept' --permanent
firewall-cmd --reload
4. 禁用不必要的系统服务
关闭系统自动启动的非必要服务(如telnet、ftp),减少攻击面:
systemctl stop telnet.socket # 停止telnet服务
systemctl disable telnet.socket # 禁止开机启动
二、WebLogic Server级安全配置(核心)
1. 以非root用户运行WebLogic
确保WebLogic进程由weblogic用户启动,避免权限提升风险。进入WebLogic安装目录的bin目录,执行:
su - weblogic # 切换至weblogic用户
./startWebLogic.sh # 启动WebLogic(需提前配置好环境变量)
2. 配置强管理员口令
登录WebLogic管理控制台(http://<服务器IP>:7001/console),进入Security Realms > myrealm > Users and Groups,修改管理员账户(如AdminServer)的口令,要求包含大小写字母、数字和特殊字符,长度≥8位。
3. 启用SSL加密传输
通过SSL证书保护客户端与服务器之间的数据传输,防止信息泄露:
- 生成自签名证书(测试环境使用):
keytool -genkey -alias weblogic -keyalg RSA -keystore /home/weblogic/keystore.jks -keysize 2048 -validity 365 - 配置WebLogic SSL监听:
登录管理控制台,进入Environment > Servers > AdminServer > Configuration > SSL,点击Advanced,设置Listen Port(如7002),上传生成的keystore.jks文件,并指定密码。
4. 配置安全审计
开启审计功能,记录用户登录、操作等行为,满足合规性要求:
进入Security Realms > myrealm > Auditing,勾选Enable Auditing,设置审计日志存储路径(如/home/weblogic/audit_logs),并配置审计级别(如All或Failure)。
5. 限制目录列表访问
防止通过浏览器直接查看WebLogic目录结构,修改weblogic.properties文件(位于$DOMAIN_HOME/config/config.xml同级目录),添加以下配置:
weblogic.httpd.indexDirectories=false
6. 禁用服务器信息泄露
修改WebLogic响应头,隐藏服务器版本、主机名等信息,降低针对性攻击风险:
进入Environment > Servers > AdminServer > Configuration > General,点击Advanced,勾选Hide Server Version Information和Hide Hostname in Server Header。
7. 设置运行模式为生产模式
生产模式关闭自动部署功能,增强安全性:
进入Environment > Servers > AdminServer > Configuration > General,点击Change Mode,选择Production Mode,重启WebLogic生效。
8. 使用WLST脚本自动化配置
通过WebLogic Scripting Tool(WLST)批量创建用户、组及权限,减少手动操作错误:
# 连接到WebLogic管理服务器
connect('weblogic', 'weblogic1234', 't3://localhost:7001')
# 创建组
cmo.createGroup('AdminGroup')
# 创建用户并分配到组
cmo.createUser('adminUser', 'Admin@1234', 'AdminGroup')
# 分配角色权限(示例:授予AdminGroup管理员权限)
realm = cmo.getSecurityConfiguration().getDefaultRealm()
group = realm.lookupGroup('AdminGroup')
role = realm.lookupRole('Admin')
role.addMember(group)
# 断开连接
disconnect()
三、Java安全策略配置(可选但推荐)
若需更细粒度的权限控制(如限制应用程序访问文件、网络等),可配置Java Security Manager:
1. 修改weblogic.policy文件
编辑$WL_HOME/wlserver/server/lib/weblogic.policy文件,添加自定义权限(示例):
// 授予应用程序读取配置文件的权限
grant codeBase "file:${weblogic.home}/servers/AdminServer/tmp/_WL_internal/com.bea_wls_internal_-1.0.0.0_12.2.1.3.0/-/-/-/-/-/-/-/-/-/-/-/-/-/-/" {
permission java.io.FilePermission "${weblogic.home}/config/*", "read";
};
// 授予应用程序访问网络的权限
grant {
permission java.net.SocketPermission "*", "connect,resolve";
};
2. 启动WebLogic时启用Java Security Manager
修改startWebLogic.sh脚本(位于$DOMAIN_HOME/bin),添加以下JVM参数:
JAVA_OPTIONS="$JAVA_OPTIONS -Djava.security.manager -Djava.security.policy==$WL_HOME/wlserver/server/lib/weblogic.policy"
四、日常维护与监控
- 定期更新补丁:关注Oracle官方发布的安全补丁,及时升级WebLogic和CentOS系统,修复已知漏洞。
- 监控日志文件:定期检查
/home/weblogic/audit_logs(审计日志)和$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log(服务器日志),识别异常登录、操作行为。 - 备份配置文件:定期备份
weblogic.policy、boot.properties、config.xml等重要配置文件,防止误删或篡改。
以上就是关于“如何在CentOS上配置WebLogic的安全策略”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm