WebLogic安全基线

WebLogic安全基线

  • [一、 用户权限](#一、 用户权限)
    • [1 、检查weblogic 的启动用户](#1 、检查weblogic 的启动用户)
    • [2 、用户权限整改](#2 、用户权限整改)
    • [3 、使用普通用户重启weblogic](#3 、使用普通用户重启weblogic)
  • 二、账户共用
    • [1 、检查weblogic 控制台的账户](#1 、检查weblogic 控制台的账户)
    • [2 、账户共用整改](#2 、账户共用整改)
    • [3 、测试登录weblogic 控制台新账户](#3 、测试登录weblogic 控制台新账户)
  • [三、 账户清理](#三、 账户清理)
    • [1 、检查weblogic 控制台的账户](#1 、检查weblogic 控制台的账户)
    • [2 、帐户清理整改](#2 、帐户清理整改)
  • [四、 禁止特权身份运行](#四、 禁止特权身份运行)
  • [五、 口令长度](#五、 口令长度)
    • [1 、检查](#1 、检查)
    • [2 、口令长度整改](#2 、口令长度整改)
  • [六、 帐户封锁](#六、 帐户封锁)
    • [1 、检查](#1 、检查)
    • [2 、整改](#2 、整改)
  • 七、日志启用
    • [1 、检查](#1 、检查)
    • [2 、日志启用整改](#2 、日志启用整改)
  • [八、 发送服务器标头](#八、 发送服务器标头)
    • [1 、检查](#1 、检查)
    • [2 、整改](#2 、整改)
  • 九、删除示例文件
    • [1 、检查](#1 、检查)
    • [2 、整改](#2 、整改)
  • 十、自定义错误页面
    • [1 、检查](#1 、检查)
  • 十一、连接数设置
    • [1 、检查](#1 、检查)
    • [2 、整改](#2 、整改)
  • 十二、超时时间策略
    • [1 、检查](#1 、检查)
    • [2 、整改](#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用户为示例:

bash 复制代码
# 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 UIDEnable Post-Bind GID 两个选项必须勾选并配置相关的UID 和GID 。

Weblogic 10.3.6.0 无法找到 Enable Post-Bind UIDEnable 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进行压缩备份在进行删除

例如:

bash 复制代码
$ 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节点关闭才可以激活更改)

整改后:

相关推荐
zhu12893035561 小时前
网络安全的重要性与防护措施
网络·安全·web安全
渗透测试老鸟-九青2 小时前
面试经验分享 | 成都渗透测试工程师二面面经分享
服务器·经验分享·安全·web安全·面试·职场和发展·区块链
网络研究院2 小时前
ChatGPT 的新图像生成器非常擅长伪造收据
网络·人工智能·安全·chatgpt·风险·技术·欺诈
写代码的小王吧3 小时前
【Java可执行命令】(十)JAR文件签名工具 jarsigner:通过数字签名及验证保证代码信任与安全,深入解析 Java的 jarsigner命令~
java·开发语言·网络·安全·web安全·网络安全·jar
夜风Sec4 小时前
Burp靶场 - HTTP走私请求【Part2】
安全
apcipot_rain6 小时前
【数据库原理及安全实验】实验一 数据库安装与创建
数据库·安全
爱上大树的小猪6 小时前
【前端安全】模板字符串动态拼接HTML的防XSS完全指南
前端·安全·html
独行soc7 小时前
2025年渗透测试面试题总结-某腾某讯-技术安全实习生升级(题目+回答)
java·python·安全·web安全·面试·职场和发展·红蓝攻防
蝎蟹居7 小时前
GB/T 4706.1-2024 家用和类似用途电器的安全 第1部分:通用要求 与2005版差异(1)
人工智能·单片机·嵌入式硬件·物联网·安全