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
AttributoAutorizzazione
Utente AWS con la policyeks:ListClusters
Utente AWS con la policyeks: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
AttributoAutorizzazione
RuoloRevisore della sicurezza
RuoloVisualizzatore
API API Keysabilitata su ogni progetto
API BigQueryabilitata su ogni progetto
API Cloud DNSabilitata su ogni progetto
API Cloud Loggingabilitata su ogni progetto
API Cloud Monitoringabilitata su ogni progetto
API Cloud Resource Managerabilitata su ogni progetto
API Cloud SQL Adminabilitata su ogni progetto
API Cloud Storageabilitata su ogni progetto
API Compute Engineabilitata su ogni progetto
API Essential Contactsabilitata su ogni progetto
API Identity and Access Management (IAM)abilitata su ogni progetto
API Service Usageabilitata 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:

AttributoAutorizzazione
RuoloCollaboratore macchine virtuali
RuoloCollaboratore applicazione gestita
RuoloLettore
RuoloLettore di Key Vault
RuoloCollaboratore account di archiviazione
RuoloCollaboratore Sito Web
Autorizzazione applicazione su Microsoft GraphPolicy.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:

AttributoAutorizzazione
RuoloLettore 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:

AttributoAutorizzazione
Autorizzazione applicazione Microsoft GraphAccessReview.Read.All
Autorizzazione applicazione Microsoft GraphAuditLog.Read.All
Autorizzazione applicazione Microsoft GraphDeviceManagementConfiguration.Read.All
Autorizzazione applicazione Microsoft GraphDeviceManagementManagedDevices.Read.All
Autorizzazione applicazione Microsoft GraphDeviceManagementServiceConfig.Read.All
Autorizzazione applicazione Microsoft GraphDomain.Read.All
Autorizzazione applicazione Microsoft GraphOnPremDirectorySynchronization.Read.All
Autorizzazione applicazione Microsoft GraphOrgSettings-AppsAndServices.Read.All
Autorizzazione applicazione Microsoft GraphOrgSettings-Forms.Read.All
Autorizzazione applicazione Microsoft GraphPolicy.Read.All
Autorizzazione applicazione Microsoft GraphRoleManagement.Read.All
Autorizzazione applicazione Microsoft GraphSharePointTenantSettings.Read.All
Autorizzazione applicazione Microsoft GraphUser.ReadBasic.All
Autorizzazione applicazione Office 365 Exchange OnlineExchange.ManageAsApp
Autorizzazione applicazione SharePointSites.FullControl.All
Ruolo Microsoft EntraLettore globale

Alcune regole di conformità Microsoft 365 della parte SharePoint richiedono un set di credenziali con autenticazione tramite certificato.

Conformità Active Directory
AttributoAutorizzazione
Autorizzazionesola 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

  1. Accedere al menu Gestione degli asset > Cloud
  2. Cliccare su Aggiungi
  3. Scegliere una piattaforma: AWS, GCP, Azure, Microsoft 365 o Active Directory
  4. Inserire una chiave di accesso o credenziale API direttamente nel modulo oppure selezionare una credenziale già salvata, quindi cliccare su Sfoglia
  5. 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à.

  1. 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.