应用安全漏洞总是层出不穷,一方面反映在应用本身,另一方面,应用服务器的安全配置也是至关重要。所以建议小伙伴们在使用找Bug这样的“神兵利器”查找应用本身的安全漏洞的同时,也要做好WEB服务器的安全配置,如下是搜罗的对weblogic安全最佳配置的建议:
1.最小化安装
1)禁止采用示例应用
2)禁止采用默认weblogic作为管理员用户名,建议采用不易被猜测的用户名,如“root_domain”等。
2.口令长度设置至少为8位
默认在安装时,weblogic要求密码至少为8位,但是没有限制密码复杂度。
按照如下步骤在安装时手工设置密码复杂度。
加固方法:登录控制台选择[安全领域]-->领域选择-->[提供程序]-->[DefaultAuthenticator]-->[配置]-->[提供程序特定],在“提供程序特定“里设置“最小口令长度”大于等于8 ,保存,激活更改。
3.设置账号锁定策略
对于采用静态口令认证技术的设备, 应配置当用户连续认证失败次数超若干次,锁定该用户使用的账号。
加固方法:
配置失败锁定允许尝试次数,登录控制台选择[安全领域]-->领域选择-->[配置]-->[用户封锁]-->勾选"启用封锁",把“封锁阀值”设为一个小于等于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,日志会存在以下位置:
DomainNameDefaultAuditRecorder.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
在<server></server>中间,<name></name>后面加 <max-open-sock-count>250</max-open-sock-count>
11. 以非root 用户运行 WebLogic
WebLogic进程的用户应该是非超级用户。查看当前系统的 WebLogic进程,确认程序启动时使用的身份。禁用超级用户启动 WebLogic。
加固方法:
1) 创建 WebLogic 组:groupadd WebLogic
2) 创建 WebLogic 用户并加入WebLogic 组useradd WebLogic -g
WebLogic
3) 以 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
原文始发于微信公众号(Pa55w0rd):WebLogic 之安全配置
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论