Windows系统安全加固——从基础到进阶的实战配置

Windows系统安全加固------从基础到进阶的实战配置

作为网络安全技术人员,Windows系统的安全加固是我们日常工作中绕不开的任务。无论是服务器还是个人工作站,未经加固的Windows系统往往存在大量安全风险,如弱口令、默认共享、高危服务、未打补丁的漏洞等。本文结合我多年的一线安全运维经验,整理了一套系统化的Windows安全加固方法,覆盖账户、网络、服务、权限、日志等多个层面,并提供具体的命令行、组策略配置及脚本,希望能帮助你构建更安全的Windows环境。

一、账户安全加固(最关键)

账户是系统的第一道防线,攻击者往往通过暴力破解或弱口令入侵。以下是账户层面的基础加固措施:

1. 重命名内置管理员账户

默认的 Administrator 账户是攻击者的首要目标,重命名可有效降低被爆破的风险。

cmd 复制代码
wmic useraccount where "name='Administrator'" call rename "Admin_N"

(将 Admin_N 替换为你自定义的名称,避免使用 admin、root 等常见词)

2. 禁用 Guest 来宾账户

Guest 账户默认禁用,但需确认其状态,防止被意外启用。

cmd 复制代码
net user Guest /active:no

3. 开启账户锁定策略(防暴力破解)

通过组策略或命令行设置账户锁定阈值,使攻击者在尝试多次失败后账户被锁定。

cmd 复制代码
net accounts /lockoutthreshold:5      # 5次失败后锁定
net accounts /lockoutduration:15      # 锁定15分钟
net accounts /lockoutwindow:10        # 在10分钟内计数失败次数
net accounts /maxpwage:90              # 密码最长使用90天

注:/lockoutwindow 必须小于等于 /lockoutduration,建议设置为10分钟。

4. 定期审计所有账户

使用 net user 查看当前所有本地账户,发现可疑账户立即禁用或删除。

cmd 复制代码
net user

同时检查管理员组成员:

cmd 复制代码
net localgroup administrators

二、共享与服务安全:关闭默认共享和高危服务

Windows默认开启的管理共享(C、D、D、D、ADMIN、IPC、IPC、IPC)是常见的后门入口,必须关闭。此外,SMB1、Telnet等服务因历史漏洞频发,也应彻底禁用。

1. 关闭默认共享(一次性删除)

cmd 复制代码
net share C$ /delete
net share D$ /delete
net share ADMIN$ /delete
net share IPC$ /delete

注意:重启后共享可能重新开启,需通过注册表永久禁用:

cmd 复制代码
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v AutoShareWks /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v AutoShareServer /t REG_DWORD /d 0 /f

2. 禁用高危服务

  • SMB1.0协议 (永恒之蓝漏洞根源)

    cmd 复制代码
    dism /online /disable-feature /featurename:SMB1Protocol /norestart
  • Telnet客户端/服务端 (明文传输,极度危险)

    cmd 复制代码
    dism /online /disable-feature /featurename:TelnetClient
    dism /online /disable-feature /featurename:TelnetServer
  • 远程注册表服务 (防止远程修改注册表)

    cmd 复制代码
    sc config remoteregistry start= disabled
    net stop remoteregistry

三、远程桌面(RDP)安全加固

RDP是远程管理的常用方式,也是攻击者最常扫描的入口之一。加固建议如下:

1. 限制仅允许管理员组远程登录

默认情况下,RDP会允许所有属于"Remote Desktop Users"组的用户登录,应将此组清空。

cmd 复制代码
net localgroup "Remote Desktop Users" /delete

确保只有管理员组(Administrators)拥有远程登录权限(可在本地安全策略中进一步控制)。

2. 查看RDP是否开启

cmd 复制代码
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

返回 fDenyTSConnections REG_DWORD 0x0 表示RDP已开启(0允许,1禁止)。

3. 修改默认RDP端口(可选,防扫描)

将默认的3389端口改为其他高位端口,可有效绕过批量扫描。

cmd 复制代码
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 3390 /f

修改后需在防火墙中放行新端口,并重启系统或TermService服务。

四、防火墙加固:最小化放行原则

Windows防火墙是系统内置的屏障,必须启用并配置为默认阻止。

1. 开启防火墙

cmd 复制代码
netsh advfirewall set allprofiles state on

2. 设置默认入站规则为阻止

cmd 复制代码
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound

3. 放行业务所需端口(示例:RDP和Web)

cmd 复制代码
netsh advfirewall firewall add rule name="允许RDP" dir=in action=allow protocol=TCP localport=3389
netsh advfirewall firewall add rule name="允许WEB" dir=in action=allow protocol=TCP localport=80,443

建议进一步限制来源IP(如只允许公司VPN网段):

cmd 复制代码
netsh advfirewall firewall add rule name="允许RDP-公司VPN" dir=in action=allow protocol=TCP localport=3389 remoteip=192.168.1.0/24

五、系统功能与权限:精细化控制

1. 关闭自动播放(防U盘病毒)

cmd 复制代码
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 255 /f

2. 开启审核策略(记录关键操作)

通过命令行启用登录/注销、策略更改、账户管理等审核。

cmd 复制代码
auditpol /set /category:"Logon/Logoff" /success:enable /failure:enable
auditpol /set /category:"Policy Change" /success:enable /failure:enable
auditpol /set /category:"Account Management" /success:enable /failure:enable
auditpol /set /category:"Privilege Use" /success:enable /failure:enable

3. 限制普通用户查看事件日志(可选)

cmd 复制代码
wevtutil sl Security /ca:O:BAG:SYD:(A;;0xf0007;;;SY)(A;;0x7;;;BA)

此命令设置安全日志仅允许SYSTEM和本地管理员组访问。

六、网络安全:协议强化与攻击防护

1. 禁用LM Hash和NTLMv1(使用更安全的NTLMv2)

LM和NTLMv1极易被破解,应强制使用NTLMv2。

cmd 复制代码
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LMCompatibilityLevel /t REG_DWORD /d 5 /f

值说明:

  • 5 = 仅发送NTLMv2响应,拒绝LM和NTLM
  • 也可设为3(仅发送NTLMv2,但接受LM/NTLM)

2. 开启SYN攻击防护

cmd 复制代码
netsh interface tcp set global synattackprotection=enabled

此选项可缓解部分DDoS攻击,但可能影响正常大流量连接,需结合实际评估。

3. 清空ARP缓存(防止ARP欺骗后残留)

cmd 复制代码
arp -d *

建议在安全事件响应后执行,日常无需频繁操作。

七、一键安全检查脚本

为了方便日常巡检,我编写了一个批处理脚本,可快速收集系统关键安全状态。保存为 SecurityCheck.bat 并右键以管理员运行。

batch 复制代码
@echo off
chcp 65001 >nul
echo ========== 系统安全检查 ==========
echo [1] 管理员组成员
net localgroup administrators
echo.
echo [2] 所有本地用户
net user
echo.
echo [3] 当前共享
net share
echo.
echo [4] 防火墙状态
netsh advfirewall show allprofiles
echo.
echo [5] 远程桌面状态
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
echo.
echo [6] 登录审核策略
auditpol /get /category:"Logon/Logoff"
echo.
pause

八、组策略深度加固(gpedit.msc)

组策略是Windows安全配置的核心,可统一管理大量安全设置。建议重点配置以下项目:

1. 密码策略(计算机配置 → Windows设置 → 安全设置 → 账户策略 → 密码策略)

  • 密码长度最小值:12 个字符
  • 密码必须符合复杂性要求:启用
  • 密码最短使用期限:1
  • 密码最长使用期限:90
  • 强制密码历史:5 个记住的密码

2. 账户锁定策略

  • 账户锁定阈值:5 次无效登录
  • 账户锁定时间:15 分钟
  • 重置账户锁定计数器:10 分钟之后

3. 安全选项(计算机配置 → Windows设置 → 安全设置 → 本地策略 → 安全选项)

  • 账户:来宾账户状态 → 禁用
  • 用户账户控制:以管理员批准模式运行所有管理员 → 启用
  • 交互式登录:不显示最后的用户名 → 启用
  • 网络安全:LAN Manager 身份验证级别 → 仅发送 NTLMv2 响应(对应 LMCompatibilityLevel 5)
  • 交互式登录:无须按 Ctrl+Alt+Del → 禁用(服务器建议启用安全登录)
  • 设备:防止用户安装打印机驱动程序 → 启用

4. 高级审核策略(计算机配置 → Windows设置 → 安全设置 → 高级审核策略配置)

建议启用以下类别的审核(成功和失败):

  • 登录/注销
  • 特权使用
  • 策略更改
  • 账户管理
  • 详细跟踪(如进程创建)

九、本地安全策略(secpol.msc)要点

本地安全策略与组策略类似,但更聚焦安全基线。打开 secpol.msc 可快速配置:

  • 禁止空密码登录(安全选项:账户:使用空密码的本地账户只允许进行控制台登录 → 已启用)
  • 限制远程桌面用户(本地策略 → 用户权限分配 → 允许通过远程桌面服务登录,仅保留管理员组)
  • 关闭 SMB1(可通过注册表或组策略)
  • 启用 UAC 最高级别(用户账户控制:管理员批准模式)

十、高级防火墙配置(wf.msc)

运行 wf.msc 打开高级安全 Windows 防火墙,可创建更精细的规则:

  • 入站规则默认阻止,仅放行业务端口(如 80,443,3389 且限制来源IP)
  • 阻止 ICMP(防止 Ping 扫描):新建规则 → 自定义 → 协议类型 ICMPv4 → 阻止连接
  • 限制 IPC$ 连接:可创建阻止 TCP 445 端口的规则(视业务需求,若不需要文件共享则可直接阻止)
  • 阻止匿名用户访问:通过防火墙规则限制特定用户或安全组

十一、服务加固(services.msc)

禁用以下高危或无用服务(生产服务器需谨慎评估依赖关系):

  • Telnet (tlntsvr)
  • Remote Registry (RemoteRegistry)
  • Server (LanmanServer) -- 若不需要文件共享,可禁用此服务(注意会影响默认共享)
  • Print Spooler (Spooler) -- 若非打印服务器,建议禁用
  • Windows Update (wuauserv) -- 生产服务器可设置为手动,并定期通过WSUS或手动更新
  • Diagnostic Policy Service (DPS)
  • UPnP Device Host (upnphost)
  • Fax Service (Fax)
  • Bluetooth 相关服务(非必要)

十二、IIS/Web服务器专项安全

如果服务器承载 Web 服务,必须对 IIS 进行额外加固:

  • 禁用目录浏览:在 IIS 管理器中,选择站点 → 目录浏览 → 禁用
  • 限制 HTTP 方法:只允许 GET、POST、HEAD,禁用 PUT、DELETE、TRACE 等(通过请求筛选)
  • 隐藏版本头:移除 Server 和 X-Powered-By 字段(可安装 URL 重写模块或修改注册表)
  • 强制 HTTPS:配置 SSL 证书,并启用 HTTP 重定向到 HTTPS
  • 禁用弱加密套件:在注册表或 IIS 中禁用 SSL 2.0/3.0、TLS 1.0/1.1,仅保留 TLS 1.2/1.3
  • 限制上传目录执行权限:将上传目录的脚本执行权限设置为"无"
  • 开启请求过滤:限制 URL 长度、查询字符串、文件大小等,防止 Dos 攻击

十三、注册表安全加固要点

以下注册表项建议重点检查(可通过组策略或直接修改):

  • 关闭默认共享HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters → AutoShareServer、AutoShareWks = 0
  • 禁用 SMB1HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters → SMB1 = 0(同时需通过 dism 移除功能)
  • 禁止可移动存储访问HKLM\SOFTWARE\Policies\Microsoft\Windows\RemovableStorageDevices → 设置 Deny_All = 1
  • 禁止自动播放HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer → NoDriveTypeAutoRun = 0xFF
  • 强化 RDP 安全HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp → 修改 PortNumber、设置 SecurityLayer 等
  • 禁止普通用户查看事件日志:如前文 wevtutil 命令
  • 强化 NTLMv2HKLM\SYSTEM\CurrentControlSet\Control\Lsa → LMCompatibilityLevel = 5,RestrictSendingNTLMTraffic = 1 等

十四、系统补丁与漏洞防护

  • 及时安装安全补丁:定期运行 Windows Update,或使用 WSUS/SCCM 管理补丁。重点关注高危漏洞(如永恒之蓝、PrintNightmare、ZeroLogon)的补丁。
  • 关闭高危端口:通过防火墙阻止 445(SMB)、135(RPC)、137-139(NetBIOS)等端口的入站连接,除非业务需要。
  • 启用 DEP 和 ASLR :这些是系统级的漏洞利用缓解技术,默认已开启,可通过 bcdedit /set nx AlwaysOn 确保 DEP 强制开启。
  • 安装反病毒软件:Windows Defender 已足够,但需确保实时保护开启,并定期更新病毒库。

十五、NTFS 权限最小化

  • 磁盘根目录权限:普通用户不应拥有修改权限,建议仅 SYSTEM 和管理员完全控制,Users 组只读。
  • 网站目录:仅给 IIS 应用程序池身份读取和执行权限,禁止写入(除上传目录外),上传目录应单独设置无脚本执行权限。
  • 系统敏感目录:禁止普通用户访问 C:\Windows\System32\config 等。
  • 删除 Everyone 权限:除非必要,否则不应存在 Everyone 完全控制。

十六、远程访问安全最佳实践

  • RDP 限制来源 IP:结合防火墙,仅允许堡垒机或 VPN 的 IP 访问 RDP 端口。
  • 使用 RDP 证书认证:配置 TLS 1.2+ 的 RDP 证书,防止中间人攻击。
  • 禁用空密码远程登录:通过组策略启用"账户:使用空密码的本地账户只允许进行控制台登录"。
  • 启用双因素认证:若条件允许,可通过堡垒机、AD 域结合智能卡或动态令牌实现双因素登录。
  • VPN + 堡垒机:所有远程管理必须先接入 VPN,再通过堡垒机跳转,堡垒机审计所有操作。

十七、日志与审计(满足等保要求)

  • 开启关键日志:安全日志、系统日志、应用程序日志大小建议设为 100MB 以上。
  • 日志覆盖策略:设置为"覆盖事件为必要时"(即按需覆盖,或存档后覆盖),确保日志不丢失。
  • 启用登录失败日志:审核登录失败事件。
  • 定期备份日志:将日志发送至远程日志服务器(如 Syslog、SIEM),防止被入侵者清除。
  • 监控管理员操作:对管理员组成员的所有操作进行审核和记录。

十八、企业级管理工具推荐

日常维护中,熟练使用以下 MMC 管理单元可极大提升效率:

命令 管理单元 用途
gpedit.msc 本地组策略编辑器 配置密码、锁定、安全选项
secpol.msc 本地安全策略 安全基线设置
wf.msc 高级安全 Windows 防火墙 精细防火墙规则
services.msc 服务管理器 启用/禁用服务
lusrmgr.msc 本地用户和组 管理账户
eventvwr.msc 事件查看器 查看日志
compmgmt.msc 计算机管理 整合多个工具
iis.msc Internet 信息服务管理器 IIS 配置
diskmgmt.msc 磁盘管理 磁盘分区

结语

Windows 系统安全加固不是一次性的工作,而是一个持续改进的过程。上述措施覆盖了从账户、网络、服务到日志的各个层面,能够有效提升系统的整体安全性。在实际操作中,请务必先在测试环境验证,确保不影响业务正常运行。同时,保持对最新漏洞和安全公告的关注,及时更新加固策略。

希望这篇指南能为你提供实用的参考,构建更加安全的 Windows 环境。如有不同见解或补充,欢迎交流讨论。

(本文基于个人经验及公开资料整理,仅供参考。)

相关推荐
BullSmall7 小时前
第三方软件安全-Dependency‑Track Docker 部署
安全·docker·容器
AImatters8 小时前
国产算力底座,支撑油气储运数字化迈过关键分水岭
安全·cpu·算力·海光·油气储运
叠叠乐11 小时前
中国移动家庭云电脑window关闭所有安全脚本
安全
Jmyd012311 小时前
实训室的 3D 模型涉及肖像文物,数据安全与合规怎么做?
安全·3d·数据安全·虚拟实训
芯盾时代11 小时前
《金融业网络安全管理办法(征求意见稿)》全条款深度拆解(三)
网络·安全·网络安全
敢敢是只喵i12 小时前
一个本地 AI Agent 要操作多个门店或 SaaS 账号,应该怎样安全切换身份?
人工智能·安全·ai·系统架构·业界资讯
Acrel123413 小时前
DC800V 大规模落地,算力机房安全该如何保障
安全
jyOverQ13 小时前
ChatGPT Windows 客户端点击无反应、有进程却没窗口?一次 MSIX 非系统盘启动卡死的完整排查
windows·chatgpt
其实防守也摸鱼13 小时前
权限提升与横向移动:从内网渗透到域控的完整技术图谱
运维·服务器·数据库·安全·github·copilot·渗透
深圳海导科技14 小时前
资产防盗追踪系统:物联网高价值资产安全管理|海导科技navynav
科技·物联网·安全