使用示例

API 功能的用处多种多样。 很多都被 Security Controls 客户认为颇为实用,以下为两个示例。

Security Controls 与漏洞扫描器进行整合

如使用漏洞扫描器来检查网络缺陷,扫描器可能会在您的计算机上检测出成百上千个问题。 一切看似还不错,但漏洞扫描器极可能产生大量噪音。 扫描器通常会将每一个缺失修补程序都报告为漏洞,而实际上,计算机可能只是缺失几个关键修补程序,用以取代大量旧修补程序。 通常只需几个修补程序,就能解决诸多此类漏洞。

为解决此问题,请使用 API:

  • 提醒漏洞扫描器
  • 解压漏洞列表(包含 CVE)
  • 将这些 CVE 导入 Security Controls 修补程序组
  • 使用修补程序组,执行修补程序扫描和部署

修补程序引擎能避免修补程序被取代,并识别部分已经缺失的修补程序。 如果在部署修补程序后重新运行漏洞扫描器,大部分漏洞很可能都已消失不见。

使用 PowerShell 脚本来控制群集 SQL Server 的修补程序

该示例说明了如何使用 PowerShell 脚本来控制 SQL 群集的计算机上的修补程序扫描和修补程序部署进程。 此示例的目标是协调事件,并在修补程运行期间避免停机。

Import-Module STProtect -PassThru

Import-Module ServerManager

Add-WindowsFeature RSAT-Clustering

Import-Module FailoverClusters

 

Write-Host “Scanning SampleSQL1”

$scan = Start-PatchScan –EndpointName “SampleSQL1”

–CredentialFriendlyName “Sample Domain Cred” –TemplateName “Security Patch Scan”

 

$scan | Watch-PatchScan

Write-Host “Scanning SampleSQL1 Complete”

 

$scanDetail = $scan | Get-PatchScan

Write-Host “SampleSQL1 Final Details”

$scanDetail | Format-PatchScanTable

 

#确认目标节点是否存在缺失修补程序。 如果是,停止群集的节点,并在系统中运行修补程序。

If ($scanDetail.MachineStates[0].MissingPatches –ne 0)

{

$totalMissingPatches = scanDetail.MachineStates[0].MissingPatches

 

Write-Host “$totalMissingPatches total missing patches will be deployed. 开始部署 。 .”

Write-Host “Stopping cluster node on SampleSQL1”

Suspend-ClusterNode –Name SampleSQL1 –Cluster SampleSQLCluster –Drain

 

$deploy = $scan | Start-PatchDeploy –TemplateName “Standard”

$deploy | Watch-PatchDeploy | Format-Table

 

Write-Host “Starting cluster node on SampleSQL1”

Resume-ClusterNode –Name SampleSQL1 –Cluster SampleSQLCluster –Failback NoFailback

}

特别是,该实例脚本可:

  1. 导入所需的模块。
  2. 扫描 SQL 群集中的单个节点。
  3. 查看修补程序扫描,并在完成前阻止进一步操作。
  4. 获取扫描结果。
    输出包含各种详细信息,例如关于目标计算机的信息、缺失和已安装修补程序的数量、说明扫描过程已完成的消息等。
  5. 如有缺失修补程序,将挂起 SQL 群集的节点,并准备修补系统。
    为此,请挂起群集的节点,并将该节点的所有当前会话调至其他节点。
  6. 使用标准目标,启动修补程序部署。
  7. 查看修补程序部署进度,并在完成前阻止进一步操作。
    这会显示部署的当前状态,包括已计划、完成并重启、挂起的重新扫描以及已完成。
  8. 将节点添加回 SQL 群集和重新恢复操作。

根据需要,对额外的 SQL Server 实例或群集的节点重复此操作。