Использование примеров
Есть много способов использования функции прикладного программного интерфейса. Здесь представлены два примера того, что многие клиенты Security Controls считают полезным.
Интеграция Security Controls со сканером уязвимостей
Если вы используете сканер уязвимостей для выявления слабых мест в вашей сети, он может обнаружить сотни или даже тысячи проблем на ваших компьютерах. Поначалу это может показаться немного странным, но, скорее всего сканер уязвимостей создает много "шума". Сканер зачастую будет сообщать о каждом отсутствующем исправлении тогда, как в действительности на компьютерах будут отсутствовать только несколько основных исправлений, которые должны заменить большое количество старых исправлений. Часто необходимо всего несколько исправлений для устранения существующих уязвимостей.
Для реализации этого вы можете использовать прикладной программный интерфейс:
- Выполните вызовы сканера уязвимостей
- Извлеките список уязвимостей (состоит из 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 "Сканирование SampleSQL1"
$scan = Start-PatchScan –EndpointName “SampleSQL1”
–CredentialFriendlyName “Sample Domain Cred” –TemplateName “Сканирование исправлений безопасности”
$scan | Watch-PatchScan
Write-Host "Сканирование SampleSQL1 выполнено"
$scanDetail = $scan | Get-PatchScan
Write-Host "Окончательная информация SampleSQL1"
$scanDetail | Format-PatchScanTable
#Определите отсутствующие исправления на целевом узле. Если да, остановите узел в кластере и выполните исправление системы.
If ($scanDetail.MachineStates[0].MissingPatches –ne 0)
{
$totalMissingPatches = scanDetail.MachineStates[0].MissingPatches
Write-Host "Будут развернуты все исправления - $totalMissingPatches". Начало развертывания. . .”
Write-Host "Останов узла кластера в SampleSQL1"
Suspend-ClusterNode –Name SampleSQL1 –Cluster SampleSQLCluster –Drain
$deploy = $scan | Start-PatchDeploy –TemplateName "Стандартный"
$deploy | Watch-PatchDeploy | Format-Table
Write-Host "Запуск узла кластера в SampleSQL1"
Resume-ClusterNode –Name SampleSQL1 –Cluster SampleSQLCluster –Failback NoFailback
}
В частности, этот будет следующий пример сценария:
- Импортируйте необходимые модули.
- Сканируйте один узел в кластере SQL.
- См. выполнение сканирования исправлений, блокируя другие действия до его завершения.
- Получите результаты сканирования.
Выводные данные будут содержать информацию о целевом компьютере, количестве отсутствующих и установленных исправлений, сообщение о выполнении процесса сканирования и т.д. - Если обнаружены отсутствующие исправления, приостановите узел в кластере SQL и подготовьтесь к исправлению системы.
Сделайте это, приостановив узел в кластере и переместив все текущие сеансы из этого узла в другой. - Запустите развертывание исправлений с помощью стандартного шаблона.
- См. выполнение развертывания исправлений, блокируя другие действия до его завершения.
Это отобразит текущий статус развертывания, включая запланированное развертывание, перезагрузку, ожидание выполнения повторного сканирования и завершение процесса. - Возвратите узел в кластер SQL и возобновить операцию.
Повторите процесс по мере необходимости для дополнительных экземпляров SQL Server или узлов в кластере.