[TOC]

0x00 前言简述

描述: 由于最近工作和学习的需要就将针对于Windows系统的一些安全配置做了如下记录,便于后期的知识结构化,并在后续的工作继续进行添加安全加固的一些技巧,同时希望广大的大佬也能多多扩充安全加固配置项,可以通过邮箱、博客、以及公众号联系我。

基础纲要

本章主要纲要:

  • 1)
  • 2)
  • 3) Windows Server 安全基线关键项
  • 4) Windows Server 安全基线检查与设置脚本编写


适用环境

适用范围:
Windows Server 2012 / Windows Serve 2008 R2 / Windows Serve 2016 / Windows Serve 2019

基于等保三级,大致分为身份鉴别、访问控制、安全审计、资源控制、入侵防范、恶意代码防范、剩余信息保护这7个方面

参考学习

参考标准:

  • 1)《电信网和互联网安全防护基线配置要求及检测要求操作系统》(YD/T2701-2014)
  • 2)

0x01

0x02 安全基线关键项

1) 主机安全

1.1 系统账户

1.1.1 优化账号

  • 操作目录:

    a) 减少或者不启用系统无用账号,降低风险
    b) 建立一个普通权限的用户
    c) 防止账户被爆破通杀

  • 检查方法 : 开始->运行->compmgmt.msc(计算机管理)->本地用户和组

    1.查看是否有无关账号例如临时账户以及Guest账户、测试账户、共享账户
    2.系统账号所属组是否正确以及guest账号是否是锁定
    3.查看是否存在普通权限用户有长期不使用的
    4.每台PC或者服务器密码设置不能一致

  • 加固方法:

    1
    2
    3
    使用"net user 用户名 /del"命令删除账号
    使用"net user 用户名 /active:no" 命令锁定账号
    使用"net user 新用户名 密码 /add" 命令添加账号
  • 回退方案: 添加删除账户或者激活锁定账户。


1.1.2 账户用户组调整

  • 操作目的:

    a) 更改系统默认的管理员账号与来宾用户,使攻击者无法得到正确的用户名,从而使其破解撞库成本增加

  • 检查方法: 使用”net user”查看当前用户列表

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    用户名                 WeiyiGeek
    全名
    注释
    用户的注释
    国家/地区代码 000 (系统默认值)
    帐户启用 Yes
    帐户到期 从不

    上次设置密码 2020/4/17 10:38:56
    密码到期 从不
    密码可更改 2020/4/17 10:38:56
    需要密码 No
    用户可以更改密码 Yes

    允许的工作站 All
    登录脚本
    用户配置文件
    主目录
    上次登录 2021/5/23 9:10:30

    可允许的登录小时数 All

    本地组成员 *Administrators *docker-users
    全局组成员 *None
    命令成功完成。
  • 加固方法: 按下[Win+R] -> 运行 -> 输入secpol.msc -> 本地策略 -> 安全选项

    1
    2
    1.帐户:重命名来宾帐户:更改guest帐号为guester
    2.帐户:重命名系统管理员帐户:更改Administrator帐号为WeiyiGeek(自定义即可)
  • 回退方案: 更改回来宾为guest帐号,更改管理员账户为Adminstrator 账号

  • 备注说明: 更改后管理员的登陆账号变成了WeiyiGeek而非原来的Adminstrator。


1.1.3 账号口令策略调整

  • 操作目的:

    a) 按照《网络安全等级保护基本要求》 进行调整增强口令的复杂度及锁定策略等降低被暴力破解的可能性
    b) 按照《电信网和互联网安全防护基线配置要求及检测要求操作系统》(YD/T2701-2014) 进行调整

  • 检查方法:

    方式1.开始->运行[win + R]->secpol.msc (本地安全策略)->安全设置
    方式2.执行 secedit /export /cfg config.cfg /quiet 命令查看系统配置

  • 加固方法: 加固后需要执行gpupdate /force使策略立即生效

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 1.账户设置->密码策略 ->
    * 密码必须符合复杂性要求:启用
    * 密码长度最小值:8个字符 (建议12位以上)
    * 密码最短使用期限:2天
    * 密码最长使用期限:90天
    * 强制密码历史:1个记住密码
    * 用可还原的加密来存储密码:已禁用

    # 2.账户设置->账户锁定策略 ->> 应启用登录失败处理功能,可采取结束会话、限制登录间隔、限制非法登录次数和自动退出等措施
    * 重置帐户锁定计数器:30 分钟
    * 帐户锁定时间:30 分钟
    * 帐户锁定阀值:6 次无效登录
WeiyiGeek.账号口令策略

WeiyiGeek.账号口令策略

  • 备注说明:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    # - 1.密码策略为:密码至少包含以下四种类别的字符中的2种:
    英语大写字母 A, B, C, … Z
    英语小写字母 a, b, c, … z
    西方阿拉伯数字 0, 1, 2, … 9
    非字母数字字符,如标点符号,@, #, $, %, &, *等

    # - 2.密码策略用于 secedit 命令导入的系统策略配置文件使用(参考)
    [+]确保强制密码历史值为5或更高
    PasswordHistorySize=5
    [+]确保密码最长使用期限值为90天或更少,但不为0
    MaximumPasswordAge=90
    [+]确保密码最短使用期限值为1或更多
    MinimumPasswordAge=1
    [+]确保密码必须符合复杂性要求值为enabled
    PasswordComplexity=1
    [+]确保用可还原的加密来存储密码值为Disabled
    ClearTextPassword=0
    [+]确保密码长度最小值值为8或更高建议12位以上
    MinimumPasswordLength=8
    1.2 账户锁定策略
    [+]确保账户锁定时间值为15分钟或更长
    LockoutDuration=15
    [+]确保账户锁定阈值值为5或更少,但不为0
    LockoutBadCount=6
    [+]确保重置账户锁定计数器值为15分钟或更多,但值要小于Account lockout duration的值
    ResetLockoutCount=15

1.2 访问控制

1.2.1 管理权限控制

  • 操作目的:

    a) 应启用访问控制功能,依据安全策略控制用户对资源的访问
    b) 应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限

  • 检查方法: 开始->运行->secpol.msc (本地安全策略)->安全设置,在"本地策略->用户权限分配":查看"关闭系统"设置是否为只指派给"Administrtors组"

  • 加固方法: 开始->运行->secpol.msc (本地安全策略)->安全设置 -> "本地策略->用户权限分配"

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    1.配置“允许本地登录”右击“属性”请根据系统和业务的需要添加用户或组本地登录此计算机

    2.拒绝从本地登录的用户,安装了服务的时候建立的用户即不需要进行登录系统如: IUSR_MACHINENAME, IWAN_MACHINENAME

    3.设置"从网络访问此计算机" 的账户都为授权账户,删除线Everyone用户

    4.“从远端系统强制关机”设置为“只指派给Administrators 组”

    5.“关闭系统”设置为“只指派给Administrators 组”修改为需要

    6.“取得文件或其它对象的所有权”设置为“只指派给Administrators 组”

    7.帐户:使用空密码的本地帐户只允许进行控制台登录: 已启用
WeiyiGeek.管理权限

WeiyiGeek.管理权限

备注说明: 策略修改后需要执行 gpupdate /force 立即生效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# - 1.用户权限分配策略用于 secedit 命令导入的系统策略配置文件使用(参考)
[+]确保作为受信任的呼叫方访问凭据管理器值为空,没有设置任何用户
SeTrustedCredManAccessPrivilege
[+]确保以操作系统方式执行值为空,没有设置任何用户。
SeTcbPrivilege
[+]确保将工作站添加到域值仅为特定的用户或用户组,不能有513,514,515
SeMachineAccountPrivilege
[+]确保创建全局对象值为空
SeCreateGlobalPrivilege
[+]确保拒绝作为批处理作业登录包含Guests
SeDenyBatchLogonRight
[+]确保拒绝以服务身份登录包含Guests
SeDenyServiceLogonRight
[+]确保拒绝本地登录包含Guests
SeDenyInteractiveLogonRight
[+]确保从远程系统强制关机值为administrators本地组和s-1-5-32-549(域控的一个内置组)
SeRemoteShutdownPrivilege
[+]确保修改对象标签值为空
SeRelabelPrivilege
[+]确保同步目录服务数据值为空
SeSyncAgentPrivilege


1.2.2 账户访问限制

  • 操作目的

    a) 限制系统账号从网络访问,通过匿名访问系统资源包括注册表信息等

  • 检查方法: 开始->运行->secpol.msc ->安全设置->本地策略->安全选项

  • 加固方法:

    1
    2
    3
    4
    5
    6
    7
    8
    网络访问:不允许 SAM 帐户的匿名枚举:已启用
    网络访问:不允许 SAM 帐户和共享的匿名枚举:已启用(没域时候)
    网络访问:将 everyone权限应用于匿名用户: 已禁用
    网络访问:不允许储存网络身份验证的凭据: 已启用(没域时候)
    网络访问:可匿名访问的共享: 内容全部删除
    网络访问:可匿名访问的命名管道: 内容全部删除
    网络访问:可远程访问的注册表路径: 内容全部删除
    网络访问:可远程访问的注册表路径和子路径: 内容全部删除
WeiyiGeek.账户访问限制

WeiyiGeek.账户访问限制

  • 回退方案
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    网络访问:不允许 SAM 帐户的匿名枚举:已启用
    网络访问:不允许 SAM 帐户和共享的匿名枚举:已禁用
    网络访问:将 everyone权限应用于匿名用户: 已禁用
    网络访问:不允许储存网络身份验证的凭据: 已禁用
    网络访问:可匿名访问的共享: 为空
    网络访问:可匿名访问的命名管道: 为空

    网络访问:可远程访问的注册表路径:
    System\CurrentControlSet\Control\ProductOptions
    System\CurrentControlSet\Control\Server Applications
    Software\Microsoft\Windows NT\CurrentVersion

    网络访问:可远程访问的注册表路径和子路径:
    System\CurrentControlSet\Control\Print\Printers
    System\CurrentControlSet\Services\Eventlog
    Software\Microsoft\OLAP Server
    Software\Microsoft\Windows NT\CurrentVersion\Print
    Software\Microsoft\Windows NT\CurrentVersion\Windows
    System\CurrentControlSet\Control\ContentIndex

备注说明: 策略修改后需要执行 gpupdate /force 立即生效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# - 1.账户访问策略用于 secedit 命令导入的系统策略配置文件使用(参考)
[+]确保账户:来宾账户状态值为已禁用
EnableGuestAccount=0
[+]确保账户:限制使用空密码的本地账户只能使用控制台登录值为Enabled
MACHINE\System\CurrentControlSet\Control\Lsa\LimitBlankPasswordUse=4,1
[+]配置账户:重命名系统管理员账户
NewAdministratorName=”NewAdministrator”
[+]配置账户:重命名来宾账户
NewGuestName=”NewGuestName”
[+]确保交互式登录:不显示上次登录用户名值为Enabled
MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserName=4,1
[+]确保交互式登录:无须按Ctrl+Alt+Del值为Disabled
MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableCAD=4,0
[+]确保交互式登录:计算机不活动限制值为900秒或更少
MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\InactivityTimeoutSecs=4,900
[+]确保Microsoft 网络客户端: 将未加密的密码发送到第三方 SMB 服务器值为Disabled
MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\EnablePlainTextPassword=4,0
[+]确保Microsoft网络服务器:暂停会话前所需的空闲时间数量值为15分钟或更少,但不为0
MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\AutoDisconnect=4,15
[+]确保网络安全:再下一次改变密码时不存储LAN管理器哈希值值为Enabled
MACHINE\System\CurrentControlSet\Control\Lsa\NoLMHash=4,1
[+]确保网络访问:允许匿名SID/名称转换值为Disabled
LSAAnonymousNameLookup = 0
[+]确保网络访问:不允许SAM账户的匿名枚举值为Enabled
MACHINE\System\CurrentControlSet\Control\Lsa\RestrictAnonymousSAM=4,1
[+]确保网络访问:不允许SAM账户和共享的匿名枚举值为Enabled
MACHINE\System\CurrentControlSet\Control\Lsa\RestrictAnonymous=4,1
[+]确保关机:允许系统在未登录前关机值为Disabled
MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management\ClearPageFileAtShutdown=4,0


1.2.3 用户登录权限

  • 操作目的

    a) 限制用户在使用计算机中的权限,使攻击者增加工具成本和时间从而攻击失败;
    b) 使攻击拿到普通账号密码后无法进行远程桌面登陆以及终端登陆

  • 检查方法: 进入"开始->运行->control userpasswords2"查看是否启用”要是用本机,用户必须输入用户名和密码”选项

  • 加固方法:

    1
    2
    3
    4
    5
    进入“控制面板->管理工具->本地安全策略”->“本地策略->用户权限分配
    1.拒绝通过远程桌面服务登录:选取禁止登陆的用户(业务账号)

    进入“控制面板->管理工具->本地安全策略”->“本地策略-> 安全选项
    2.交互式登录: 计算机帐户阈值设置为5次无效登录尝试
WeiyiGeek.用户登录权限

WeiyiGeek.用户登录权限

备注说明: 策略修改后需要执行 gpupdate /force 立即生效


1.3 安全审计

1.3.1 增强审核策略

  • 操作目的:

    a)对系统事件进行审核,在日后出现故障时用于排查故障
    b)审计范围应覆盖到服务器和重要客户端上的每个操作系统用户和数据库用户;
    c)审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等,并定期备份审计记录,涉及敏感数据的记录保存时间根据等保要求不能少于半年

  • 检查方法: 开始->运行->secpol.msc ->安全设置->本地策略->审核策略

  • 加固方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    建议设置:
    审核策略更改:成功,失败
    审核对象访问:成功,失败
    审核系统事件:成功,失败
    审核帐户登录事件:成功,失败
    审核帐户管理:成功,失败
    审核登录事件:成功,失败
    审核过程跟踪:失败
    审核目录服务访问:失败
    审核特权使用:成功,失败
  • 备注说明: 策略修改后需要执行 gpupdate /force 立即生效

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    # - 1.审计策略用于 secedit 命令导入的系统策略配置文件使用(参考)
    # + 审核系统事件 成功 失败(2)
    AuditSystemEvents = @{value=3;msg="审核系统事件"}
    # + 审核登录事件 成功、失败
    AuditLogonEvents = @{value=3;msg="审核登录事件"}
    # + 审核对象访问 成功、失败
    AuditObjectAccess = @{value=3;msg="审核对象访问"}
    # + 审核特权使用 失败
    AuditPrivilegeUse = @{value=2;msg="审核特权使用"}
    # + 审核策略更改 成功、失败
    AuditPolicyChange = @{value=3;msg="审核策略更改"}
    # + 审核账户管理 成功、失败
    AuditAccountManage = @{value=3;msg="审核账户管理"}
    # + 审核过程追踪 失败
    AuditProcessTracking = @{value=2;msg="审核过程追踪"}
    # + 审核目录服务访问 失败
    AuditDSAccess = @{value=2;msg="审核目录服务访问"}
    # + 审核账户登录事件 成功、失败
    AuditAccountLogon = @{value=3;msg="审核账户登录事件"}
    # + 检查结果存放的空数组

    值的含义:(0)[都不记录] [成功(1)、失败(2)] (3)[成功、失败]
  • 参考地址: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gpsb/01f8e057-f6a8-4d6e-8a00-99bcd241b403


1.3.2 日志记录调整

  • 操作目的

    a) 增大日志量大小,避免由于日志文件容量过小导致日志记录不全;根据等保的要求日志存储必须要在180天以上,建议使用额外的外部硬件来存储日志
    b) 防止日志被清除

  • 检查方法: 开始->运行->eventvwr.msc ->事件查看器,展开"windows日志"查看"应用程序"、"安全"、"系统"的属性

  • 加固方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    开始-> 管理工具 -> 服务
    1.启动“Windows Time服务”,并设置为自启动。

    开始->运行->eventvwr.msc ->事件查看器,展开"windows日志"查看"应用程序""安全""系统"的属性
    2.日志大小设置不小于"8192KB",当前计算机默认设置为20480KB(所以只能大而不能小)
    3.最大的日志尺寸时,“按需要改写事件”(达到日志上限大小时:改写久于180天的事件)

    4.重新设置日志路径防止一些应用程序清理日志(建议放在指定目录中)
    安全日志:%SystemRoot%\System32\Winevt\Security.evtx
    系统日志:%SystemRoot%\System32\Winevt\System.evtx

    开始->运行->secpol.msc->安全设置->本地策略->用户权限分配->管理审核和安全日志
    5.防止日志被普通用户删除将管理审核和安全日志 -> administrators 组删除

    6.禁止用户使用wevtutil命令来清理日志
    WeiyiGeek.日志记录策略

    WeiyiGeek.日志记录策略

  • 回退方案:

    1
    2
    3
    开始->运行->eventvwr.msc ->事件查看器,展开"windows日志"查看"应用程序""安全""系统"的属性
    更改安全日志路径为:%SystemRoot%\System32\Winevt\Logs\Security.evtx
    更改系统日志路径为:%SystemRoot%\System32\Winevt\Logs\System.evtx
  • 备注说明: 策略修改后需要执行 gpupdate /force 立即生效


1.3.3 远程登录日志审计

  • 操作目的:

    a)对登录远程桌面的用户进行设置登录日志留存
    b)记录管理员每次登录的时间日期及其通信的程序端口
    c)为了后面的追踪溯源攻击者

  • 检查方法: 开始->计算机管理->本地用户和组->用户->属性->配置文件->查看是否存在配置文件

  • 加固方法: 下面的方式只是供大家参考你可以使用powershell或者Python来进一步记录。

    1
    2
    3
    4
    5
    6
    7
    8
    1.将下面的批处理进行进行保存在C:\Windows\LOGIN\login.bat 当用户进行远程桌面连接便将进行记录
    @echo off
    echo 登陆用户: >> login.evts && whoami >> login.evts
    echo 登陆时间:%date:~0,10% - %time:~0,8% >> login.evts
    netstat -an -p tcp | findstr "ESTABLISHED" >> login.evts
    echo --------------- >> login.evts

    2.在用户登录配置文件出加入该路径确定并应用
    WeiyiGeek.远程登录日志审计

    WeiyiGeek.远程登录日志审计

  • 备注说明: 设置定时任务拷贝登录日志文件


1.4 资源控制

1.4.1 屏幕保护程序

  • 操作目的

    a)设置屏保,使本地攻击者无法直接恢复桌面控制

  • 检查方法: 进入”控制面板->外观和个性化->个性化->更改屏幕保护程序” -> 查看是否启用屏幕保护程序,设置等待时间为”10分钟”,是否启用”在恢复时使用密码保护”

  • 加固方法: 进入”控制面板->显示->屏幕保护程序”

    1
    1.启用屏幕保护程序,设置等待时间为"10分钟",启用"在恢复时使用密码保护"
    WeiyiGeek.屏幕保护程序

    WeiyiGeek.屏幕保护程序


1.4.2 远程连接挂起策略

  • 操作目的:

    a)设置远程连接挂起时间,使远程攻击者无法直接恢复桌面控制

  • 检查方法:

    1
    2
    开始->运行->secpol.msc (本地安全策略)->安全设置,在"本地策略->安全选项"
    查看"Microsoft网络服务器:暂停会话前所需的空闲时间数量" 是否设置为15分钟
  • 加固方法: 开始->运行->secpol.msc (本地安全策略)->安全设置,在”本地策略->安全选项”:

    1
    2
    3
    4
    5
    1.配置:“网络安全:在超过登录时间后强制注销”设置为“已启用”录时间后强制注销

    2.Microsoft 网络服务器: 登录时间过期后断开与客户端的连接

    3.Microsoft网络服务器: 暂停会话前所需的空闲时间数量" 设置为15分钟
    WeiyiGeek.远程连接挂起策略

    WeiyiGeek.远程连接挂起策略

  • 回退方案: 配置“网络安全:在超过登录时间后强制注销”设置为“已禁用”录时间后强制注销

  • 备注说明: gpupdate /force立即生效


1.4.3 关闭自动播放功能

  • 操作目的:

    a)防止插入U盘/CD-ROM后病毒进行自动执行,危害服务器安全

  • 检查方法: 打开”开始→运行”,在对话框中输入”gpedit.msc”命令,在出现”组策略”窗口中依次选择”在计算机配置→管理模板→所有设置”,双击”关闭自动播放”查看是否设置”已启用”

    1
    2
    PS C:\Users\WeiyiGeek> Get-ItemPropertyValue "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" -Name NoDriveTypeAutoRun
    221
  • 加固方法:

    1
    2
    3
    4
    5
    6
    1.打开"开始→运行",在对话框中输入"gpedit.msc"命令,在出现"组策略"窗口中依次选择"在计算机配置→管理模板→所有设置",双击"关闭自动播放"并设置"已启用"

    2.配置:进入“开始->控制面板->自动播放”:去掉“所有的媒体和设备使用自动播放”前面的勾号并保存。

    3.设置 NoDriveTypeAutoRun 键值为 233
    reg add "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 233 /f
WeiyiGeek.关闭自动播放

WeiyiGeek.关闭自动播放

  • 回退方案: 打开”开始→运行”,在对话框中输入”gpedit.msc”命令,在出现”组策略”窗口中依次选择”在计算机配置→管理模板→所有设置”,双击”关闭自动播放”并设置”未配置”

05 远程访问安全
[+]确保RDP端口不为3389
图片

06 系统网络安全
关闭windows自动播放功能

C:\Users\WeiyiGeek\AppData\Roaming\Microsoft\Windows\Recent

1.服务器

0x00 微软杀毒软件停止/启用
由于windows Defender的MsMpSvc Microsoft Antimalware Service 的进程内存使用率高(一般是在服务器上)

执行下面的命令

gpedit.msc
方法一:这时就会打开Windows10的本地组策略编辑器窗口,在窗口中依次点击“计算机配置/管理模板/Windows组件”菜单项。
方法二:在右侧双击打开“关闭windows Defender”;
更新策略:gpupdate /force

0x01 服务器补丁
Windows Vista Service Pack 2(SP2-操作系统)包括自SP1以来发布的所有更新,要安装SP2,必须先安装Windows Vista Service Pack 1

系统要求:

WeiyiGeek.系统要求

WeiyiGeek.系统要求

1) 通过 Windows Update.
Click View available updates. In the list of updates, select Service Pack for Microsoft‌ Windows (KB948465), and then click Install
note:如果未列出SP2,则可能需要在安装SP2之前安装其他一些更新。 安装列为推荐或重要的任何更新,返回到Windows Update页面,然后单击检查更新

2)通过下载SP2补丁包
Service Pack 2(一种适用于 Windows Server 2008 和 Windows Vista 的最新 Service Pack)X64位:
http://www.microsoft.com/zh-cn/download/details.aspx?id=718

问题解决:
https://support.microsoft.com/zh-cn/help/948465/information-about-service-pack-2-for-windows-vista-and-for-windows-ser

0x800B0100 错误解决:

1
2
3
4
5
6
导致这个问题的原因可能是因为Windows安全.dll文件注册不正确。建议您参考下面的文章中的工具进行系统文件修复,看看问题是否解决:
#Error 0x800B0100 when you try to install Windows Updates or Microsoft Updates(仅英文版)
https://support.microsoft.com/en-us/help/956702/error-0x800b0100-when-you-try-to-install-windows-updates-or-microsoft

#使用 DISM 或系统更新准备工具修复 Windows 更新错误
https://support.microsoft.com/zh-cn/help/947821/fix-windows-update-errors-by-using-the-dism-or-system-update-readiness

0x02 防火墙通用配置
一般开启21(FTP) 25(SMTP) 53(DNS) 80(HTTP) 110(POP3) 143(IMAP) 443(Https) 1433(MSSQL) 3306(MYSQL) 5353(MX) 3389(远程桌面) 8888(WebMail)
记得一定要将远程桌面的端口加进去可以打开“Windows防火墙”的‘高级’选项卡RCMP设置,“允许传入回显请求”打上钩,


2.个人电脑

(1)XP:445高危端口封闭
注册表路径:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters , 修改SMBDeviceEnabled的值为 0 则关闭,1则启动;

WeiyiGeek.XP注册表封闭

WeiyiGeek.XP注册表封闭


(2)关闭U盘自动弹出与禁止优盘自动打开
计算机为了防止移动设备通过usb接口感染病毒,我们会在计算机系统中关闭自启动功能,虽然防止了u盘携带的病毒传入计算机,但这样的方法所带来的问题是插入u盘却没有打开文件方式引导窗口,所以我们需要将u盘自动播放功能服务重新启用,下面是具体操作:

WeiyiGeek.U盘弹出

WeiyiGeek.U盘弹出

方法1:通过本地组策略
1、在CMD中,输入gpedit.msc,然后敲回车键
2、执行gpedit.msc命令后,就打开本地组策略编辑器
用户配置>>管理模板>>windows组件,然后再双击打开“自动播放策略”
3、将左上方的状态改为“已启用”,选项下面的保持“所有驱动器”不变,然后点击右下方的确定和应用按钮,完成设置,这样以后我们将U盘连接电脑后,就不然自动弹出播放的提示窗口,也不会自动打开了

方法2:通过控制面板来设置
选择自动播放,把勾去选上:(不要勾)

WeiyiGeek.控制面板方法

WeiyiGeek.控制面板方法

方法3:通过服务项来关闭
c:\services.msc

WeiyiGeek.服务禁用

WeiyiGeek.服务禁用

Shell Hardware Detection 为自动播放硬件事件提供通知。
或者:临时生效
c:\win>NET STOP ShellHWDetection
Shell Hardware Detection 服务正在停止.
Shell Hardware Detection 服务已成功停止

(3)非管理员账号未设置密码,未设置密码策略
建议设置:
增强口令策略16位大小写字母、Win7设置匿名共享但不让其(Guest)登录,使用Win+R键调出运行,输入secpol.msc->安全设置,
右键“我的电脑”-“管理”-“本地用户和组”-“用户”-“Guest”-“属性”,勾上“帐户已禁用”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#策略配置
安全策略->密码与锁定策略策略
密码必须符合复杂性要求 已启用
密码长度最小值 10 个字符
密码最短使用期限 14 天
密码最长使用期限 30 天
强制密码历史 1 个记住的密码
用可还原的加密来储存密码 已禁用
 
帐户锁定时间 15 分钟
帐户锁定阈值 3 次无效登录
重置帐户锁定计数器 15 分钟之后
 
 
本地策略->安全选项
交互式登录:不显示最后的用户名:启用
 
拒绝本地登录 Guest
 
增加日志审计:
审核策略更改:成功
审核登录事件 成功, 失败
审核帐户登录事件 成功, 失败
审核帐户管理 成功, 失败

设置命令:

1
2
3
4
5
net user
compmgmt.msc
net user administrator CquE@2018.233
secpol.msc   #本地安全策略
gpupdate /Force #刷新组策略设置(使组策略立即生效)


(4)机器登录日志开启

WeiyiGeek.

WeiyiGeek.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
echo @echo off > login.bat
 
@echo off
Whomai >> login.log
date /t >> login.log & time /t >> login.log
netstat -an -p tcp | findstr "ESTABLISHED" >> login.log
echo " ---------------------------------------------------------------- "  >> login.log
``` 
 
<br>
 
**(5)多余的共享清理**
设置共享进行清理再进行设置注册表
```bash
#查看本机共享
C:\Users\min>net share

#删除共享路径 bat
for /f "tokens=1 delims= " %%i in ('net share') do (net share %%i /del) >nul 2>nul

#从注册表中禁止默认共享
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
;#禁止系统缺省的共享目录(Admin$,C$,...,但不包括IPC$)。适用于Win NT/2000/XP/2003。重启系统后生效
"AutoShareWks"=dword:00000000 ;#禁止C$、D$、E$一类的共享。如果要允许置为1。
"AutoShareServer"=dword:00000000 ;#禁止Asmin$共享。如果要允许,置为1

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
;#禁止匿名访问IPC$。适用于Win NT/2000/XP/2003。如果要允许,置为0
"restrictanonymous"=dword:00000001


(6)网络策略组设置

关闭LLMNR(关闭5355端口)使用组策略关闭,运行->gpedit.msc->计算机配置->管理模板->网络->DNS客户端->关闭多播名称解析->启用

增加网络访问限制:
使用Win+R键调出运行,输入secpol.msc->安全设置->本地策略->安全选项:
网络访问: 不允许 SAM 帐户的匿名枚举:已启用
网络访问: 将 Everyone权限应用于匿名用户:已禁用


(7)设置电源计划无操作时候关闭显示器且使计算机进入睡眠 再次登陆时候需要 账号密码

WeiyiGeek.

WeiyiGeek.

(8)查看机器是不是存在NSA工具利用得漏洞,查看系统更新补丁中是不是存在远程指定高危漏洞

systeminfo | find “KB” >> c:\MS.txt
远程执行漏洞补丁:
KB3011443
KB2757760

(9)设置并查看注册表是不是存在有未知启动项

Msconfig #将不要的进程进行禁用

WeiyiGeek.msconfig

WeiyiGeek.msconfig

reg delete “HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg” /f #删除MSConfig启动里的未勾选项目
reg query “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” /S #查看当前自启

3.通用配置

Windows系统安全加固与原理.pdf

4.安全配置脚本

参考Study-program中的脚本