SQL server 基线安全加固操作

  1. 账号管理、认证授权  ELK-Mssql-01-01-01

编号

ELK-Mssql-01-01-01

名称

为不同的管理员分配不同的账号

实施目的

应按照用户分配账号,避免不同用户间共享账号,提高安全性。

问题影响

账号混淆,权限不明确,存在用户越权使用的可能。

系统当前状态

use master

Select name,password from syslogins order by name

记录用户列表

实施步骤

  1. 参考配置操作

sp_addlogin 'user_name_1','password1'

sp_addlogin 'user_name_2','password2'

或在企业管理器中直接添加远程登陆用户

建立角色,并给角色授权,把角色赋给不同的用户或修改用户属性中的角色和权限

  1. 补充操作说明

1、user_name_1和user_name_1是两个不同的账号名称,可根据不同用户,取不同的名称;

回退方案

删除添加的用户

判断依据

询问管理员是否安装需求分配用户账号

实施风险

重要等级

★★★

备注

ELK-Mssql-01-01-02

编号

ELK-Mssql-01-01-02

名称

删除或锁定无效账号

实施目的

删除或锁定无效的账号,减少系统安全隐患。

问题影响

允许非法利用系统默认账号

系统当前状态

use master

Select name,password from syslogins order by name

记录用户列表

实施步骤

1、参考配置操作

Mssql企业管理器-> SQL Server组

->(Local)(Windows NT)->安全性->登录

在用户上点右键选择删除

回退方案

增加删除的帐户

判断依据

询问管理员,哪些账号是无效账号

实施风险

重要等级

★★★

备注

 ELK-Mssql-01-01-03

编号

ELK-Mssql-01-01-03

名称

限制启动账号权限

实施目的

限制账号过高的用户启动sql server

问题影响

启动mssql的账号权限过高,会导致其子进程具有相同权限.

系统当前状态

Mssql企业管理器-> SQL Server组

->(Local)(Windows NT)-属性(右键)-安全性

实施步骤

1、参考配置操作

新建SQL server服务账号后,建议将其从User组中删除,且不要把该账号提升为Administrators组的成员。授予以下windows SQLRunAs账户最少的权限启动 SQL Server数据库。

回退方案

替换会原来启动账号

判断依据

判定条件

查看启动账号权限.

实施风险

重要等级

★★★

备注

​​​​​​​ ELK-Mssql-01-01-04

编号

ELK-Mssql-01-01-04

名称

权限最小化

实施目的

在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。

问题影响

账号权限越大,对系统的威胁性越高

系统当前状态

记录用户拥有权限

实施步骤

  1. 参考配置操作
  1. 更改数据库属性,取消业务数据库帐号不需要的服务器角色;
  2. 更改数据库属性,取消业务数据库帐号不需要的“数据库访问许可”和“数据库角色中允许”中不需要的角色。
  1. 补充操作说明

操作a)用于修改数据库帐号的最小系统角色

操作b)用于修改用户多余数据库访问许可权限和数据库内角色

回退方案

还原添加或删除的权限

判断依据

业务测试正常

实施风险

重要等级

备注

​​​​​​​ ELK-Mssql-01-01-05

编号

ELK-Mssql-01-01-05

名称

数据库角色

实施目的

使用数据库角色(ROLE)来管理对象的权限。

问题影响

账号管理混乱

系统当前状态

记录对应数据库用户角色权限

实施步骤

  1. 企业管理器-〉数据库-〉对应数据库-〉角色-中创建新角色;
  2. 调整角色属性中的权限,赋予角色中拥有对象对应的SELECT、INSERT、UPDATE、DELETE、EXEC、DRI权限

回退方案

删除相应的角色

判断依据

对应用户不要赋予不必要的权限

实施风险

重要等级

备注

​​​​​​​ELK-Mssql-01-01-06

编号

ELK-Mssql-01-01-06

名称

空密码

实施目的

对用户的属性进行安全检查,包括空密码、密码更新时间等。修改目前所有账号的口令,确认为强口令。特别是sa 账号,需要设置至少10位的强口令。

问题影响

账号安全性低.

系统当前状态

select * from sysusers

Select name,Password from syslogins where password is null order by name # 查看口令为空的用户

实施步骤

Use master

exec sp_password ‘旧口令’,‘新口令’,用户名

回退方案

恢复用户密码到原来状态

判断依据

Select name,Password from syslogins where password is null order by name

查看是否有账号为密码

实施风险

重要等级

备注

日志配置  ELK-Mssql-02-01-01

编号

ELK-Mssql-02-01-01

名称

启用日志记录功能

实施目的

数据库应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号、登录是否成功、登录时间以及远程登录时用户使用的IP地址。

问题影响

无法对用户的登陆进行日志记录

系统当前状态

打开数据库属性,查看安全属性

实施步骤

打开数据库属性,选择安全性,将安全性中的审计级别调整为“全部”,身份验证调整为“SQL Server 和Windows”

回退方案

设置安全属性到原先状态

判断依据

判定条件

登录测试,检查相关信息是否被记录

实施风险

重要等级

★★★

备注

通信协议 ELK-Mssql-03-01-01

编号

ELK-Mssql-03-01-01

名称

网络协议

实施目的

除去不必要的服务

问题影响

增加数据库安全隐患

系统当前状态

在Microsoft SQL Server程序组, 运行服务网络实用工具,查看协议列表

实施步骤

参考配置操作

在Microsoft SQL Server程序组, 运行服务网络实用工具。建议只使用TCP/IP协议,禁用其他协议。

回退方案

添加删除的协议 

判断依据

判定条件

在Microsoft SQL Server程序组, 运行服务网络实用工具,查看协议列表,查看是否有多余协议.

实施风险

重要等级

★★

备注

​​​​​​​ELK-Mssql-03-01-02

编号

ELK-Mssql-03-01-02

名称

加固TCP/IP协议栈

实施目的

加固TCP/IP协议栈,加强系统防御网络攻击能力.

问题影响

网络防御能力弱.

系统当前状态

查看

HKLM\System\CurrentControlSet\Services\

Tcpip\Parameters\ DisableIPSourceRouting

HKLM\SYSTEM\CurrentControlSet\Services\

Tcpip\Parameters\ EnableICMPRedirect

HKLM\System\CurrentControlSet\Services\

Tcpip\Parameters\SynAttackProtect

注册表键值

实施步骤

参考配置操作

对于TCP/IP协议栈的加固主要是某些注册表键值的修改。主要是以下几个:

HKLM\System\CurrentControlSet\Services\Tcpip\

Parameters\DisableIPSourceRouting

说明:该键值应设为2,以防御源路由欺骗攻击。

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\

Parameters\EnableICMPRedirect

说明:该键值应设为0,以ICMP重定向。

HKLM\System\CurrentControlSet\Services\Tcpip\

Parameters\SynAttackProtect

说明:该键值应设为2,防御SYN FLOOD攻击。

回退方案

还原注册表更改键值

判断依据

判定条件

读取

HKLM\System\CurrentControlSet\Services\Tcpip\

Parameters\ DisableIPSourceRouting

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\

Parameters\ EnableICMPRedirect

HKLM\System\CurrentControlSet\Services\Tcpip\

Parameters\SynAttackProtect

键值.

实施风险

重要等级

★★

备注

​​​​​​​ ELK-Mssql-03-01-04

编号

ELK-Mssql-03-01-04

名称

通讯协议加密

实施目的

使用通讯协议加密

问题影响

数据库的不安全性增加

系统当前状态

启动服务器网络配置工具,查看“常规”设置

实施步骤

参考配置操作

启动服务器网络配置工具,更改“常规”设置为“强制协议加密”。

回退方案

恢复“强制协议加密”到原状态

判断依据

启动服务器网络配置工具,查看“常规”设置

实施风险

重要等级

备注

设备其他安全要求 ELK-Mssql-04-01-01

编号

ELK-Mssql-04-01-01

名称

停用不必要的存储过程

实施目的

停用sql server中存在的危险存储过程

问题影响

数据库的不安全性增加

系统当前状态

查看存储过程列表

实施步骤

参考配置操作

use master
exec sp_dropextendedproc 'xp_cmdshell'
exec sp_dropextendedproc 'xp_dirtree'
exec sp_dropextendedproc 'xp_enumgroups'
exec sp_dropextendedproc 'xp_fixeddrives'
exec sp_dropextendedproc 'xp_loginconfig'
exec sp_dropextendedproc 'xp_enumerrorlogs'
exec sp_dropextendedproc 'xp_getfiledetails'
exec sp_dropextendedproc 'Sp_OACreate'
exec sp_dropextendedproc 'Sp_OADestroy'
exec sp_dropextendedproc 'Sp_OAGetErrorInfo'
exec sp_dropextendedproc 'Sp_OAGetProperty'
exec sp_dropextendedproc 'Sp_OAMethod'
exec sp_dropextendedproc 'Sp_OASetProperty'
exec sp_dropextendedproc 'Sp_OAStop'
exec sp_dropextendedproc 'Xp_regaddmultistring'
exec sp_dropextendedproc 'Xp_regdeletekey'
exec sp_dropextendedproc 'Xp_regdeletevalue'
exec sp_dropextendedproc 'Xp_regenumvalues'
exec sp_dropextendedproc 'Xp_regread'
exec sp_dropextendedproc 'Xp_regremovemultistring'
exec sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask

Go

删除测试或不必要的存储过程,一般情况下建议删除的存储过程有:

sp_OACreate

sp_OADestroy

sp_OAGetErrorInfo

sp_OAGetProperty

sp_OAMethod

sp_OASetProperty

sp_OAStop

sp_regaddmultistring

xp_regdeletekey

xp_regdeletevalue

xp_regenumvalues

xp_regremovemultistring

除非应用程序需要否则以下存储过程也建议删除:

xp_perfend

xp_perfmonitor

xp_perfsample

xp_perfstart

xp_readerrorlog

xp_readmail

xp_revokelogin

xp_runwebtask

xp_schedulersignal

xp_sendmail

xp_servicecontrol

xp_snmp_getstate

xp_snmp_raisetrap

xp_sprintf

xp_sqlinventory

xp_sqlregister

xp_sqltrace

xp_sscanf

xp_startmail

xp_stopmail

xp_subdirs

xp_unc_to_drive

xp_dirtree

sp_sdidebug

xp_availablemedia

xp_cmdshell

xp_deletemail

xp_dirtree

xp_dropwebtask

xp_dsninfo

xp_enumdsn

xp_enumerrorlogs

xp_enumgroups

xp_enumqueuedtasks

xp_eventlog

xp_findnextmsg

xp_fixeddrives

xp_getfiledetails

xp_getnetname

xp_grantlogin

xp_logevent

xp_loginconfig

xp_logininfo

xp_makewebtask

xp_msver

回退方案

新建存储过程将删除的手工建立或恢复备份的数据库

判断依据

调用存储过程,检查是否存在

Exec 存储过程(参数1,参数2)

实施风险

重要等级

备注

​​​​​​​ELK-Mssql-04-01-02

编号

ELK-Mssql-04-01-02

名称

安装补丁

实施目的

为系统打最新的补丁包。

问题影响

数据库的不安全性增加

系统当前状态

select @@version

实施步骤

参考配置操作

select @@version

确保SQL Server的补丁为最新的。下载并安装最新的补丁

SQL Server2000的版本和补丁号对应关系如下:

8.00.194 -------SQL Server 2000 RTM

8.00.384 -------(SP1)

8.00.534 -------(SP2)

8.00.760 -------(SP3)

8.00.2039-------(SP4)

回退方案

判断依据

微软自动升级工具查看未安装补丁

实施风险

重要等级

备注

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kafka的存储机制和可靠性

文章目录 前言一、Kafka 存储选择二、Kafka 存储方案剖析三、Kafka 存储架构设计四、Kafka 日志系统架构设计4.1、Kafka日志目录布局4.2、Kafka磁盘数据存储 五、Kafka 可靠性5.1、Producer的可靠性保证5.1.1、kafka 配置为 CP(Consistency & Partition tolerance)系统5.1.…

Pandas进阶:transform 数据转换的常用技巧

引言 本次给大家介绍一个功能超强的数据处理函数transform,相信很多朋友也用过,这里再次进行详细分享下。 transform有4个比较常用的功能,总结如下: 转换数值 合并分组结果 过滤数据 结合分组处理缺失值 一. 转换数值 pd.…

Linux常用命令——mv命令

文章目录 1. 简介2. 命令格式3. 主要参数4. 常见用法及示例4.1 移动文件4.2 重命名文件4.3 交互式移动文件4.4 强制移动文件4.5 移动多个文件4.6 使用通配符移动文件 5. 注意事项6. 结论 1. 简介 mv 命令在Linux系统中用于移动文件或目录,同时也可以用于重命名文件…

解决antd upload自定义上传customRequest,上传时一直loading加载的问题

问题&#xff1a;antd自定义上传customRequest时&#xff0c;无法正常显示上传成功状态&#xff0c;一直在上传的loading状态中。 查看customRequest参数 解决方法&#xff1a;调用onSuccess事件&#xff0c;解决loading一直加载的问题。 <template><a-uploadref&q…

cmake和vscode 下的cmake的使用详解(一)。

本文的内容 参考如下内容。 1.【基于VSCode和CMake实现C/C开发 | Linux篇】https://www.bilibili.com/video/BV1fy4y1b7TC?vd_source0ddb24a02523448baa69b0b871ab50f7 2.Notion – The all-in-one workspace for your notes, tasks, wikis, and databases. 3.关于如何利用…

11.30_黑马Redis实战篇分布式锁

实战篇9 设立一个在jvm外的锁监视器&#xff0c;可以处理多线程的问题 实战篇10 获取锁的时候&#xff0c;要同时发生获取锁以及设置到期时间。 实战篇11 thinking&#xff1a;JAVA中的自动拆箱与装箱&#xff1f; 【Java基础】自动拆装箱_Elephant_King的博客-CSDN博客 TR…

SQL Sever 基础知识 - 数据筛选

SQL Sever 基础知识 - 四、数据筛选 四、筛选数据第1节 DISTINCT - 去除重复值1.1 SELECT DISTINCT 子句简介1.2 SELECT DISTINCT 示例1.2.1 DISTINCT 一列示例1.2.2 DISTINCT 多列示例 1.2.3 DISTINCT 具有 null 值示例1.2.4 DISTINCT 与 GROUP BY 对比 第2节 WHERE - 过滤查询…

笔记64:Bahdanau 注意力

本地笔记地址&#xff1a;D:\work_file\&#xff08;4&#xff09;DeepLearning_Learning\03_个人笔记\3.循环神经网络\第10章&#xff1a;动手学深度学习~注意力机制 a a a a a a a a a a a

C语言--有三个字符串,要求找出其中长度最大的那一个

一.题目描述 有三个字符串&#xff0c;要求找出其中长度最大的那一个。 比如&#xff1a;输入三个字符串是&#xff1a; 第一个字符串:hello 第二个字符串&#xff1a;worldasd 第三个字符串&#xff1a;abcd 输出&#xff1a;最长的字符串是&#xff1a;worldasd 二.思路分析…

井盖位移报警器安装,智能化井盖厂家推荐

当井盖发生位移或倾斜时&#xff0c;通常会引起所处道路的安全隐患&#xff0c;给过往的车辆和行人带来许多潜在的危险。为了避免潜在的安全事故频繁出现&#xff0c;及时发现并处理井盖位移或倾斜才能更好的保障人民的安全。因此安装井盖位移报警器是满足政府和市民需求的。 单…

边缘计算网关:智能制造的“智慧大脑”

一、智能制造的崛起 随着科技的飞速发展&#xff0c;智能制造已经成为了制造业的新趋势。智能制造不仅能够提高生产效率&#xff0c;降低生产成本&#xff0c;还能够实现个性化定制&#xff0c;满足消费者多样化的需求。然而&#xff0c;智能制造的实现离不开大量的数据处理和分…

智能优化算法应用:基于鸽群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鸽群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鸽群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鸽群算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

ARM与大模型,狭路相逢

编辑&#xff1a;阿冒 设计&#xff1a;沐由 从去年底至今&#xff0c;伴随着OpenAI旗下ChatGPT的火爆&#xff0c;一波AI大模型推动着AI应用全面进入了大模型时代。与此同时&#xff0c;随着边缘算力的提升&#xff0c;AI大模型的部署也逐渐从云端涉入到边缘。 世界对AI算力的…

cpu飙高问题,案例分析(三)——非标导入引发CPU彪高,与RateLimiter限流

一、背景 非标导入使用easyexcel组件进行导入处理&#xff0c;10几万的数据量引发CPU彪高。 二、排查思路 查看线程栈相关信息&#xff1b;pinpoint监控查看性能及代码调用情况&#xff1b;是否存在大量阻塞慢SQL&#xff1b;是否存在短时间内频繁日志输出&#xff1b; 三、…

element中el-form-item设置label-width=‘auto‘报错

文章目录 一、问题二、解决三、最后 一、问题 el-form中的设置了全局标题宽度是200px&#xff0c;此时想要对el-form-item取消标题宽度&#xff0c;设置了label-widthauto&#xff0c;结果&#xff0c;报错了~~~ <el-form label-width"200px" label-position&quo…

echarts 地图

效果图 业务组件 <template><mapEcharts :itemStyle"mapProps.itemStyle" :emphasisLabelStyle"mapProps.emphasisLabelStyle":emphasisItemStyle"mapProps.emphasisItemStyle" :labelInfo"mapProps.labelInfo":rippleEffec…

类和对象——(3)再识对象

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 你说那里有你的梦想&#xff0c;…

Git常用命令#merge分支合并

要查看所有分支&#xff0c;包括本地和远程仓库的分支&#xff0c;可以使用以下命令&#xff1a; 1.查看分支 1.1 查看本地分支 git branch这个命令会列出本地所有的分支&#xff0c;当前所在的分支会有 * 标记。 1.2 查看远程分支 git branch -r这个命令会列出远程仓库的分…

RAM++(recognize anything++)—— 论文详解

一、概述 1、是什么 RAM&#xff08;RAM plus plus&#xff09;论文全称 《Open-Set Image Tagging with Multi-Grained Text Supervision》。区别于图像领域常见的分类、检测、分割&#xff0c;他是标记任务——多标签分类任务&#xff08;一张图片命中一个类别&#xff09;&…

hutool的bug之 DateUtil.endOfDay(DateUtil.date())

hutool 工具类DateUtil 使用时谨慎 DateUtil.endOfDay 得到的时间保存到数据时会增加一秒 首先比较下时间的long值&#xff1a; 这样就很明显的看出来&#xff0c;hutool工具类的date是毫秒位多了.999,保存到mysql 的时候&#xff0c;MySQL数据库对于毫秒大于500的数据进行…