SMB Signing not Required
1. 漏洞报告
2. 漏洞介绍
SMB是一个协议名,全称是Server Message Block(服务器消息快协议),用于在计算机间共享文件、打印机、串口等,电脑上的网上邻居由它实现。SMB签名是SMB协议中的安全机制,也称为安全签名。SMB签名旨在帮助提高SMB协议的安全性,为了防止在传输过程中修改SMB数据包,SMB协议支持SMB数据包的数字签名。所有Windows操作系统都支持客户端SMB组件和服务器端SMB组件。要利用SMB数据包签名,通信中涉及的客户端SMB组件和服务器端SMB组件必须启用或需要SMB数据包签名。如果服务器启用此设置,Microsoft网络服务器将不与Microsoft网络客户端通信,除非该客户端同意执行SMB数据包签名。同样,如果需要客户端SMB签名,则该客户端将无法与未启用数据包签名的服务器建立会话。默认情况下,在工作站,服务器和域控制器上启用客户端SMB签名。
SMB签名在性能上有一些权衡。如果网络性能对部署方案很重要,建议您不要使用SMB签名;如果要在高度安全的环境中使用SMB,建议您使用SMB签名。当启用SMB签名时,SMB将停止使用RDMA远程直接数据存取,因为最大MTU限制为1,394字节,这会导致邮件碎片和重组,并降低整体性能。
3. 漏洞危害
SMB服务上不需要签名。未经身份验证的远程攻击者可以利用此攻击对SMB服务器进行中间人攻击。
4. 漏洞检测
# 返回有关SMB确定的SMB安全级别的信息
nmap -sS -sV -Pn -p 445 --script="smb-security-mode" 127.0.0.1
# 确定SMBv2服务器中的邮件签名配置
nmap -sS -sV -Pn -p 445 --script="smb2-security-mode" 127.0.0.1
5. 漏洞修复
1.使用Windows+R快捷键打开运行窗口输入gpedit.msc进入本地组策略编辑器。
2. 依次点击计算机配置>Windows设置>安全设置>本地策略>安全选项。
3. 如果是服务端需要启用SMB签名,请启用Microsoft网络服务器:对通信进行数字签名(始终)。
4. 如果是客户端需要启用SMB签名,请启用Microsoft网络服务器:对通信进行数字签名(如果客户端允许)。
5. 管理员运行cmd输入gpupdate /target:computer,是修改后的策略生效。
6. 漏洞验证。
原文地址:https://www.cnblogs.com/dmly/p/11547219.html
- 无限级分类(非递归算法/存储过程版/GUID主键)完整数据库示例_(3)删除记录
- 部署Zipkin分布式性能追踪日志系统的操作记录
- 无限级分类(非递归算法/存储过程版/GUID主键)完整数据库示例_(4)显示记录
- Android 2.x中使用actionbar - Actionbarsherlock (2)
- python读txt和xml
- 让Jexus支持高并发请求的优化技巧
- 数据压缩算法LZO (C#)
- Html之初体验
- 基于Wolfpack开发业务监控系统
- Android 2.x中使用actionbar - Actionbarsherlock
- Python-操作Memcache、Redis、RabbitMQ、
- 推荐[搜索引擎架构]的几篇文章
- 中小型商城系统中的分类/产品属性/扩展属性的数据库设计
- Linux下FTP虚拟账号环境部署总结
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- HTML 元素标签语义化及使用场景
- 共享内存原理与VCS监控采集实战
- Spark中的聚类算法
- 【Linux_Shell 脚本编程学习笔记六、shell的数值运算】
- Java自动化测试(adb常用命令 32)
- 前端学习计算机理论知识的好处
- 【Vue 学习笔记 一、Vue开发环境搭建】
- Vue 图片上传组件(base64 版):vue-upload-imgs
- 三、运行时的动态常量(学习笔记)
- Vue Cli 3 打包配置--自动忽略 console.log 语句
- git 常用命令介绍
- PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)
- PAT (Basic Level) Practice (中文)1047 编程团体赛 (20 分)
- Vue中computed分析
- 半小时搞懂 HTTP、HTTPS和HTTP2