Windows Defender 导致 Web IIS 服务异常停止排查

简介: 某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。

从某一个时间点机器的World Wide Web 发布服务 和 Web 部署代理服务异常停止,导致IIS站点无法使用 ,已确认没有人员主动停止系统服务 ,最近时间是9-14 凌晨0点10分左右 这2个服务停止

检查服务器重启:无重启记录
检查监控是否异常:查看对应时间点基础监控,cpu无波动,内存有小波动下降,外网出带宽有100k左右变化,外网入带宽有1M左右变化,内网入带宽无波动,内网出带宽有大范围波动,磁盘await和util%有大范围波动。

目前到这里可以判断大概率是os内问题

分析Windows日志:查看异常时间点有KB2267602更新,但是Windows更新是禁止的,但系统日志确实是有补丁安装成功的提示

在微软找到这个补丁的说明:https://learn.microsoft.com/zh-cn/answers/questions/3799968/windows-defender-antivirus-kb2267602-1-335-676-0-k

看到是Windows Defender 更新安全补丁,但Windows Defender更新也不会把机器进程停止???

结合上述监控分析
KB2267602更新本身不是直接原因,而是它触发的Windows Defender资源占用行为间接导致了IIS应用程序池回收。

KB2267602 是 Windows Defender 防病毒引擎和病毒定义更新。它不是一个功能性的操作系统补丁,而是提供给Windows Defender的病毒签名库更新。这类更新发布的频率非常高(通常每天一次甚至多次),目的是让Windows Defender能够识别最新的病毒、木马、勒索软件等威胁。

更新本身不直接修改IIS或.NET框架的代码,但它的安装过程会引发Windows Defender服务(MsMpEng.exe)需要重新启动(机器本身不会重启),当Defender重启后会重新扫描,会导致系统环境压力增大,IIS的Windows Process Activation Service (WAS) 会检测到资源超限,并强制回收应用程序池以保护服务器,这就是IIS应用关闭的根本原因。

另外也找到Windows Defender更新机制:Defender服务本身有一个内置的机制,会定期从Microsoft服务器检查并下载最新的定义更新,这个行为相对独立于Windows Update服务。

那就OK了,知道原因了,那后续怎么避免解决?

【解决方案】
阻止Defender更新不推荐,可以使用Defender排除项排除业务路径,避免影响
Windows Defender 是windows sever的防病毒软件,和360添加白名单类似

最简单的排除方案,可以执行powershell命令操作:
例如需要排除iis和.net,找到业务上的对应路径(例如网站目录(如 C:\inetpub\wwwroot\)、应用程序池临时文件目录(通常是 C:\Windows\Microsoft.NET\Framework…\Temporary ASP.NET Files)添加到Windows Defender的实时保护和扫描排除列表。

排除示例:

powershell.exe -Command ‘Set-MpPreference -ExclusionPath “ C:\inetpub\wwwroot", “C:\Windows\Microsoft.NET\Framework…\Temporary ASP.NET Files”‘

查看排除列表:

$WDAVprefs = Get-MpPreference
$WDAVprefs.ExclusionPath
目录
相关文章
|
5月前
|
网络安全 Windows
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
|
9月前
|
移动开发 前端开发 API
鸿蒙web加载本地网页资源异常
在鸿蒙NEXT Api 12中,为解决Web组件加载本地资源(如图片、CSS等)失败的问题,我们采用拦截机制。具体步骤如下: 1. **替换路径**:通过正则表达式将HTML和CSS中的资源路径替换为带有标记的URL(如`http://local`),以便后续识别。 2. **拦截与返回**:在资源加载时,拦截带有标记的URL,读取对应的本地文件并返回给Web组件。此过程确保了本地资源能正确加载和显示。 代码实现包括路径替换、资源拦截及响应构建,确保Web页面能够顺利加载本地资源。
482 7
|
9月前
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
269 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
11月前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
1207 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
1074 4
|
2月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
259 4
|
6月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
6月前
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。
|
前端开发 JavaScript Shell
鸿蒙5开发宝藏案例分享---Web页面内点击响应时延分析
本文为鸿蒙开发者整理了Web性能优化的实战案例解析,结合官方文档深度扩展。内容涵盖点击响应时延核心指标(≤100ms)、性能分析工具链(如DevTools时间线、ArkUI Trace抓取)以及高频优化场景,包括递归函数优化、网络请求阻塞解决方案和setTimeout滥用问题等。同时提供进阶技巧,如首帧加速、透明动画陷阱规避及Web组件初始化加速,并通过优化前后Trace对比展示成果。最后总结了快速定位问题的方法与开发建议,助力开发者提升Web应用性能。
|
6月前
|
JSON 开发框架 自然语言处理
【HarmonyOS Next之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(三)
本文主要介绍了应用开发中的三大核心内容:生命周期管理、资源限定与访问以及多语言支持。在生命周期部分,详细说明了应用和页面的生命周期函数及其触发时机,帮助开发者更好地掌控应用状态变化。资源限定与访问章节,则聚焦于资源限定词的定义、命名规则及匹配逻辑,并阐述了如何通过 `$r` 引用 JS 模块内的资源。最后,多语言支持部分讲解了如何通过 JSON 文件定义多语言资源,使用 `$t` 和 `$tc` 方法实现简单格式化与单复数格式化,为全球化应用提供便利。
262 104