我要提问
ARTICLE DETAIL

资讯详情

前沿编程新知与开发实战干货的深度解读。

Windows环境安全基线:从账号、网络到数据的完整加固指南

Windows环境安全基线:从账号、网络到数据的完整加固指南 Windows环境安全这件事我看了太多“装个杀毒软件就完事”的做法实际上一台电脑的安全水平并不取决于装了多贵的套装而是取决于你把它暴露出来的攻击面控制得怎么样。这篇内容从账号、网络、系统、数据四个维度完整梳理一遍可落地的安全措施和具体操作步骤适合运维新人、刚接手公司电脑管理的HR或行政同学也适合想让私人电脑更抗造的普通用户。每一条都是我能直接照着做的那种。1. 为什么Windows需要一个“环境安全基线”而不是一堆零散技巧1.1 Windows的真正弱点不在系统本身而在默认配置Windows的安全性在近十年已经有了质的提升默认防火墙开启、内核隔离、内存完整性等机制都很完善。但问题在于很多电脑拿到手之后用户和管理员会为了“方便”而主动把安全机制关掉或者一直停留在出厂状态不去调整。比如默认开启的共享服务、未被修改的默认管理员账户、长时间不更新的补丁状态这些都属于“环境”问题而不是“病毒”问题。环境安全的核心思路是把你对电脑的使用场景固定下来然后在这个场景里尽可能减小攻击面。就好比你住的小区物业再负责你家门不锁、窗户不关那也是白搭。Windows环境安全措施就是要解决“锁门关窗”这层事。1.2 这一套措施解决什么问题很多朋友问装了某某杀毒软件是不是就够了。我的看法是杀毒软件只是事后拦截属于最后一道防线。环境安全措施解决的是更前置的问题——让恶意软件根本进不来、进来了也跑不起来、跑起来了也拿不到关键数据、拿到了也传不走。四个层级对应四类措施下面每一个小节都是围绕这个逻辑展开的。这套措施适合谁如果你正在管理公司里的十几台甚至上百台Windows电脑或者你只是希望把自己家里那台主力机收拾得干净利索接下来的内容都有直接参考价值。我不写那种“点击开始-点击设置”的流水账而是把每一步背后的原因讲清楚这样你遇到新情况也能自己判断怎么处理。2. 账号与登录环节最便宜也最有效的第一道门锁2.1 改名并禁用内置Administrator账户这个动作谁都要做Windows从Vista开始默认禁用了内置的管理员账户日常操作用的是普通账户配合UAC提权。但很多人在安装系统、购买整机时会被引导创建一个用户而有些优化教程会教你启用Administrator——这其实是给自己埋雷。内置Administrator账户的名字是全世界都知道的暴力破解和密码喷洒攻击第一个打的就是它。正确的做法是在“计算机管理 - 本地用户和组 - 用户”中找到Administrator右键设置密码如果已启用然后禁用。创建至少一个属于“管理员组”的普通命名的账户用于日常管理操作。给这个管理员账户设置一个至少14位以上的密码不要用生日、公司名、姓名拼音的组合。注意禁用Administrator不是让你所有操作都输UAC密码而是让攻击者少一个必然存在的入口。日常使用建议再用一个标准用户账户登录后遇到需要管理员权限的操作时再输入管理员账户的密码。2.2 密码策略和账户锁定策略必须调不能靠自觉很多人觉得密码长就行实际上“允许无限次尝试”才是大问题。一个8位纯数字密码在域环境下可能几小时就被暴力跑出来但如果加上锁定策略——5次输错锁30分钟——攻击者就跑不动了。在本地策略里建议这样设置winR输入secpol.msc密码策略密码长度最小值12位密码必须符合复杂性要求启用密码最长使用期限90天账户锁定策略账户锁定阈值5次账户锁定时间30分钟重置账户锁定计数器时间30分钟很多IT管理员不喜欢设90天密码期限嫌麻烦。但从环境安全角度讲密码会通过各类途径泄露周期性更换是无奈的兜底方案。如果你用的是Windows Hello指纹或PIN登录这些策略同样会约束你的PIN设置。2.3 Windows Hello与PIN方便和安全可以不冲突我个人非常推荐给电脑配置Windows Hello PIN或指纹识别。PIN和密码有一个本质区别PIN只对当前设备有效即使PIN泄露攻击者拿这个PIN去别的电脑上也用不了。而账户密码是可以在任意电脑上尝试登录的。设置路径是“设置 - 账户 - 登录选项”把“为了提高安全性仅允许在此设备上使用Microsoft账户的Windows Hello登录”打开。这个选项很多人不知道它会把密码登录关掉只剩下PIN、指纹或人脸等于把远程密码爆破这条路直接堵死了。2.4 屏幕锁定与动态锁人离开了系统就得锁上我见过太多同事去接杯水工位电脑就这么亮着桌面还开着企业微信和邮箱。内部风险其实比外部攻击更难防。Windows提供了两个简单功能屏幕超时锁定设置 - 系统 - 电源 - 屏幕和睡眠插电状态下建议10分钟以内锁定。动态锁设置 - 账户 - 登录选项 - 动态锁勾选“允许Windows在你离开时自动锁定设备”配合手机蓝牙人走开几十秒后电脑自动锁定。对于企业环境还可以通过组策略或Intune统一设置锁屏等待时间。没有域环境就用注册表或者计划任务但这些属于管理端的操作了后面再展开。3. 网络防线关掉不该开的门堵住不该通的管道3.1 认识危险的端口和服务135、139、445、3389Windows的很多功能默认监听端口最常见也最危险的四组135远程过程调用RPC使用的端口很多利用工具会通过它执行远程代码。139/445SMB文件共享端口历史上臭名昭著的勒索软件横向传播就是靠这两个端口。3389远程桌面服务端口是暴力破解的重灾区。如果你根本用不到网络共享和远程桌面最稳妥的方案不是去防火墙里一条条封端口而是直接禁用对应的服务。服务管理器里把Server服务和Remote Desktop Services设置为禁用对应的端口自然就不监听了。如果确实需要远程桌面不要用默认3389端口改成高位端口。这个操作需要修改注册表路径是HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber改成十进制的高位端口号后重启。虽然这不是什么高深的安全措施但能把全球范围的扫描机器人挡掉一大半。3.2 Windows防火墙的三条配置原则Windows Defender防火墙默认是开启的出站默认放行、入站默认阻止除了那些明确添加了规则的程序。但有些软件安装时会自己添加入站规则比如很多国内软件会添加“允许来自局域网的访问”这时候防火墙基本形同虚设。配置防火墙的原则入站规则只放行确有必要暴露的服务和软件其余一律保持默认阻止。把“阻止所有传入连接包括允许的应用”作为一个预设方案在外出连接不可信网络如酒店Wi-Fi时一键开启。出站规则不要轻易去限制除非你已经明确知道某个软件不需要联网。在“高级安全Windows Defender防火墙”里可以新建入站规则并指定程序或端口。比如你可以只允许自己常用的远程控制软件通过特定端口入站而不需要把整个程序的入站连接都放行。3.3 关闭不必要的网络共享断掉横向移动的路家庭网络里很少需要开共享但默认情况下Windows会开启网络发现和文件共享。右键网络图标进入“网络和共享中心 - 更改高级共享设置”把“网络发现”和“文件和打印机共享”都关掉或者至少选择关闭来宾共享。企业内网如果确实需要共享文件夹我的建议是不要开Everyone权限也不要开“来宾或公用网络”共享。把共享权限精确到用户或组并且尽量用“只读”需要写入时单独给一个“写”专用共享目录。共享文件夹的访问日志需要开启方便出现问题后溯源。有一个很实用的自查方法在CMD里输入net share看到默认的IPC$、C$、ADMIN$是正常的隐藏管理共享而你自己创建的共享名会列出来检查一遍别名有没有多余的老共享。3.4 核查当前开放的端口这是我最推荐的自检习惯每隔一段时间我建议执行一次端口排查命令很简单netstat -ano | findstr LISTENING这条命令会把本机所有处于监听状态的端口、对应的PID列出来。然后打开任务管理器找到对应PID看看是哪个进程。看到一个不认识的exe在听一个高位端口就该好好检查一下这个程序是什么、为什么装到了你的机器上。配合这条命令的还有一个思路把所有监听地址写为127.0.0.1的程序默认只有本机可以访问相对安全而0.0.0.0的监听则意味着流量会到达所有网卡接口风险面更大。如果你发现某个不该对外服务的程序监听了0.0.0.0可以通过防火墙入站规则把它拦在外面。4. 系统与软件层面把补丁和权限“伺候”到位4.1 Windows更新不是玄学是安全生命线的核心很长一段时间里“关闭Windows更新”被当成了装机优化必做项。但从安全角度看Windows更新的价值远比那点磁盘空间和启动速度重要。尤其是每个月的“补丁星期二”发布的累积更新包含大量已经公开漏洞的修复不装等于把家门钥匙挂在门口。你不需要关注每一个KB编号只需要做到把更新设置为自动更新不做任何延迟组策略里的“配置自动更新”选“自动下载并安装”。对于公司电脑没法马上大规模更新的可以采用“先测试后推送”的策略但延迟时间不要超过两周。关注微软的“已知问题”页面和本月补丁的已知问题列表对于会影响核心业务的补丁可以做deferral但不能无限期拖。有个很反直觉的认知很多人以为“只要我不乱点就不会中毒”真实世界的漏洞利用很多时候是不需要用户交互的只要你的机器在线、某个端口或服务处于可利用状态攻击就可以发生。补丁解决的就是这类“无交互远程利用”问题。4.2 Defender已经足够强大但你得学会读它的报告微软自带的Microsoft DefenderWindows安全中心在普遍评测中表现已经很好了对个人用户来说不装第三方杀毒软件完全可行。关键是要确认它的实时保护、云交付保护、自动提交样本这几个开关都在开启状态。检查路径“Windows安全中心 - 病毒和威胁防护 - 管理设置”确认以下内容实时保护开云提供的保护开自动提交样本开篡改防护开这个选项防止恶意软件自身去关闭Defender另外要知道查看历史检测结果的位置“保护历史记录”里会列出所有被隔离或阻止的项目。如果某个程序突然无法运行很可能就是Defender把你的破解软件或激活工具给拦了这时候你应该到“保护历史记录”里点“允许”而不是反过来把整个实时保护关掉。4.3 标准用户比管理员用户安全得多这个习惯要养Windows的访问控制模型里管理员权限和标准用户权限差异巨大。日常登录用标准用户账户遇到需要安装软件、修改系统设置时再输入管理员密码来完成UAC提权这样恶意程序默认只能以你的权限运行无法随意修改系统文件和注册表关键项。UAC是在Vista时代引入的但很多人觉得它烦把它滑动条拉到最低甚至直接关掉。我建议你保持默认级别并且在需要的时候不要嫌弹窗麻烦——每一个弹窗都是在问“你真的要让这个程序以管理员权限运行吗”这个确认本身就很有价值。如果你是企业环境可以借助AppLocker或Windows Defender Application Control做白名单控制只有允许的程序才能运行。在家庭环境这个太影响使用体验了但对防勒索来说白名单是效果最好的控制之一。4.4 浏览器与邮件攻击进入电脑最常见的两条路网页浏览器和邮件客户端是恶意代码最主要的投递渠道。不需要在Windows层面做什么配置但有几个习惯很关键浏览器扩展只装官方商店里下载量高、更新频繁的不要装来路不明的破解版扩展。右键另存为下载的文件在打开之前先右键查一下文件属性里的“解除锁定”选项——如果文件来自网络Windows会标记它你确认文件没问题再点“解除锁定”运行。邮件附件尤其是压缩包、Office文档、脚本在环境里做一次扫描再打开。Outlook的附件预览不要开着自动预览恶意OLE对象有时不需要你打开文档就能触发漏洞。前几年流行的宏病毒、脚本病毒现在依然活跃。Office的“受保护的视图”功能会默认在“启用编辑”之前以只读模式打开来自网络的文档这个一定不要关掉。5. 数据保护与恢复预案安全措施的最后一公里5.1 BitLocker电脑丢了不能等于数据丢一台没有加密的Windows笔记本丢了等于数据直接交给捡到的人。硬盘拆下来挂到另一台电脑上就能读取。BitLocker是Windows专业版自带的磁盘加密功能启用后被加密的磁盘在没有密钥的情况下无法读取。启用方法是“控制面板 - BitLocker驱动器加密 - 启用BitLocker”系统会让你选择解锁方式密码、PIN、U盘或自动解锁。家庭用户建议用密码恢复密钥文件保存到另一台设备或打印放好。需要注意BitLocker启用后一定要把恢复密钥保存好否则某天主板损坏或者安全启动配置变动系统会要求输入恢复密钥没有密钥你连自己的数据都拿不回来。有几个前提条件需要注意BitLocker不支持家庭版系统家庭版可以用设备加密Device Encryption登录微软账户后会自动开启。主板要支持TPM 2.0否则BitLocker会用U盘或密码模式功能会受一些限制。对机械硬盘开启BitLocker会影响一定读写性能但对SSD来说基本无感。5.2 3-2-1备份策略至少给重要数据做两条腿走路备份不是把文件复制到U盘里那么机械而是有一套正式策略。信息安全里常说的3-2-1原则是至少3份副本、2种不同存储介质、1份异地存放。具体到Windows个人电脑第一份本机正在用的这份。第二份移动硬盘或NAS上的完整备份。Windows自带的“备份和还原Windows 7”或“文件历史记录”都可以做定时备份不要再手动复制了手动复制永远会漏。第三份云存储比如OneDrive、网盘等存放最核心的文档和照片。这一份在发生火灾、漏水、勒索时能救你。很多勒索软件在加密之前会先删除卷影副本卷影副本可以用于恢复文件所以备份不能只依赖系统还原点。备份位置最好是不常连接的移动硬盘或者具有版本历史功能的云盘。5.3 备份还原演练没演练过的备份等于没有备份这是我反复强调的一点。备份不是做出来给别人看的要能还原才算数。每季度挑一个周末把移动硬盘里的备份文件恢复到一个临时目录或者虚拟机里确认里面的Excel、代码项目、照片能正常打开。等到真出问题再“第一次测试还原”是最糟糕的体验。我见过太多“备份了好几年”的人真丢了文件才发现备份软件报错、备份文件损坏、密码不记得了。养成一个习惯每次做完整备份后随机挑几个文件做一次还原测试花不了几分钟。5.4 配置系统还原点与干净重装的最后预案系统还原点默认会在安装驱动、软件时自动创建你也可以手动创建控制面板 - 系统 - 系统保护 - 创建。这个还原点能帮你解决“最近装了某个东西后系统变得不正常”的问题但它不是安全措施的核心更多是一个快速回滚手段。更彻底的最后预案是准备一个Windows安装U盘和常用离线安装包。一台干净重装后的系统在打完全部补丁之前不要接回公司内网。原因是补丁未打满时这台机器很容易在几分钟内被内网其他机器上的恶意软件再次感染。裸奔上线的机器往往比没装系统的机器更危险。6. 常见问题与排查技巧实录6.1 端口与服务的快速排查命令汇总最后放一个个人很常用的排查工具箱基本能覆盖80%的日常安全自检# 查看所有监听端口及对应进程 netstat -ano | findstr LISTENING # 根据PID反查进程名 tasklist /FI PID eq 1234 # 查看系统计划任务很多后门会藏在计划任务里 schtasks /query /fo table /v # 查看自启动项 reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run # 查看当前Windows更新状态 powershell Get-WindowsUpdate有个Windows的小细节现在自启动项被分散到了好几个地方包括任务计划程序、启动文件夹shell:startup、注册表Run键每一项都值得检查一遍。很多“不知名软件”都是通过计划任务或者服务实现开机自启的任务管理器里的“启动”标签页只显示一部分。6.2 排查实录一台突然变慢的办公电脑这是一次典型的排查流程分享出来给大家参考某同事反馈电脑变慢打开任务管理器发现CPU一直占满有个进程名字叫“syshelper.exe”位置在临时目录下。正常情况下系统进程不会放在临时目录里于是我先结束进程然后把文件用杀毒引擎扫了一遍确认是挖矿程序。继续追查发现它通过计划任务做了持久化每5分钟重新拉起来一次。如果不删除对应的计划任务只结束进程它会反复出现。所以遇到这类情况流程应该是断网→结束进程→删除对应文件→删除计划任务和注册表启动项→全盘扫描→改密码→检查其他机器有无同样感染。排查要点也顺便说一下遇到可疑进程先看路径和签名微软签名的系统进程通常不会随意运行在临时目录。不要只在任务管理器里看进程结合Autoruns这类工具看不签名的启动项更高效。在病毒清除后不要马上恢复网络先观察几分钟看是否再次出现可疑进程。6.3 安全设置不生效的几种常见原因按下面这个顺序检查很多问题都能迎刃而解你改的是本地策略还是组策略如果电脑加入了域域策略会覆盖本地策略你需要联系管理员在域侧修改。防火墙规则存在多个重叠条目时默认顺序是“阻止优先”如果你建了允许规则但前面有更宽的阻止规则结果会被阻止。安全中心提示“已由策略管理”说明对应开关被组策略或第三方工具接管了自己在设置界面点不动是正常的。关闭了UAC后想重新打开必须在注册表里把EnableLUA的值改回1如果只是表面勾选可能不生效。6.4 一个小经验重要文件的防勒索部署思路以我个人的实践来看Windows环境下对付勒索软件最有效的三层防线是第一网络层关闭SMBv1、禁用不必要的共享、收紧入站防火墙让勒索软件无法在局域网里横向扩散。第二权限层日常使用标准账户关键文件夹开启“受控文件夹访问”功能阻止未知程序对文档目录做修改。第三备份层维持3-2-1备份策略并且备份存储与生产环境隔离。这三层配合下来哪怕真的中招了也只是重装系统恢复备份的事不会落到交赎金的地步。受控文件夹访问Controlled folder access在Windows安全中心的“勒索软件防护”里默认是关闭的你要自己添加需要保护的文件夹比如文档、桌面、照片等。开了之后如果某些正规软件想要修改这些文件夹会弹出提示需要你点“允许”。这个功能多少会影响一些日常使用体验但考虑到它在防勒索方面的价值对重要数据目录来说还是值得开的。最后再分享一个实际操作中的体会环境安全措施不是一次性做完就高枕无忧的事。Windows安全更新、账户权限变动、新装软件都会不断改变系统的风险面隔一段时间做一次状态审查是必要的。我自己习惯每季度做一次这份清单式检查确认补丁状态、检查启动项和计划任务、看一下监听端口、顺手测试一次备份还原。整个过程不要半天时间但带来的安心感比任何安全套装都实在。
返回列表