使用範例
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. Starting deploy . 中的 Detectoid。 .”
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
}
具體而言,此範例指令碼將會:
- 匯入必要的模組。
- 掃描 SQL 叢集中的單一節點。
- 監看修補程式掃描,在掃描完成前封鎖進一步動作。
- 取得掃描結果。
輸出將包括詳細資料,例如有關目標電腦的資訊、缺少和已安裝的修補程式數目、指出掃描處理序完成的訊息等。 - 如果有缺少的修補程式,則暫停 SQL 叢集中的節點,並準備修補系統。
具體做法是,暫停叢集中的節點,並將此節點中所有目前的工作階段清空至另一個節點。 - 使用標準範本開始修補部署。
- 監看修補程式部署的進度,在完成前封鎖其他動作。
這時會顯示部署的目前狀態,包括已排定、完成和重新啟動、等待重新掃描,以及已完成。 - 將節點新增回 SQL 叢集並繼續執行作業。
視需要針對叢集中的其他 SQL Server 執行個體或節點重複此處理序。