Использование примеров

Есть много способов использования функции прикладного программного интерфейса. Здесь представлены два примера того, что многие клиенты 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

}

В частности, этот будет следующий пример сценария:

  1. Импортируйте необходимые модули.
  2. Сканируйте один узел в кластере SQL.
  3. См. выполнение сканирования исправлений, блокируя другие действия до его завершения.
  4. Получите результаты сканирования.
    Выводные данные будут содержать информацию о целевом компьютере, количестве отсутствующих и установленных исправлений, сообщение о выполнении процесса сканирования и т.д.
  5. Если обнаружены отсутствующие исправления, приостановите узел в кластере SQL и подготовьтесь к исправлению системы.
    Сделайте это, приостановив узел в кластере и переместив все текущие сеансы из этого узла в другой.
  6. Запустите развертывание исправлений с помощью стандартного шаблона.
  7. См. выполнение развертывания исправлений, блокируя другие действия до его завершения.
    Это отобразит текущий статус развертывания, включая запланированное развертывание, перезагрузку, ожидание выполнения повторного сканирования и завершение процесса.
  8. Возвратите узел в кластер SQL и возобновить операцию.

Повторите процесс по мере необходимости для дополнительных экземпляров SQL Server или узлов в кластере.