Invoke-SqlVulnerabilityAssessmentScan
Richiama una nuova analisi valutazione della vulnerabilità.
Sintassi
Invoke-SqlVulnerabilityAssessmentScan
[-ScanId <String>]
[-Baseline <SecurityCheckBaselineSet>]
[-OmitMetadata]
[<CommonParameters>]
Invoke-SqlVulnerabilityAssessmentScan
-ConnectionString <String>
[-ScanId <String>]
[-Baseline <SecurityCheckBaselineSet>]
[-OmitMetadata]
[<CommonParameters>]
Invoke-SqlVulnerabilityAssessmentScan
-ServerInstance <PSObject>
-DatabaseName <String>
[-Credential <PSCredential>]
[-ScanId <String>]
[-Baseline <SecurityCheckBaselineSet>]
[-OmitMetadata]
[<CommonParameters>]
Invoke-SqlVulnerabilityAssessmentScan
-Path <String>
[-ScanId <String>]
[-Baseline <SecurityCheckBaselineSet>]
[-OmitMetadata]
[<CommonParameters>]
Invoke-SqlVulnerabilityAssessmentScan
-InputObject <Database>
[-ScanId <String>]
[-Baseline <SecurityCheckBaselineSet>]
[-OmitMetadata]
[<CommonParameters>]
Descrizione
Il cmdlet Invoke-SqlVulnerabilityAssessmentScan esegue un'analisi nel database. Il cmdlet usa un knowledge base di controlli di sicurezza che segnalano vulnerabilità di sicurezza e evidenziano deviazioni dalle procedure consigliate, ad esempio configurazioni non corrette, autorizzazioni eccessive e dati sensibili non protetti. I controlli di sicurezza si basano sulle procedure consigliate di Microsoft e si concentrano sui problemi di sicurezza che presentano i maggiori rischi per il database e i relativi dati preziosi. Questi controlli di sicurezza rappresentano anche molti dei requisiti di vari organismi normativi per soddisfare gli standard di conformità.
I risultati dell'analisi includono le azioni applicabili per risolvere ogni problema, oltre a script di correzione personalizzati, ove applicabile. Un report di valutazione può essere personalizzato per l'ambiente impostando una baseline accettabile per le configurazioni delle autorizzazioni, le configurazioni delle funzionalità e le impostazioni del database.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
This cmdlet was removed in v22.3+ of the module.
Esempio
Esempio 1: Richiamare un'analisi di valutazione della vulnerabilità usando autenticazione di Windows nel database master
PS C:\> Invoke-SqlVulnerabilityAssessmentScan -ServerInstance "MyComputer\MainInstance" -Database "master" -ScanId "MyScan"
Id : MyScan
ScanType : BoxDatabase
ScanTriggerType : OnDemand
Server : MyComputer\MainInstance
Database : master
Platform : SqlServer2017
SqlVersion : 14.0.3015
StartTimeUtc : 3/17/2018 8:58:02 PM
EndTimeUtc : 3/17/2018 8:58:41 PM
ToolName : PowerShell
ToolVersion : 1.0
Results : {VA1017, VA1019, VA1020, VA1021...}
SecurityChecks : {[VA1017, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1019, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1020,
Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1021, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck]...}
In questo esempio viene richiamata un'analisi valutazione vulnerabilità nel database master usando autenticazione di Windows.
Esempio 2: Richiamare un'analisi di valutazione della vulnerabilità usando il contesto del percorso corrente
PS C:\> Set-Location "SQLSERVER:\SQL\MyComputer\MainInstance\Databases\MyDatabase"
PS SQLSERVER:\SQL\MyComputer\MainInstance> Invoke-SqlVulnerabilityAssessmentScan
WARNING: Using provider context. Server = MyComputer\MainInstance, Database = MyDatabase.
Id : 2018-03-17T22-58-02
ScanType : BoxDatabase
ScanTriggerType : OnDemand
Server : MyComputer\MainInstance
Database : MyDatabase
Platform : SqlServer2017
SqlVersion : 14.0.3015
StartTimeUtc : 3/17/2018 8:58:02 PM
EndTimeUtc : 3/17/2018 8:58:41 PM
ToolName : PowerShell
ToolVersion : 1.0
Results : {VA1017, VA1019, VA1020, VA1021...}
SecurityChecks : {[VA1017, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1019, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1020,
Microsoft.SQL.VulnerabilityAssessment.SecurityCheck], [VA1021, Microsoft.SQL.VulnerabilityAssessment.SecurityCheck]...}
In questo esempio viene illustrato come Invoke-SqlVulnerabilityAssessmentScan usa il percorso corrente per impostare il contesto del database su MyDatabase.
Esempio 3: Richiamare un'analisi di valutazione della vulnerabilità usando le credenziali e omettere i metadati dei controlli di sicurezza
PS C:\> $cred = Get-Credential
PS C:\> Invoke-SqlVulnerabilityAssessmentScan -ServerInstance "MyComputer\MainInstance" -Database "master" -Credential $cred
Id : 2018-03-17T22-58-02
ScanType : BoxDatabase
ScanTriggerType : OnDemand
Server : MyComputer\MainInstance
Database : MyDatabase
Platform : SqlServer2017
SqlVersion : 14.0.3015
StartTimeUtc : 3/17/2018 8:58:02 PM
EndTimeUtc : 3/17/2018 8:58:41 PM
ToolName : PowerShell
ToolVersion : 1.0
Results : {VA1017, VA1019, VA1020, VA1021...}
SecurityChecks :
In questo esempio viene illustrato come richiamare un'analisi usando psCredential. Illustra anche l'uso del flag -OmitMetadata (si noti che il risultato non contiene il dizionario controlli di sicurezza: si tratta dei metadati dei controlli, ad esempio titolo, descrizione e così via).
Esempio 4: Richiamare un'analisi di valutazione della vulnerabilità con una baseline
PS C:\> [string[][]]$expectedResults = ,("guest", "db_datareader", "SQLUSER", "NONE")
PS C:\> $baseline = New-SqlVulnerabilityAssessmentBaseline -SecurityCheckId "VA2109" -ExpectedResult $expectedResults
PS C:\> $baselineSet = New-SqlVulnerabilityAssessmentBaselineSet -Baselines $baseline
PS C:\> $scanResult = Invoke-SqlVulnerabilityAssessmentScan -ServerInstance "MyComputer\MainInstance" -Database "master" -Baseline $baselineSet
PS C:\> $result2109 = $scanResult.Results.GetEnumerator() | where {$_.Value.SecurityCheckId -eq "VA2109"
}
In questo esempio viene illustrato come creare un set di baseline e richiamare un'analisi con essa. La proprietà BaselineAdjustedSecurityCheckResult nel risultato di 'VA2109' contiene il risultato corretto della baseline. Si noti che lo stato originale di questo risultato è Non riuscito, ma lo stato del risultato corretto della baseline è Passato.
Parametri
-Baseline
Set di base di base di controllo della valutazione della vulnerabilità
Tipo: | SecurityCheckBaselineSet |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ConnectionString
Specifica una stringa di connessione per connettersi al database. Se questo parametro è presente, verranno ignorati altri parametri di connessione
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Credential
Specifica una credenziale usata per connettersi al database.
Tipo: | PSCredential |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DatabaseName
Specifica il nome di un database. Questo cmdlet si connette a questo database nell'istanza specificata nel parametro ServerInstance.
Se il parametro Database non è specificato, il database utilizzato dipende dal fatto che il percorso corrente specifica sia la cartella SQLSERVER:\SQL che un nome di database. Se il percorso specifica sia la cartella SQL che un nome di database, questo cmdlet si connette al database specificato nel percorso.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-InputObject
Specifica l'oggetto di input per l'operazione di analisi.
Tipo: | Database |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-OmitMetadata
Se omettere i metadati dei controlli di sicurezza (ad esempio titolo, descrizione e così via) Si noti che Export-VulnerabilityAssessmentScan richiede che i metadati dei controlli di sicurezza vengano eseguiti correttamente.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Path
Specifica il percorso dell'istanza di SQL Server per eseguire l'analisi.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ScanId
ID analisi valutazione vulnerabilità
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ServerInstance
Specifica una stringa di caratteri o un oggetto SMO (Management Objects) SQL Server che specifica il nome di un'istanza del motore di database. Per le istanze predefinite, specificare solo il nome del computer: MyComputer. Per le istanze denominate, usare il formato ComputerName\InstanceName.
Tipo: | PSObject |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Output
System.Object