WebLogic 之安全配置
前段时间Java的反序列化漏洞吵得沸沸扬扬,因工作原因需要对weblogic进行安全配置,网上关于weblogic的安全配置的内容都不是很全面,可能是因为weblogic已经比较成熟了吧。
本文就总结一下在整个过程中遇到的一些坑,并给出正确的姿势。
1.最小化安装
1)禁止采用默认weblogic作为管理员用户名,建议采用不易被猜测的用户名,如“root_domain”等。
2)禁止采用示例应用
2.口令长度设置至少为8位
默认在安装时,weblogic要求密码至少为8位,但是没有限制密码复杂度。因此需要在安装时手工设置复杂的密码,
加固方法:登录控制台选择[安全领域]–>领域选择–>[提供程序]–>[DefaultAuthenticator]–>[配置]–>[提供程序特定],在“提供程序特定“里设置“最小口令长度”大于等于8 ,保存,激活更改。
3.设置账号锁定策略
对于采用静态口令认证技术的设备, 应配置当用户连续认证失败次数超过 6 次(不含 6 次),锁定该用户使用的账号。
加固方法:
配置失败锁定允许尝试次数,登录控制台选择[安全领域]–>领域选择–>[配置]–>[用户封锁]–>勾选"启用封锁",把“封锁阀值”设为一个小于等于6的值,保存,激活更改。
配置锁定持续时间,登录控制台选择[安全领域]–>领域选择–>[配置]–>[用户封锁]–>勾选"启用封锁",把“封锁持续时间”设为一个大于等于30的值,保存,激活更改。
打开锁定帐号策略,登录控制台选择 [安全领域]–>领域选择–>[配置]–>[用户封锁]–>勾选"启用封锁",保存,激活更改。
配置锁定重置持续时间登录控制台选择 [安全领域]–>领域选择–>[配置]–>[用户封锁]–>勾选"启用封锁",封锁重置持续时间:6,保存,激活更改。
4.更改默认端口
为防止恶意的攻击,使得攻击者难以找到数据库并将其定位,使用 HTTP 协议的设备, 应更改 WebLogic服务器默认端口。
加固方法:登录控制台选择[环境]–>[服务器]–>服务器选择–>[配置]–>[一般信息],勾选"启用监听端口",并修改默认端口号为非7001的数值(例如:8001)。
5.设置目录列表访问限制
查看weblogic安装目录下的weblogic.properties配置文件,将weblogic.httpd.indexDirectories=false
6.开启日志功能
设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功,登录时间,使用的 IP 地址。
加固方法:登录控制台选择 [环境]–>[服务器]–>服务器选择–>[日志记录]–>[HTTP],勾选"启用HTTP访问日志文件",保存,激活更改。
7.开启安全审计
【说明】如果开启了 Weblogic Security Service提供的 AuditingProvider,日志会存在以下位置:DomainName\DefaultAuditRecorder.log
可以通过以下位置设置:AdministrationConsole on the Security → Realms→ RealmName → Providers → Auditors page.
8.限制发送主机名和版本号,禁用 Send Server header
缺省条件下,当Weblogic Server响应HTTP请求时,在其HTTP响应的包头中包括服务器的名称和Weblogic版本号,这会导致服务器信息的泄漏。为防止恶意的攻击,获取更多服务器信息,应该禁止发送服务器标头。
加固方法:登录控制台选择 [环境]–>[服务器]–>服务器选择–>[协议]–>[HTTP],取消勾选"发送服务器标头",保存,激活更改。
9.运行模式设置为生产模式
WebLogic有两种工作模式,一种是开发模式,另一种是生产模式。开发模式下,启用了自动部署;生产模式下,关闭了自动部署。
加固方法:登录控制台选择[域名]–>[配置]–>[常规],勾选"生产模式",保存,激活更改。
10.限制打开套接字数量
Sockets最大打开数目设置不当的话,容易受到拒绝服务攻击,超出操作系统文件描述符限制。
加固方法1:登录控制台选择[环境]–>[服务器]–>服务器选择–>[配置]–>[优化],修改"最大打开套接字数"为254或其它用户设定值,保存,激活更改。
加固方法2:修改config.xml
在中间,后面加 250
11. 以非root 用户运行 WebLogic
WebLogic进程的用户应该是非超级用户。查看当前系统的 WebLogic进程,确认程序启动时使用的身份。禁用超级用户启动 WebLogic。
加固方法:
- 创建 WebLogic 组: groupadd WebLogic
- 创建 WebLogic 用户并加入WebLogic 组useradd WebLogic -g WebLogic
- 以 WebLogic 身份启动服务
12.配置默认出错页面
WebLogic应配置错误页面重定向,URL 地址栏中输入错误地址后,应跳转至指向指定错误页面。
加固方法:
修改<WebLogic_install_dir_path>/server/lib/consoleapp/webapp/WEB-INF/web.xml文件,添加web-app/error-page/exception-type节点。
13.设置加密协议
对于通过HTTP 协议进行远程维护的设备,设备应支持使用 HTTPS 等加密协议。
加固方法:
启用SSL监听,登录控制台选择 [环境]–>[服务器]–>服务器选择–>[一般信息],勾选"启用SSL监听端口",保存,激活更改。
修改SSL默认监听端口,登录控制台选择[环境]–>[服务器]–>服务器选择–>[一般信息],设置SSL监听端口号(非7002),保存,激活更改。
配置SSL拒绝日志记录,登录控制台选择 [环境]–>[服务器]–>服务器选择–>[配置]–>[SSL],,点击[高级],勾选"启用SSL拒绝日志记录",保存,激活更改。
配置主机名认证,登录控制台选择 [环境]–>[服务器]–>服务器选择–>[配置]–>[SSL]–>高级,主机名验证选择"BEA主机名验证",保存,激活更改。
修改主机名认证器,登录控制台选择[环境]–>[服务器]–>服务器选择–>[配置]–>[SSL]–>高级,定制主机名验证器为空,保存,激活更改。
14.使用防火墙或 Weblogic Server connection filters
加固方法:
使用防火墙限制 Weblogic Server域外到域的连接;使用
Connection Filters限制 Weblogic Server域内的连接。更多信息可参考http://e-
docs.bea.com/wls/docs70/secmanage/domain.html#connection_filte
15.配置超时退出
对于具备字符交互界面的设备,应支持定时账户自动登出。登出后用户需再次登录才能进入系统。设置http超时登出,https超时登出以及控制台会话超时。
加固方法:
设置http超时登出,登录控制台选择 [环境]–>[服务器]–>服务器选择–>[配置]–>[优化],登录超时设置为不大于5000的值,保存,激活更改。
设置https超时登出,登录控制台选择 [环境]–>[服务器]–>服务器选择–>[配置]–>[优化],SSL登录超时设置为不大于10000的值,保存,激活更改。
设置控制台会话超时,登录控制台选择 [域名]–>[配置]–>[一般信息]–>[高级],修改控制台会话超时为不大于300的值,保存,激活更改。
16.应用最新的 BEA 补丁
考虑实施官方最新的安全建议
注册BEA Advisories & Notifications(http://dev2dev.bea.com/advisories)以便收到最新的安全建议信息。
从http://commerce.beasys.com/downloads.可以下载 Service Pack
参考链接 :
WebLogic 之安全配置 :https://mp.weixin.qq.com/s/lhgXiljKVSFu3amSLebd-Q