安全基线检查平台之Windows

这是基线检查系列的文章,之前发了一篇Centos7基线检查脚本,本次发的是可以应用在Windows10、windows201(未在其他版本上进行测试)服务器上的检查脚本,起初使用bat脚本进行编写,然而太过复杂,所以转而使用powershell进行编写,所以运行起来会有一些限制。需要先以管理员权限运行set-ExecutionPolicy RemoteSigned命令,使得可以运行ps脚本。
实现功能如下:

  • 可以单独在Windows计算机上运行,并呈现出不符规范的项目
  • 将基线扫描后的结果以json串的形式发送给后端服务器

运行截图:代码:SecurityBaselineCheck

file
后端截图:代码:AssetManage

file

后端服务器的代码还在制作中,下面是摘录了部分CIS的规范:

0x01 账户策略#

1.1 密码策略

[+]确保强制密码历史值为5或更高

PasswordHistorySize=5

[+]确保密码最长使用期限值为90天或更少,但不为0

MaximumPasswordAge=90

[+]确保密码最短使用期限值为1或更多

MinimumPasswordAge=1

[+]确保密码必须符合复杂性要求值为enabled

PasswordComplexity=1

[+]确保用可还原的加密来存储密码值为Disabled

ClearTextPassword=0

[+]确保密码长度最小值值为8或更高

MinimumPasswordLength=8

1.2 账户锁定策略

[+]确保账户锁定时间值为15分钟或更长

LockoutDuration=15

[+]确保账户锁定阈值值为5或更少,但不为0

LockoutBadCount=5

[+]确保重置账户锁定计数器值为15分钟或更多,但值要小于Account lockout duration的值

ResetLockoutCount=15

0x02 审计策略#

[+]审核策略更改:成功

AuditPolicyChange

[+]审核登录事件:成功,失败

AuditLogonEvents

[+]审核对象访问:成功

AuditObjectAccess

[+]审核进程跟踪:成功,失败

AuditProcessTracking

[+]审核目录服务访问:成功,失败

AuditDSAccess

[+]审核系统事件:成功,失败

AuditSystemEvents

[+]审核帐户登录事件:成功,失败

AuditAccountLogon

[+]审核帐户管理:成功,失败

AuditAccountManage

值的含义:

Setting valueExplanation
0Indicates that this setting is set to None.
1Indicates that this setting is set to Success Audits Only.
2Indicates that this setting is set to Failure Audits Only.
3Indicates that this setting is set to Success and Failure Audits.
4Indicates that this setting is set to None.

0x03 用户权限分配#

[+]确保作为受信任的呼叫方访问凭据管理器值为空,没有设置任何用户

SeTrustedCredManAccessPrivilege

[+]确保以操作系统方式执行值为空,没有设置任何用户。

SeTcbPrivilege

[+]确保将工作站添加到域值仅为特定的用户或用户组,不能有513,514,515

SeMachineAccountPrivilege

[+]确保创建全局对象值为空

SeCreateGlobalPrivilege

[+]确保拒绝作为批处理作业登录包含Guests

SeDenyBatchLogonRight

[+]确保拒绝以服务身份登录包含Guests

SeDenyServiceLogonRight

[+]确保拒绝本地登录包含Guests

SeDenyInteractiveLogonRight

[+]确保从远程系统强制关机值为administrators本地组和s-1-5-32-549(域控的一个内置组)

SeRemoteShutdownPrivilege

[+]确保修改对象标签值为空

SeRelabelPrivilege

[+]确保同步目录服务数据值为空

SeSyncAgentPrivilege

0x04 安全选项#

[+]确保账户:来宾账户状态值为已禁用

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

0x05 远程访问安全#

[+]确保RDP端口不为3389

for /f "skip=2 tokens=3" %i in ('REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber') do @echo %i

0x06 系统网络安全#

关闭windows自动播放功能

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDriveTypeAutoRun /t REG_DWORD /d 233 /f

参考资料:microsoft安全策略

参考资料:CIS_Microsoft_Windows_Server_2012_R2_Benchmark_v2.3.0

参考资料:自动化组策略配置检查

参考资料:Microsoft审计值含义

参考资料:windows 2016服务器安全配置和加固

参考资料:windows server安全加固指南

参考资料:Windows中已知的安全标识符

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值