Scansioni cloud
Cyberwatch offre una procedura guidata dedicata che semplifica la configurazione delle scansioni su infrastrutture cloud quali Amazon Web Services, Google Cloud Platform, Microsoft 365, Microsoft Azure e Active Directory. In particolare, i benchmark CIS per queste piattaforme sono parzialmente supportati per il controllo della conformità.
L’obiettivo di queste scansioni è garantire che la configurazione rispetti determinate best practice, ad esempio assicurandosi che non esistano accessi pubblici a risorse sensibili.
Prerequisiti
Conformità AWS
Configurare gli accessi AWS tramite CloudFormation (consigliato)
Per creare accessi remoti ad AWS, si consiglia di utilizzare la procedura guidata di creazione cloud e di scegliere la distribuzione tramite CloudFormation. Utilizzare CloudFormation per la distribuzione consente infatti di:
- Distribuire gli accessi più rapidamente e in modo più automatizzato.
- Accedere con le stesse credenziali a tutti o a una parte degli account AWS dell’organizzazione.
- Gestire automaticamente e dinamicamente l’aggiunta di nuovi account AWS.
Per eseguire una distribuzione tramite CloudFormation, è necessario:
- Scegliere il tipo di distribuzione: account AWS oppure organizzazione AWS.
- Se è stato selezionato organizzazione AWS, scegliere su quale parte dell’organizzazione distribuire gli accessi. Si consiglia di distribuire gli accessi sull’intera organizzazione inserendo la radice (root).
- Se verranno configurati più accessi sugli stessi account, è necessario inserire un suffisso, altrimenti la distribuzione di CloudFormation non andrà a buon fine.
- Cliccare sul pulsante Avvia CloudFormation, che reindirizza alla console AWS. È necessario connettersi all’account di gestione o a un account amministratore delegato per distribuire CloudFormation nel caso di una distribuzione di tipo organizzazione. Per una distribuzione su un singolo account, è necessario connettersi all’account su cui deve essere effettuata la distribuzione.
- Una volta su AWS, è necessario verificare le informazioni precompilate, quindi selezionare la casella Riconosco che AWS CloudFormation potrebbe creare risorse IAM con nomi personalizzati, infine creare lo stack CloudFormation.
- Una volta terminata l’esecuzione dello stack CloudFormation su AWS, è necessario accedere agli output dello stack e copiare in Cyberwatch l’output riportato.
- Infine, completare il modulo e salvare.
Nota
La chiave di accesso presente nell’output di CloudFormation è temporanea e verrà sovrascritta al salvataggio delle credenziali in Cyberwatch.
Configurazione manuale degli accessi AWS
Per accedere alle informazioni AWS, Cyberwatch necessita di una chiave di accesso. Questa può essere creata manualmente dalla console AWS cliccando sul nome utente in alto a destra, quindi su «Le mie credenziali di sicurezza». Per ulteriori informazioni, consultare anche la documentazione dettagliata di AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.
Si consiglia di creare un utente dedicato a Cyberwatch con i ruoli seguenti:
- SecurityAudit
- ViewOnlyAccess
Una volta creata la chiave di accesso, è necessario salvarla dal menu «Credenziali salvate» della barra laterale, cliccando poi sul pulsante Aggiungi. Nel modulo, selezionare Amazon Web Services, quindi inserire l’ID della chiave di accesso e la relativa chiave di accesso segreta.
Conformità EKS
| Attributo | Autorizzazione |
|---|---|
| Utente AWS con la policy | eks:ListClusters |
| Utente AWS con la policy | eks:DescribeCluster |
Su ogni cluster EKS, deve essere definita una voce di accesso IAM per l’utente, con la policy AmazonEKSAdminViewPolicy.
Le regole di conformità CIS della sezione 3.2 richiedono la creazione di un ClusterRole RBAC Kubernetes che consenta l’accesso in lettura (get) alla route dell’API Kubernetes api/v1/nodes/{node}/proxy/configz. È inoltre necessario creare un ClusterRoleBinding per associare questo ClusterRole all’utente utilizzato da Cyberwatch. Questa configurazione deve essere eseguita su ogni cluster EKS.
Conformità Google Cloud Platform
| Attributo | Autorizzazione |
|---|---|
| Ruolo | Revisore della sicurezza |
| Ruolo | Visualizzatore |
| API API Keys | abilitata su ogni progetto |
| API BigQuery | abilitata su ogni progetto |
| API Cloud DNS | abilitata su ogni progetto |
| API Cloud Logging | abilitata su ogni progetto |
| API Cloud Monitoring | abilitata su ogni progetto |
| API Cloud Resource Manager | abilitata su ogni progetto |
| API Cloud SQL Admin | abilitata su ogni progetto |
| API Cloud Storage | abilitata su ogni progetto |
| API Compute Engine | abilitata su ogni progetto |
| API Essential Contacts | abilitata su ogni progetto |
| API Identity and Access Management (IAM) | abilitata su ogni progetto |
| API Service Usage | abilitata su ogni progetto |
Conformità Azure
Configurazione di un’applicazione Entra con uno script PowerShell (consigliato)
Per creare accessi remoti ad Azure, si consiglia di utilizzare la procedura guidata di creazione cloud e di scegliere la distribuzione tramite lo script PowerShell. Questo metodo consente di:
- Distribuire gli accessi più rapidamente e in modo automatizzato.
- Accedere a tutte o a una parte delle sottoscrizioni del tenant con un solo set di credenziali.
- Gestire dinamicamente l’aggiunta di nuove sottoscrizioni.
Per poter eseguire lo script, è necessario disporre di uno dei ruoli seguenti:
- sull’ambito scelto in Azure: Proprietario o Amministratore Accesso utenti
- su Microsoft 365: Amministratore globale, Amministratore ruolo con privilegi, Amministratore applicazione o Amministratore applicazione cloud
Per eseguire una distribuzione tramite lo script PowerShell, è necessario:
- Scegliere l’ambito dell’applicazione Entra: Gruppo di gestione radice del tenant (consigliato), Gruppo di gestione o Sottoscrizione.
- Inserire l’ID dell’ambito scelto.
- Facoltativo - Scegliere il nome dell’applicazione Entra — il nome predefinito è Cyberwatch.
- Cliccare sul pulsante Ottieni la riga di comando.
Dal portale di Azure, connettersi al tenant, quindi:
- Eseguire la riga di comando ottenuta in Cloud Shell in modalità PowerShell.
- Una volta terminata l’esecuzione dello script, copiare il JSON restituito in Cyberwatch.
- Completare il modulo e salvare.
Configurazione manuale di un’applicazione Entra
Per configurare manualmente gli accessi, creare un’applicazione Entra e assegnarle le autorizzazioni seguenti:
| Attributo | Autorizzazione |
|---|---|
| Ruolo | Collaboratore macchine virtuali |
| Ruolo | Collaboratore applicazione gestita |
| Ruolo | Lettore |
| Ruolo | Lettore di Key Vault |
| Ruolo | Collaboratore account di archiviazione |
| Ruolo | Collaboratore Sito Web |
| Autorizzazione applicazione su Microsoft Graph | Policy.Read.All |
Conformità AKS
L’applicazione Entra creata nella sezione Conformità Azure dispone già delle autorizzazioni necessarie. In caso di configurazione manuale, l’applicazione Entra deve disporre anche delle autorizzazioni seguenti:
| Attributo | Autorizzazione |
|---|---|
| Ruolo | Lettore RBAC del servizio Azure Kubernetes |
Le regole di conformità CIS della sezione 3.2 richiedono la creazione di un ClusterRole RBAC Kubernetes che consenta l’accesso in lettura (get) alla route dell’API Kubernetes api/v1/nodes/{node}/proxy/configz. È inoltre necessario creare un ClusterRoleBinding per associare questo ClusterRole all’utente utilizzato da Cyberwatch. Questa configurazione deve essere eseguita su ogni cluster AKS.
Le regole di conformità CIS della sezione 4.1 richiedono la creazione di un ruolo personalizzato contenente le autorizzazioni di tipo dataAction seguenti:
- Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read
- Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read
- Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read
- Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read
Conformità Microsoft 365
L’applicazione Entra creata nella sezione Conformità Azure dispone già delle autorizzazioni necessarie. È inoltre possibile eseguire la distribuzione dello script PowerShell dalla procedura guidata di creazione cloud per Microsoft 365 seguendo la stessa procedura descritta nella sezione Configurazione di un’applicazione Entra con uno script PowerShell. In caso di configurazione manuale, l’applicazione Entra deve disporre anche delle autorizzazioni seguenti:
| Attributo | Autorizzazione |
|---|---|
| Autorizzazione applicazione Microsoft Graph | AccessReview.Read.All |
| Autorizzazione applicazione Microsoft Graph | AuditLog.Read.All |
| Autorizzazione applicazione Microsoft Graph | DeviceManagementConfiguration.Read.All |
| Autorizzazione applicazione Microsoft Graph | DeviceManagementManagedDevices.Read.All |
| Autorizzazione applicazione Microsoft Graph | DeviceManagementServiceConfig.Read.All |
| Autorizzazione applicazione Microsoft Graph | Domain.Read.All |
| Autorizzazione applicazione Microsoft Graph | OnPremDirectorySynchronization.Read.All |
| Autorizzazione applicazione Microsoft Graph | OrgSettings-AppsAndServices.Read.All |
| Autorizzazione applicazione Microsoft Graph | OrgSettings-Forms.Read.All |
| Autorizzazione applicazione Microsoft Graph | Policy.Read.All |
| Autorizzazione applicazione Microsoft Graph | RoleManagement.Read.All |
| Autorizzazione applicazione Microsoft Graph | SharePointTenantSettings.Read.All |
| Autorizzazione applicazione Microsoft Graph | User.ReadBasic.All |
| Autorizzazione applicazione Office 365 Exchange Online | Exchange.ManageAsApp |
| Autorizzazione applicazione SharePoint | Sites.FullControl.All |
| Ruolo Microsoft Entra | Lettore globale |
Alcune regole di conformità Microsoft 365 della parte SharePoint richiedono un set di credenziali con autenticazione tramite certificato.
Conformità Active Directory
| Attributo | Autorizzazione |
|---|---|
| Autorizzazione | sola lettura |
Conformità Oracle Cloud
Si consiglia di creare un utente dedicato a Cyberwatch, dotato di una chiave API, e di aggiungerlo a un gruppo (denominato ad esempio Cyberwatch) per il quale è stata definita, sul compartimento radice, una policy con le istruzioni seguenti:
Allow group Cyberwatch to read all-resources in tenancy
Aggiungere un progetto
- Accedere al menu Gestione degli asset > Cloud
- Cliccare su Aggiungi
- Scegliere una piattaforma: AWS, GCP, Azure, Microsoft 365 o Active Directory
- Inserire una chiave di accesso o credenziale API direttamente nel modulo oppure selezionare una credenziale già salvata, quindi cliccare su Sfoglia
- Definire il nome, quindi selezionare una di queste opzioni o entrambe, in base alle esigenze:
- Salva la discovery:
Verrà creata una discovery, con il nome scelto, che elenca le macchine individuate. Questa discovery sarà disponibile nella pagina delle discovery.
- Verifica la conformità del progetto:
Questa opzione aggiungerà un asset cloud, con il nome scelto, che riporta il risultato della scansione di conformità.
- Cliccare su “Salva” per avviare la configurazione automatica degli elementi selezionati
Sarà quindi possibile consultare i risultati dell’analisi di conformità dall’inventario Conformità, oppure cliccando sul nome dell’asset dal menu Gestione degli asset > Cloud, nonché i risultati della discovery nella pagina Discovery.