Active Directory 安全提示 #11:域控制器上的打印服务
打印后台处理程序服务是 Windows 服务器的默认服务,并设置为在启动时运行。在域控制器上运行打印后台处理程序服务会启用多种攻击(例如:打印机漏洞:https://adsecurity.org/?p=4056)。
目前最佳做法是配置组策略以在域控制器上禁用打印后台处理程序服务(第 2 和第 3 张截图显示了组策略设置)。此更改不应影响任何功能。不应有人将其域控制器用作打印服务器,并且默认情况下,此服务仅管理自动打印机对象清理,但需要配置组策略来实现此功能。在 8 年执行 Active Directory 安全评估(ADSAs)的过程中,我们总共只见过这种情况 2 次。
用于检查当前域中打印后台处理程序服务是否正在运行的 PowerShell 代码(需要 DC 管理员权限,即域管理员或同等权限):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
$Domain = $env:userdnsdomain
$DomainDC = (Get-ADDomainController -Discover -DomainName $Domain).Name
$DomainDCs = Get-ADDomainController -Filter * -Server $DomainDC | Sort HostName
ForEach ($DomainDCItem in $DomainDCs)
{
$ServiceStatusArray = Get-service -Name 'spooler' -ComputerName $DomainDCItem.HostName
switch ($ServiceStatusArray.Status)
{
"Running" { Write-host "$($DomainDCItem.HostName): Print Spooler Service is RUNNING" -ForegroundColor Red }
"Stopped" { Write-host "$($DomainDCItem.HostName): Print Spooler Service is stopped" -ForegroundColor Green }
default { Write-host "$($DomainDCItem.HostName): Test failed" -ForegroundColor Yellow }
}
}
|