WebLogic安全基线
WebLogic安全基线
- 一、 用户权限
- 1 、检查weblogic 的启动用户
- 2 、用户权限整改
- 3 、使用普通用户重启weblogic
- 二、账户共用
- 1 、检查weblogic 控制台的账户
- 2 、账户共用整改
- 3 、测试登录weblogic 控制台新账户
- 三、 账户清理
- 1 、检查weblogic 控制台的账户
- 2 、帐户清理整改
- 四、 禁止特权身份运行
- 五、 口令长度
- 1 、检查
- 2 、口令长度整改
- 六、 帐户封锁
- 1 、检查
- 2 、整改
- 七、日志启用
- 1 、检查
- 2 、日志启用整改
- 八、 发送服务器标头
- 1 、检查
- 2 、整改
- 九、删除示例文件
- 1 、检查
- 2 、整改
- 十、自定义错误页面
- 1 、检查
- 十一、连接数设置
- 1 、检查
- 2 、整改
- 十二、超时时间策略
- 1 、检查
- 2 、整改
一、 用户权限
查看运行weblogic 的用户权限,实现weblogic 用户权限最小化
1 、检查weblogic 的启动用户
使用ps -ef|grep java|grep weblogic
可以查看启动weblogic的进程用户
从上图可以获知,weblogic进程是使用操作系统的超级管理员root用户启动。Root用户拥有超级权限,按照安全基线,需要对weblogic的启动用户进行整改,整改为操作系统普通用户启动(非root)weblogic实例。同时,从上图可以看出,weblogic的家目录为:/ycxk/app01/bea/wlserver_10.3/server
2 、用户权限整改
1)使用root用户对中间件WebLogic 目录进行重新授权,需要创建一个普通用户,以下以weblogic用户为示例:
# cd /ycxk/app01/
# chown -R weblogic:weblogic ./bea
3 、使用普通用户重启weblogic
使用普通用户启动weblogic实例,如下图所示:
二、账户共用
应为不同的用户分配不同的Weblogic 帐户,不允许多个用户共用同一个帐户
1 、检查weblogic 控制台的账户
从上述可以看出,weblogic 控制台只有两个用户,一个是Oracle application software system user
,一个是weblogic 控制台的超级管理员。所以,并没有为不同的用户分配不同的weblogic 账户,需整改。 检查方法,操作步骤:以管理员身份进入控制台--Security Realms--myrealm--User and Groups
;
2 、账户共用整改
1)操作步骤:以管理员身份进入控制台--Security Realms--myrealm--User and Groups
;
新建–输入“名称”–输入“说明”–输入“口令”并“确认口令”
选中新建的用户名–组–选择组–保存
3 、测试登录weblogic 控制台新账户
输入weblogic控制台URL,键入新账户与密码进行登录,如下图所示:
三、 账户清理
应删除过期、无用的weblogic 控制台帐户
1 、检查weblogic 控制台的账户
检查方法,操作步骤:以管理员身份进入控制台--Security Realms--myrealm--User and Groups
;
2 、帐户清理整改
1)操作步骤:以管理员身份进入控制台--Security Realms--myrealm--User and Groups
;
选中用户 OracleSystemUser --删除–是
账户清理后
四、 禁止特权身份运行
应禁止以特权用户身份运行WebLogic ,Enable Post-Bind UID
和Enable Post-Bind GID
两个选项必须勾选并配置相关的UID 和GID 。
Weblogic 10.3.6.0 无法找到 Enable Post-Bind UID
和 Enable Post-Bind GID
两个选项
五、 口令长度
应设置Weblogic 帐户口令长度至少为8 位
1 、检查
检查方法,操作步骤:Security Realms--myrealm--providers--defaultauthenticator--Provider Specific,查看minimum password length
参数值应8位以上
该值默认为 8 。符合要求
2 、口令长度整改
1)如果minimum password length
的值不大于等于8,那么需要整改。
操作步骤:登录weblogic控制台–Security Realms–myrealm–providers->defaultauthenticator–Provider Specific–锁定并编辑–修改minimum password length参数值应8位以上
整改后:
六、 帐户封锁
应配置帐户连续认证失败次数超过 5 次(不含 5 次),锁定该帐户10 分钟
1 、检查
检查方法,操作步骤:以管理员身份进入控制台--Security Realms--myrealm--Configuration--User Lockout
查看Lockout Threshold(5)
失败尝试次数是否为5次;查看Lockout Duration(3)
帐号锁定时间是否为10分钟;
2 、整改
1)以管理员身份进入控制台--锁定并编辑--Security Realms--myrealm--Configuration--User Lockout整改Lockout Threshold(5)
失败尝试次数为5;
2)以管理员身份进入控制台锁定并编辑--Security Realms--myrealm--Configuration--User Lockout
整改Lockout Duration(3)
帐号锁定时间是否为10分钟;
整改后:
七、日志启用
应启用日志功能并调整以下配置,1 、审计类型
设置为“Change Log and Audit ”
;2 、“Rotation type ”设置为“By Time ”
;3 、“Files to retain ”
设置为“180 ”
;4 、“Severity level ”
设置为“Warning ”
1 、检查
1)检查审计类型是否设置为“ Change Log and Audit ”
,操作步骤:登录weblogic控制台--域名--配置--一般信息--高级
,查看配置审计类型参数值是否为“ Change Log and Audit ”
2) 检查“ Rotation type ”
设置是否为“ By Time ”
;“ Files to retain ”
设置是否为“ 180 ”
;“ Severity level ”
设置是否为“ Warning ”
,此时需要检查 DOMAINLOG 、 SERVERLOG 、 ACCESSLOG
三类日志。
检查DOMAINLOG
的操作步骤为:登录weblogic控制台–域名–配置–日志记录–查看滚动类型是否为“按时间”,是否勾选“限制保留的文件数”,要保留的文件数的值是否为“180”
检查SERVERLOG
的操作步骤为:登录weblogic控制台–环境–服务器–SERVERNAME–日志记录–一般信息,查看滚动类型是否为“按时间”,是否勾选“限制保留的文件数”,要保留的文件数的值是否为“180”
检查ACCESSLOG
的操作步骤为:登录weblogic控制台–环境–服务器–SERVERNAME–日志记录–HTTP,查看滚动类型是否为“按时间”,是否勾选“限制保留的文件数”,要保留的文件数的值是否为“180”
2 、日志启用整改
1)整改审计类型设置为“ Change Log and Audit ”
操作步骤:登录weblogic控制台–域名–配置–一般信息–高级—锁定并编辑,整改配置审计类型参数值为“ Change Log and Audit ”–保存–激活更改
整改后:
2 )整改“ Rotation type ”
设置为“ By Time ”
;“ Files to retain ”
设置为“ 180 ”
;“ Severity level ”
设置为“ Warning ”
,此时需要检查 DOMAINLOG 、 SERVERLOG 、 ACCESSLOG
三类日志。
a.整改DOMAINLOG
的操作步骤为:登录weblogic控制台–域名->配置–日志记录–锁定并编辑–整改滚动类型为“按时间”,勾选“限制保留的文件数”,要保留的文件数的值为“180”–保存–激活更改
整改后:
b.整改SERVERLOG
的操作步骤为:登录weblogic控制台–环境–服务器–SERVERNAME–日志记录–一般信息–锁定并编辑,整改滚动类型为“按时间”,勾选“限制保留的文件数”,要保留的文件数的值为“180”–保存–激活更改
整改后:
八、 发送服务器标头
1 、检查
检查方法,操作步骤:以管理员身份进入控制台–服务器–每个SERVERNAME–协议–HTTP–检查是否勾选Send Server Header
;
从上图可以看出,默认是不勾选“发送服务器标头”,需整改
2 、整改
操作步骤:以管理员身份进入控制台–服务器–每个SERVERNAME–协议–HTTP–锁定并编辑–勾选Send Server Header
(“发送服务器标头”)–保存–激活更改
整改后:
九、删除示例文件
应删除 sample
程序:1 、安装时勾选不安装Sample ;2 、已安装的,删除安装目录下的 Sample 目录
1 、检查
检查方法,操作步骤:登录服务器,检查weblogic家目录下,是否存在Sample
从上图可以看出, weblogic11g 以及 12c 默认是不存在 sample 目录,无需整改
2 、整改
1)如果存在sample目录,那么需要整改。
操作步骤:登录服务器,对sample进行压缩备份在进行删除
例如:
$ cd /weblogic/bea/wlserver_92/
$ tar -cvf sample_bak.tar sample/
$ rm -fr sample/
十、自定义错误页面
应自定义403 、404 、500 错误页面,要求:重定向后的页面不能显示任何错误代码和错误路径信息
1 、检查
检查方法,操作步骤:
检查一个错误的weblogic控制台路径,例如:http://$IP:$PORT/abc
检查是否返回404、405、500等信息
在 WebLogic 10.3.6.0 之后, weblogic 无需自定义错误页面。
十一、连接数设置
应设置 session
超时时间数值不为0 ,且在合理范围内
1 、检查
检查方法,操作步骤:
进入控制台–Servers–对于server–Tunning查看stuck Thread
超时时间;建议设置值为10分钟,即600s,若线程处理时间需要大于600s,可特殊注明。
WebLogic 默认的stuck Thread
超时时间为600 秒,无需整改。
2 、整改
1)以管理员进入控制台–服务器–每个SERVERNAME–配置–优化–锁定并编辑–修改stuck Thread
超时时间为600–保存–激活更改
整改后:
十二、超时时间策略
应设置Maximum Open Sockets
数值不为0 ,且在合理范围内
1 、检查
检查方法,操作步骤:
以管理员身份进入控制台–Servers–Configuration–Tuning核查Maximum Open Sockets是否为2000。若业务处理需要大于2000,可特殊注明。
WebLogic 默认的Maximum Open Sockets
为 -1 ,需整改。
2 、整改
以管理员身份进入控制台–Servers–Configuration–Tuning–锁定并编辑-修改-Maximum Open Sockets为2000–保存–激活更改(需要把weblogic节点关闭才可以激活更改)
整改后: