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的进程用户
1

从上图可以获知,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

2

3 、使用普通用户重启weblogic

使用普通用户启动weblogic实例,如下图所示:
3

二、账户共用

应为不同的用户分配不同的Weblogic 帐户,不允许多个用户共用同一个帐户

1 、检查weblogic 控制台的账户

4

从上述可以看出,weblogic 控制台只有两个用户,一个是Oracle application software system user ,一个是weblogic 控制台的超级管理员。所以,并没有为不同的用户分配不同的weblogic 账户,需整改。 检查方法,操作步骤:以管理员身份进入控制台--Security Realms--myrealm--User and Groups

2 、账户共用整改

1)操作步骤:以管理员身份进入控制台--Security Realms--myrealm--User and Groups

新建–输入“名称”–输入“说明”–输入“口令”并“确认口令”

5

选中新建的用户名–组–选择组–保存
6

3 、测试登录weblogic 控制台新账户

输入weblogic控制台URL,键入新账户与密码进行登录,如下图所示:
7

三、 账户清理

应删除过期、无用的weblogic 控制台帐户

1 、检查weblogic 控制台的账户

检查方法,操作步骤:以管理员身份进入控制台--Security Realms--myrealm--User and Groups
8

2 、帐户清理整改

1)操作步骤:以管理员身份进入控制台--Security Realms--myrealm--User and Groups

选中用户 OracleSystemUser --删除–是
9

账户清理后
10

四、 禁止特权身份运行

应禁止以特权用户身份运行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位以上
11

该值默认为 8 。符合要求

2 、口令长度整改

1)如果minimum password length的值不大于等于8,那么需要整改。

操作步骤:登录weblogic控制台–Security Realms–myrealm–providers->defaultauthenticator–Provider Specific–锁定并编辑–修改minimum password length参数值应8位以上

整改后:
12

六、 帐户封锁

应配置帐户连续认证失败次数超过 5 次(不含 5 次),锁定该帐户10 分钟

1 、检查

检查方法,操作步骤:以管理员身份进入控制台--Security Realms--myrealm--Configuration--User Lockout查看Lockout Threshold(5) 失败尝试次数是否为5次;查看Lockout Duration(3) 帐号锁定时间是否为10分钟;
13

2 、整改

1)以管理员身份进入控制台--锁定并编辑--Security Realms--myrealm--Configuration--User Lockout整改Lockout Threshold(5) 失败尝试次数为5;

2)以管理员身份进入控制台锁定并编辑--Security Realms--myrealm--Configuration--User Lockout整改Lockout Duration(3) 帐号锁定时间是否为10分钟;

整改后:
14

七、日志启用

应启用日志功能并调整以下配置,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 ”
15

2) 检查“ Rotation type ”设置是否为“ By Time ”“ Files to retain ”设置是否为“ 180 ”“ Severity level ”设置是否为“ Warning ”,此时需要检查 DOMAINLOG 、 SERVERLOG 、 ACCESSLOG 三类日志。

检查DOMAINLOG的操作步骤为:登录weblogic控制台–域名–配置–日志记录–查看滚动类型是否为“按时间”,是否勾选“限制保留的文件数”,要保留的文件数的值是否为“180”
16

检查SERVERLOG的操作步骤为:登录weblogic控制台–环境–服务器–SERVERNAME–日志记录–一般信息,查看滚动类型是否为“按时间”,是否勾选“限制保留的文件数”,要保留的文件数的值是否为“180”
17

检查ACCESSLOG的操作步骤为:登录weblogic控制台–环境–服务器–SERVERNAME–日志记录–HTTP,查看滚动类型是否为“按时间”,是否勾选“限制保留的文件数”,要保留的文件数的值是否为“180”
18

2 、日志启用整改

1)整改审计类型设置为“ Change Log and Audit ”

操作步骤:登录weblogic控制台–域名–配置–一般信息–高级—锁定并编辑,整改配置审计类型参数值为“ Change Log and Audit ”–保存–激活更改

整改后:

19

2 )整改“ Rotation type ”设置为“ By Time ”“ Files to retain ”设置为“ 180 ”“ Severity level ”设置为“ Warning ”,此时需要检查 DOMAINLOG 、 SERVERLOG 、 ACCESSLOG 三类日志。

a.整改DOMAINLOG的操作步骤为:登录weblogic控制台–域名->配置–日志记录–锁定并编辑–整改滚动类型为“按时间”,勾选“限制保留的文件数”,要保留的文件数的值为“180”–保存–激活更改

整改后:
20

b.整改SERVERLOG的操作步骤为:登录weblogic控制台–环境–服务器–SERVERNAME–日志记录–一般信息–锁定并编辑,整改滚动类型为“按时间”,勾选“限制保留的文件数”,要保留的文件数的值为“180”–保存–激活更改

整改后:
21

八、 发送服务器标头

1 、检查

检查方法,操作步骤:以管理员身份进入控制台–服务器–每个SERVERNAME–协议–HTTP–检查是否勾选Send Server Header

22

从上图可以看出,默认是不勾选“发送服务器标头”,需整改

2 、整改

操作步骤:以管理员身份进入控制台–服务器–每个SERVERNAME–协议–HTTP–锁定并编辑–勾选Send Server Header(“发送服务器标头”)–保存–激活更改

整改后:

23

九、删除示例文件

应删除 sample 程序:1 、安装时勾选不安装Sample ;2 、已安装的,删除安装目录下的 Sample 目录

1 、检查

检查方法,操作步骤:登录服务器,检查weblogic家目录下,是否存在Sample
24

从上图可以看出, 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等信息

25

在 WebLogic 10.3.6.0 之后, weblogic 无需自定义错误页面。

十一、连接数设置

应设置 session 超时时间数值不为0 ,且在合理范围内

1 、检查

检查方法,操作步骤:

进入控制台–Servers–对于server–Tunning查看stuck Thread超时时间;建议设置值为10分钟,即600s,若线程处理时间需要大于600s,可特殊注明。
26

WebLogic 默认的stuck Thread 超时时间为600 秒,无需整改。

2 、整改

1)以管理员进入控制台–服务器–每个SERVERNAME–配置–优化–锁定并编辑–修改stuck Thread超时时间为600–保存–激活更改

整改后:
27

十二、超时时间策略

应设置Maximum Open Sockets数值不为0 ,且在合理范围内

1 、检查

检查方法,操作步骤:

以管理员身份进入控制台–Servers–Configuration–Tuning核查Maximum Open Sockets是否为2000。若业务处理需要大于2000,可特殊注明。

28

WebLogic 默认的Maximum Open Sockets为 -1 ,需整改。

2 、整改

以管理员身份进入控制台–Servers–Configuration–Tuning–锁定并编辑-修改-Maximum Open Sockets为2000–保存–激活更改(需要把weblogic节点关闭才可以激活更改)

整改后:
29

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/66677.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity3D Huatuo热更环境安装与示例项目详解

前言 Unity3D作为一款强大的游戏开发引擎,广泛应用于各类游戏和应用程序的开发中。然而,随着游戏版本的迭代和功能的增加,热更新技术变得越来越重要。Huatuo是一款基于Unity3D的IL2CPP解释执行框架,可以实现对游戏代码的热更新&a…

react-quill 富文本组件编写和应用

index.tsx文件 import React, { useRef, useState } from react; import { Modal, Button } from antd; import RichEditor from ./RichEditor;const AnchorTouchHistory: React.FC () > {const editorRef useRef<any>(null);const [isModalVisible, setIsModalVis…

TDv2:一种用于离线数学表达式识别的新型树形结构解码器

TDv2:一种用于离线数学表达式识别的新型树形结构解码器 本文提出了一种针对手写数学表达式识别(HMER)任务的新型树形解码器(TDv2) ,旨在充分利用数学表达式的树结构标签进行更有效的建模和预测。相较于传统的LaTeX字符串解码器,该模型通过采用一个节点分类模块和一个分…

银行信贷管理系统flask

完整源码项目包获取→点击文章末尾名片&#xff01;

WordPress静态缓存插件WP Super Cache与 WP Fastest Cache

引言 WordPress是一款开源的内容管理系统&#xff08;CMS&#xff09;&#xff0c;最初作为博客平台开发&#xff0c;现已发展成为一个功能强大的建站工具&#xff0c;支持创建各种类型的网站&#xff0c;包括企业网站、在线商店、个人博客等。它具有用户友好的界面、丰富的插…

onLoad 生命周期函数是否执行取决于跳转的方式和小程序的页面栈管理机制

文章目录 1. 页面跳转方式2. 你的场景分析3. 页面生命周期4. 总结5. 建议 在微信小程序中&#xff0c;页面跳转时&#xff0c; onLoad 生命周期函数是否执行取决于跳转的方式和小程序的页面栈管理机制。以下是详细说明&#xff1a; 1. 页面跳转方式 微信小程序提供了多种页面…

【深度学习】通俗理解偏差(Bias)与方差(Variance)

在统计学习中&#xff0c;我们通常使用方差与偏差来衡量一个模型 1. 方差与偏差的概念 偏差(Bais)&#xff1a; 预测值和真实值之间的误差 方差(Variance)&#xff1a; 预测值之间的离散程度 低偏差低方差、高偏差低方差&#xff1a; 图中每个点表示同一个模型每次采样出不同…

生态水文研究中的机器学习与数学建模方法选择

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Mongodb基础sqL

------------------------------------------数据库------------------------------ (2).查看所有数据库 show dbs (3).选择数据库&#xff0c;如果不存在则隐式创建这个数据库 use 数据库名 ------------------------------------------集合------------------------------ …

大风车excel:怎么把题库导入excel?题库导入excel

高效管理试题库&#xff1a;如何批量导入试题到 Excel&#xff1f; 在教育培训、学校管理以及在线学习平台中&#xff0c;试题库的管理是核心工作之一。如何快速、准确地将试题导入到 Excel 表格中&#xff0c;成为许多教育工作者和开发者的迫切需求。本文将围绕“题库导入 Ex…

【LeetCode】力扣刷题热题100道(21-25题)附源码 接雨水 合并区间 字母异位词 滑动窗口 覆盖子串(C++)

目录 1.接雨水 2.合井区间 3.找到字符串中所有字母异位词 4.滑动窗口最大值 5.最小覆盖子串 1.接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 代码如下所示&#xff1a; class Solution {…

ThreadLocal 的使用场景

在现代电商平台中&#xff0c;ThreadLocal 常用于以下场景&#xff0c;特别是与线程隔离相关的业务中&#xff0c;以提高性能和简化上下文传递。 1. 用户上下文信息管理 场景&#xff1a;在用户发起的每次请求中&#xff0c;需要携带用户 ID、角色、权限等信息&#xff0c;而这…

慧集通(DataLinkX)iPaaS集成平台-智能体(Agent)API

功能简介&#xff1a; 该功能下主要是用来管理集成平台对外开放接口得管控以及调用日志信息得查看操作&#xff0c;并支持日志得重放等操作&#xff1b;注&#xff1a;所有触发类单据得日志也可以在此查看(如使用数据触发组件自动触发流程得日志信息) 1.第三方调用接口类日志查…

如何 cURL Elasticsearch:进入 Shell

作者&#xff1a;来自 Elastic Philipp Krenn Kibana 的控制台是开始使用 Elasticsearch 的 REST API 的最简单方法 - 语法突出显示、自动完成、格式化、导出 cURL、JavaScript 或 Python。而且你不必担心正确的端点、身份验证等。但是有时&#xff0c;如果 Kibana 不可用、你…

HTB:Bank[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 提取出靶机TCP开放端口 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用curl对域名进行访问…

智能码二维码生成器zhinengma.cn如何助力生产行业进行高效管理

智能码二维码生成器zhinengma.cn可通过以下方式助力生产行业进行高效管理1&#xff1a; 设备管理 设备信息整合与查询&#xff1a;为每台生产设备生成专属二维码&#xff0c;将设备基本信息、技术参数、操作手册、历史维护记录等整合并关联到二维码上。维护人员在设备现场用手机…

前端批量下载文件

背景 文件管理页面&#xff0c;后端只提供了一个根据 file_path 和 file_name 参数下载文件的API接口。产品需要支持用户多选之后的批量下载功能。 技术实现 基础代码 先调用下载接口&#xff0c;获取到二进制的文件流&#xff0c;然后通过 a 标签完成下载。 // return [r…

创建基本的 Electron 应用项目的详细步骤

创建一个基本的 Electron 应用项目的详细步骤。我们将从安装 Node.js 开始&#xff0c;然后创建项目文件夹并初始化 Electron 项目。 1. 安装 Node.js 首先&#xff0c;确保你已经安装了 Node.js 和 npm。你可以在终端中运行以下命令来检查是否已经安装&#xff1a; node -v…

TDengine + MQTT :车联网时序数据库如何高效接入

现代新能源汽车&#xff0c;作为一种内部系统极为复杂的交通工具&#xff0c;配备了大量传感器、导航设备、应用软件&#xff0c;这些传感器产生的数据都需要上报到车联网平台当中。对于这些车辆的状态数据&#xff08;如车速、发动机转速等&#xff09;、位置数据&#xff08;…

2. Scala 高阶语法之集合与元组

背景 上一章简单介绍了scala是什么&#xff0c;以及scala的基础用法&#xff0c;本文介绍scala的高阶语法&#xff0c;希望看完本章之后&#xff0c;读者能体会到scala和java的明显区别&#xff0c;以及scala的强大之处。 1. 数组 Scala中提供了一种数据结构-数组&#xff0…