Exemplos de uso
Há muitos usos possíveis do recurso de API. Aqui estão muitos exemplos que muitos clientes do Security Controls provavelmente acharão úteis.
Integrar oSecurity Controls com um scanner de vulnerabilidades
Caso você use um scanner de vulnerabilidades para identificar fraquezas a sua rede, ele poderá detectar centenas ou até milhares de problemas nas suas máquinas. No começo, talvez pareça um pouco confuso, mas o que provavelmente está acontecendo é que o scanner de vulnerabilidade está simplesmente produzindo muito ruído. O scanner geralmente vai relatar cada patch ausente como uma vulnerabilidade, quando, na verdade, as máquinas provavelmente apenas estão sem alguns patches principais que substituem um grande número de patches antigos. Geralmente, são necessários pouquíssimos patches para resolver muitas das chamadas vulnerabilidades.
Para resolver isso, você pode usar a API para:
- Fazer chamadas para o scanner de vulnerabilidades
- Extrair a lista de vulnerabilidades (composta de CVEs)
- Importar esses CVEs em um grupo de patches do Security Controls
- Executar análises e implantações de patches usando esse grupo de patches
O mecanismo de patch eliminará todos os patches obsoletos e identificará aqueles que estão realmente faltando. Se você executar novamente o scanner de vulnerabilidades após implantar os patches, a maioria das vulnerabilidades provavelmente terá sumido.
Usar um script do PowerShell para corrigir um SQL Server clusterizado
Este exemplo mostra como usar um script do PowerShell para controlar os processos de análise e implantação de patches nas máquinas em um cluster SQL. O objetivo deste exemplo é coordenar os eventos e reduzir a zero o tempo de inatividade durante a aplicação dos patches.
Import-Module STProtect –PassThru
Import-Module ServerManager
Add-WindowsFeature RSAT-Clustering
Import-Module FailoverClusters
Write-Host “Analisando SampleSQL1”
$scan = Start-PatchScan –EndpointName “SampleSQL1”
–CredentialFriendlyName “Sample Domain Cred” –TemplateName “Security Patch Scan”
$scan | Watch-PatchScan
Write-Host “Análise de SampleSQL1 Concluída”
$scanDetail = $scan | Get-PatchScan
Write-Host “Detalhes Finais de SampleSQL1”
$scanDetail | Format-PatchScanTable
#Identificar se há patches ausentes no nó-alvo. Se sim, parar o nó no cluster e corrigir o sistema.
If ($scanDetail.MachineStates[0].MissingPatches –ne 0)
{
$totalMissingPatches = scanDetail.MachineStates[0].MissingPatches
Write-Host “Serão implantados $totalMissingPatches patches ausentes no total. Iniciando implantação. . .”
Write-Host “Parando nó do cluster em SampleSQL1”
Suspend-ClusterNode –Name SampleSQL1 –Cluster SampleSQLCluster –Drain
$deploy = $scan | Start-PatchDeploy –TemplateName “Standard”
$deploy | Watch-PatchDeploy | Format-Table
Write-Host “Inciando nó do cluster em SampleSQL1”
Resume-ClusterNode –Name SampleSQL1 –Cluster SampleSQLCluster –Failback NoFailback
}
Em particular, este exemplo irá:
- Importar os módulos necessários.
- Analisar um nó individual em um cluster SQL.
- Observar a análise de patches, bloqueando outras ações até sua conclusão.
- Receber os resultados da análise.
O resultado incluirá detalhes como informações sobre a máquina visada, o número de patches instalados e ausentes, uma mensagem indicando que o processo de análise foi concluído, etc. - Se houver patches ausentes, suspender o nó no cluster SQL e preparar para corrigir o sistema.
Faça isso suspendendo o nó no cluster e drenando todas as sessões atuais desse para outro nó. - Iniciar a implantação de patches usando o modelo padrão.
- Observar o progresso da implantação de patches, bloqueando outras ações até sua conclusão.
Isso exibirá o status atual da implantação, como agendada, concluída e reinicializada, revisão pendente e finalizada. - Adicionar o nó de volta ao cluster SQL e retomar a operação.
Repita o processo conforme necessário para instâncias ou nós adicionais do SQL Server no cluster.