[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 优化账号
[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 优化账号
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 26 用户名 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 账号口令策略调整
weiyigeek.top-账号口令策略
备注说明: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 英语大写字母 A, B, C, … Z 英语小写字母 a, b, c, … z 西方阿拉伯数字 0, 1, 2, … 9 非字母数字字符,如标点符号,@, [+]确保强制密码历史值为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 管理权限控制
weiyigeek.top-管理权限
备注说明: 策略修改后需要执行 gpupdate /force
立即生效1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [+]确保作为受信任的呼叫方访问凭据管理器值为空,没有设置任何用户 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 账户访问限制
weiyigeek.top-账户访问限制
回退方案 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 [+]确保账户:来宾账户状态值为已禁用 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 用户登录权限
weiyigeek.top-用户登录权限
备注说明: 策略修改后需要执行 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 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 日志记录调整
1.3.3 远程登录日志审计
1.4 资源控制 1.4.1 屏幕保护程序
1.4.2 远程连接挂起策略
1.4.3 关闭自动播放功能
weiyigeek.top-关闭自动播放
回退方案: 打开”开始→运行”,在对话框中输入”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.top-系统要求
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文件注册不正确。建议您参考下面的文章中的工具进行系统文件修复,看看问题是否解决: https://support.microsoft.com/en-us/help /956702/error-0x800b0100-when-you-try-to-install-windows-updates-or-microsoft 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.top-XP注册表封闭
(2)关闭U盘自动弹出与禁止优盘自动打开 计算机为了防止移动设备通过usb接口感染病毒,我们会在计算机系统中关闭自启动功能,虽然防止了u盘携带的病毒传入计算机,但这样的方法所带来的问题是插入u盘却没有打开文件方式引导窗口,所以我们需要将u盘自动播放功能服务重新启用,下面是具体操作:
weiyigeek.top-U盘弹出
方法1:通过本地组策略 1、在CMD中,输入gpedit.msc,然后敲回车键 2、执行gpedit.msc命令后,就打开本地组策略编辑器 用户配置>>管理模板>>windows组件,然后再双击打开“自动播放策略” 3、将左上方的状态改为“已启用”,选项下面的保持“所有驱动器”不变,然后点击右下方的确定和应用按钮,完成设置,这样以后我们将U盘连接电脑后,就不然自动弹出播放的提示窗口,也不会自动打开了
方法2:通过控制面板来设置 选择自动播放,把勾去选上:(不要勾)
weiyigeek.top-控制面板方法
方法3:通过服务项来关闭 c:\services.msc
weiyigeek.top-服务禁用
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.top-
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.lognetstat -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.top-
(8)查看机器是不是存在NSA工具利用得漏洞,查看系统更新补丁中是不是存在远程指定高危漏洞
systeminfo | find “KB” >> c:\MS.txt 远程执行漏洞补丁: KB3011443 KB2757760
(9)设置并查看注册表是不是存在有未知启动项
Msconfig #将不要的进程进行禁用
weiyigeek.top-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中的脚本