1. 以非root用户运行WebLogic
避免以超级用户(root)启动WebLogic服务,降低权限滥用风险。具体操作:创建专用用户组(如WebLogic),添加同名的WebLogic用户并加入该组,修改服务启动脚本(如startWebLogic.sh)中的启动用户为WebLogic,确保进程以非root身份运行。
2. 强化用户身份认证与权限管理
3. 关闭敏感信息泄露
4. 配置加密通信
启用SSL/TLS加密,保护数据传输安全。操作步骤:登录控制台→“环境→服务器→选择服务器→一般信息”,勾选“启用SSL监听端口”(默认7002),修改为非标准端口(如8002);进入“配置→SSL→高级”,勾选“启用SSL拒绝日志记录”(记录拒绝的SSL连接),设置“主机名验证”为“BEA主机名验证”或自定义验证器,防止中间人攻击。
5. 限制网络访问
ufw或iptables限制WebLogic端口(如7001、8001、7002)的外部访问,仅允许信任IP段访问管理端口(如7001)。weblogic.security.net.ConnectionFilterImpl,添加规则(如* * 7001 deny t3 t3s),拒绝非信任IP的T3/T3S协议连接,防范非法访问。6. 调整资源限制防拒绝服务(DoS)
限制最大打开套接字数,避免资源耗尽。操作:登录控制台→“环境→服务器→选择服务器→配置→优化”,将“最大打开套接字数”设置为合理值(如254);或修改config.xml文件,在<server>标签内添加<max-open-sockets>250</max-open-sockets>,保存后激活更改。
7. 开启安全审计与日志监控
base_domain/servers/AdminServer/logs/access.log,记录用户访问的URL、IP、时间等信息。AuditingProvider,配置日志路径(如域目录/servers/AdminServer/logs/DefaultAuditRecorder.log),记录用户登录、权限变更、资源访问等安全事件,便于事后追溯。8. 定期更新补丁与版本升级
及时应用Oracle官方发布的安全补丁,修复已知漏洞(如CVE-2018-2628反序列化漏洞)。操作:访问Oracle官网下载对应版本的补丁包,按照官方文档升级WebLogic;若无法立即升级,可通过连接筛选器临时阻断T3/T3S协议的非信任访问,降低漏洞风险。
9. 更改默认端口
修改默认监听端口(如管理端口7001、HTTP端口7001),避免攻击者通过扫描默认端口快速定位WebLogic服务。操作:登录控制台→“环境→服务器→选择服务器→一般信息”,修改“监听端口”为非标准端口(如8001),保存后激活更改。
10. 配置应用层安全
weblogic.properties文件,设置weblogic.httpd.indexDirectories=false,禁止浏览器直接列出应用目录内容,防止敏感文件泄露。consoleapp/webapp/WEB-INF/web.xml文件,添加<error-page>配置(如<exception-type>java.lang.Exception</exception-type><location>/error.jsp</location>),将错误请求重定向至自定义错误页面,避免暴露服务器内部信息。