Az - Basic Information
Last updated
Last updated
Impara e pratica il Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Può contenere altri gruppi di gestione o abbonamenti.
Questo consente di applicare controlli di governance come RBAC e Azure Policy una sola volta a livello di gruppo di gestione e farli ereditar da tutti gli abbonamenti nel gruppo.
Possono essere supportati 10.000 gruppi di gestione in un singolo directory.
Un albero di gruppi di gestione può supportare fino a sei livelli di profondità. Questo limite non include il livello radice o il livello di abbonamento.
Ogni gruppo di gestione e abbonamento può supportare solo un genitore.
Anche se possono essere creati diversi gruppi di gestione, c'è solo 1 gruppo di gestione radice.
Il gruppo di gestione radice contiene tutti gli altri gruppi di gestione e abbonamenti e non può essere spostato o eliminato.
Tutti gli abbonamenti all'interno di un singolo gruppo di gestione devono fidarsi dello stesso tenant Entra ID.
È un altro contenitore logico in cui possono essere eseguite risorse (VM, DB…) e verrà fatturato.
Il suo genitore è sempre un gruppo di gestione (e può essere il gruppo di gestione radice) poiché gli abbonamenti non possono contenere altri abbonamenti.
Fiducia solo in un Entra ID directory
Le autorizzazioni applicate a livello di abbonamento (o a qualsiasi dei suoi genitori) sono ereditarie a tutte le risorse all'interno dell'abbonamento
Dal documento: Un gruppo di risorse è un contenitore che contiene risorse correlate per una soluzione Azure. Il gruppo di risorse può includere tutte le risorse per la soluzione, o solo quelle risorse che desideri gestire come un gruppo. In generale, aggiungi risorse che condividono il stesso ciclo di vita allo stesso gruppo di risorse in modo da poterle facilmente distribuire, aggiornare ed eliminare come un gruppo.
Tutte le risorse devono essere all'interno di un gruppo di risorse e possono appartenere solo a un gruppo e se un gruppo di risorse viene eliminato, tutte le risorse al suo interno vengono anch'esse eliminate.
Ogni risorsa in Azure ha un ID Risorsa Azure che la identifica.
Il formato di un ID Risorsa Azure è il seguente:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
Per una macchina virtuale chiamata myVM in un gruppo di risorse myResourceGroup
sotto l'ID di abbonamento 12345678-1234-1234-1234-123456789012
, l'ID Risorsa Azure appare così:
/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM
Azure è la piattaforma di cloud computing completa di Microsoft, che offre una vasta gamma di servizi, tra cui macchine virtuali, database, intelligenza artificiale e archiviazione. Funziona come base per l'hosting e la gestione delle applicazioni, la costruzione di infrastrutture scalabili e l'esecuzione di carichi di lavoro moderni nel cloud. Azure fornisce strumenti per sviluppatori e professionisti IT per creare, distribuire e gestire applicazioni e servizi senza soluzione di continuità, soddisfacendo una varietà di esigenze da startup a grandi imprese.
Entra ID è un servizio di gestione dell'identità e degli accessi basato su cloud progettato per gestire l'autenticazione, l'autorizzazione e il controllo degli accessi degli utenti. Fornisce accesso sicuro ai servizi Microsoft come Office 365, Azure e molte applicazioni SaaS di terze parti. Con funzionalità come l'accesso single sign-on (SSO), l'autenticazione a più fattori (MFA) e le politiche di accesso condizionale, tra le altre.
I Servizi di Dominio Entra estendono le capacità di Entra ID offrendo servizi di dominio gestiti compatibili con gli ambienti tradizionali di Windows Active Directory. Supporta protocolli legacy come LDAP, Kerberos e NTLM, consentendo alle organizzazioni di migrare o eseguire applicazioni più vecchie nel cloud senza dover distribuire controller di dominio on-premises. Questo servizio supporta anche le Group Policy per la gestione centralizzata, rendendolo adatto a scenari in cui carichi di lavoro legacy o basati su AD devono coesistere con ambienti cloud moderni.
Nuovi utenti
Indica nome email e dominio dal tenant selezionato
Indica nome visualizzato
Indica password
Indica proprietà (nome, titolo di lavoro, informazioni di contatto…)
Il tipo di utente predefinito è “membro”
Utenti esterni
Indica email per invitare e nome visualizzato (può essere un'email non Microsoft)
Indica proprietà
Il tipo di utente predefinito è “Ospite”
Puoi controllarli in https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions ma tra le altre azioni un membro sarà in grado di:
Leggere tutti gli utenti, Gruppi, Applicazioni, Dispositivi, Ruoli, Abbonamenti e le loro proprietà pubbliche
Invitare Ospiti (può essere disattivato)
Creare gruppi di sicurezza
Leggere le appartenenze ai gruppi non nascoste
Aggiungere ospiti ai gruppi di proprietà
Creare una nuova applicazione (può essere disattivato)
Aggiungere fino a 50 dispositivi ad Azure (può essere disattivato)
Ricorda che per enumerare le risorse Azure l'utente ha bisogno di un'esplicita concessione del permesso.
Membri (docs)
Registrare Applicazioni: Predefinito Sì
Limitare gli utenti non amministratori dalla creazione di tenant: Predefinito No
Creare gruppi di sicurezza: Predefinito Sì
Limitare l'accesso al portale di amministrazione Microsoft Entra: Predefinito No
Questo non limita l'accesso API al portale (solo web)
Consentire agli utenti di collegare l'account di lavoro o scolastico con LinkedIn: Predefinito Sì
Mostra mantenere l'utente connesso: Predefinito Sì
Limitare gli utenti dal recuperare la chiave BitLocker per i loro dispositivi di proprietà: Predefinito No (controlla nelle Impostazioni Dispositivo)
Leggere altri utenti: Predefinito Sì (tramite Microsoft Graph)
Ospiti
Restrizioni di accesso per utenti ospiti
Gli utenti ospiti hanno lo stesso accesso dei membri concede a tutti gli utenti membri i permessi agli utenti ospiti per impostazione predefinita.
Gli utenti ospiti hanno accesso limitato alle proprietà e alle appartenenze degli oggetti di directory (predefinito) limita l'accesso degli ospiti solo al proprio profilo utente per impostazione predefinita. L'accesso ad altre informazioni sugli utenti e sui gruppi non è più consentito.
L'accesso degli utenti ospiti è limitato alle proprietà e alle appartenenze dei propri oggetti di directory è il più restrittivo.
Gli ospiti possono invitare
Chiunque nell'organizzazione può invitare utenti ospiti, inclusi ospiti e non amministratori (il più inclusivo) - Predefinito
Gli utenti membri e gli utenti assegnati a ruoli amministrativi specifici possono invitare utenti ospiti, inclusi ospiti con permessi di membri
Solo gli utenti assegnati a ruoli amministrativi specifici possono invitare utenti ospiti
Nessuno nell'organizzazione può invitare utenti ospiti, inclusi gli amministratori (il più restrittivo)
Uscita utente esterno: Predefinito Vero
Consenti agli utenti esterni di lasciare l'organizzazione
Anche se limitati per impostazione predefinita, gli utenti (membri e ospiti) con permessi concessi potrebbero eseguire le azioni precedenti.
Ci sono 2 tipi di gruppi:
Sicurezza: Questo tipo di gruppo è utilizzato per dare accesso ai membri ad applicazioni, risorse e assegnare licenze. Gli utenti, i dispositivi, i principi di servizio e altri gruppi possono essere membri.
Microsoft 365: Questo tipo di gruppo è utilizzato per la collaborazione, dando accesso ai membri a una casella di posta condivisa, calendario, file, sito SharePoint, e così via. I membri del gruppo possono essere solo utenti.
Questo avrà un indirizzo email con il dominio del tenant EntraID.
Ci sono 2 tipi di appartenenze:
Assegnato: Consente di aggiungere manualmente membri specifici a un gruppo.
Appartenenza dinamica: Gestisce automaticamente l'appartenenza utilizzando regole, aggiornando l'inclusione del gruppo quando cambiano gli attributi dei membri.
Un Principio di Servizio è un identità creata per l'uso con applicazioni, servizi ospitati e strumenti automatizzati per accedere alle risorse Azure. Questo accesso è ristretto dai ruoli assegnati al principio di servizio, dandoti il controllo su quali risorse possono essere accessibili e a quale livello. Per motivi di sicurezza, è sempre consigliato utilizzare principi di servizio con strumenti automatizzati piuttosto che consentire loro di accedere con un'identità utente.
È possibile accedere direttamente come un principio di servizio generando un segreto (password), un certificato, o concedendo accesso federato a piattaforme di terze parti (ad es. Github Actions) su di esso.
Se scegli l'autenticazione password (per impostazione predefinita), salva la password generata poiché non potrai accedervi di nuovo.
Se scegli l'autenticazione con certificato, assicurati che l'applicazione avrà accesso alla chiave privata.
Una Registrazione App è una configurazione che consente a un'applicazione di integrarsi con Entra ID e di eseguire azioni.
ID Applicazione (Client ID): Un identificatore unico per la tua app in Azure AD.
URI di reindirizzamento: URL dove Azure AD invia le risposte di autenticazione.
Certificati, Segreti e Credenziali Federate: È possibile generare un segreto o un certificato per accedere come il principio di servizio dell'applicazione, o per concedere accesso federato ad essa (ad es. Github Actions).
Se viene generato un certificato o un segreto, è possibile a una persona di accedere come il principio di servizio con strumenti CLI conoscendo l'ID applicazione, il segreto o il certificato e il tenant (dominio o ID).
Permessi API: Specifica quali risorse o API l'app può accedere.
Impostazioni di Autenticazione: Definisce i flussi di autenticazione supportati dall'app (ad es., OAuth2, OpenID Connect).
Principio di Servizio: Un principio di servizio viene creato quando viene creata un'App (se viene fatto dalla console web) o quando viene installata in un nuovo tenant.
Il principio di servizio otterrà tutti i permessi richiesti con cui è stato configurato.
Consenso dell'utente per le applicazioni
Non consentire il consenso dell'utente
Sarà richiesto un amministratore per tutte le app.
Consentire il consenso dell'utente per app di editori verificati, per permessi selezionati (Consigliato)
Tutti gli utenti possono dare consenso per permessi classificati come "basso impatto", per app di editori verificati o app registrate in questa organizzazione.
Permessi a basso impatto predefiniti (anche se è necessario accettare per aggiungerli come bassi):
User.Read - accedi e leggi il profilo utente
offline_access - mantieni l'accesso ai dati a cui gli utenti hanno dato accesso
openid - accedi gli utenti
profile - visualizza il profilo di base dell'utente
email - visualizza l'indirizzo email dell'utente
Consentire il consenso dell'utente per app (Predefinito)
Tutti gli utenti possono dare consenso per qualsiasi app per accedere ai dati dell'organizzazione.
Richieste di consenso dell'amministratore: Predefinito No
Gli utenti possono richiedere il consenso dell'amministratore per app a cui non possono dare consenso
Se Sì: È possibile indicare Utenti, Gruppi e Ruoli che possono dare consenso alle richieste
Configura anche se gli utenti riceveranno notifiche via email e promemoria di scadenza
Le identità gestite in Azure Active Directory offrono una soluzione per gestire automaticamente l'identità delle applicazioni. Queste identità sono utilizzate dalle applicazioni per connettersi a risorse compatibili con l'autenticazione di Azure Active Directory (Azure AD). Questo consente di eliminare la necessità di codificare le credenziali cloud nel codice poiché l'applicazione sarà in grado di contattare il servizio di metadati per ottenere un token valido per eseguire azioni come l'identità gestita indicata in Azure.
Ci sono due tipi di identità gestite:
Assegnata al sistema. Alcuni servizi Azure consentono di abilitare un'identità gestita direttamente su un'istanza di servizio. Quando abiliti un'identità gestita assegnata al sistema, un principio di servizio viene creato nel tenant Entra ID fidato dall'abbonamento in cui si trova la risorsa. Quando la risorsa viene eliminata, Azure elimina automaticamente l'identità per te.
Assegnata dall'utente. È anche possibile per gli utenti generare identità gestite. Queste vengono create all'interno di un gruppo di risorse all'interno di un abbonamento e un principio di servizio verrà creato nel EntraID fidato dall'abbonamento. Poi, puoi assegnare l'identità gestita a una o più istanze di un servizio Azure (risorse multiple). Per le identità gestite assegnate dall'utente, l'identità è gestita separatamente dalle risorse che la utilizzano.
Le Identità Gestite non generano credenziali eterne (come password o certificati) per accedere come il principio di servizio ad essa associato.
È solo una tabella in Azure per filtrare i principi di servizio e controllare le applicazioni che sono state assegnate.
Non è un altro tipo di “applicazione”, non c'è alcun oggetto in Azure che sia un “Applicazione Aziendale”, è solo un'astrazione per controllare i Principi di servizio, le Registrazioni App e le identità gestite.
Le unità amministrative consentono di dare permessi da un ruolo su una specifica porzione di un'organizzazione.
Esempio:
Scenario: Un'azienda vuole che gli amministratori IT regionali gestiscano solo gli utenti nella propria regione.
Implementazione:
Crea Unità Amministrative per ogni regione (ad es., "AU Nord America", "AU Europa").
Popola le AU con utenti delle rispettive regioni.
Le AU possono contenere utenti, gruppi o dispositivi
Le AU supportano appartenenze dinamiche
Le AU non possono contenere AU
Assegna Ruoli Amministrativi:
Concedi il ruolo di "Amministratore Utente" al personale IT regionale, limitato all'AU della loro regione.
Risultato: Gli amministratori IT regionali possono gestire gli account utente all'interno della loro regione senza influenzare altre regioni.
Per gestire Entra ID ci sono alcuni ruoli predefiniti che possono essere assegnati ai principi Entra ID per gestire Entra ID
Il ruolo più privilegiato è Amministratore Globale
Nella descrizione del ruolo è possibile vedere i suoi permessi granulari
I ruoli sono assegnati ai principi su un ambito: principle -[HAS ROLE]->(scope)
I ruoli assegnati ai gruppi sono ereditati da tutti i membri del gruppo.
A seconda dell'ambito a cui è stato assegnato il ruolo, il ruolo potrebbe essere ereditato da altre risorse all'interno del contenitore dell'ambito. Ad esempio, se un utente A ha un ruolo sull'abbonamento, avrà quel ruolo su tutti i gruppi di risorse all'interno dell'abbonamento e su tutte le risorse all'interno del gruppo di risorse.
Proprietario
Accesso completo a tutte le risorse
Può gestire l'accesso per altri utenti
Tutti i tipi di risorsa
Collaboratore
Accesso completo a tutte le risorse
Non può gestire l'accesso
Tutti i tipi di risorsa
Lettore
• Visualizza tutte le risorse
Tutti i tipi di risorsa
Amministratore Accesso Utente
Visualizza tutte le risorse
Può gestire l'accesso per altri utenti
Tutti i tipi di risorsa
Dal documento: Il controllo degli accessi basato sui ruoli di Azure (Azure RBAC) ha diversi ruoli predefiniti di Azure che puoi assegnare a utenti, gruppi, principi di servizio e identità gestite. Le assegnazioni di ruolo sono il modo in cui controlli l'accesso alle risorse Azure. Se i ruoli predefiniti non soddisfano le esigenze specifiche della tua organizzazione, puoi creare i tuoi ruoli personalizzati di Azure.
I ruoli predefiniti si applicano solo alle risorse per cui sono destinati, ad esempio controlla questi 2 esempi di ruoli predefiniti su risorse Compute:
Fornisce permesso al vault di backup per eseguire il backup del disco.
3e5e47e6-65f7-47ef-90b5-e5dd4d455f24
Visualizza le Macchine Virtuali nel portale e accede come utente normale.
fb879df8-f326-4884-b1cf-06f3ad86be52
Questi ruoli possono essere assegnati anche su contenitori logici (come gruppi di gestione, abbonamenti e gruppi di risorse) e i principi interessati li avranno sulle risorse all'interno di quei contenitori.
Trova qui un elenco con tutti i ruoli predefiniti di Azure.
Trova qui un elenco con tutti i ruoli predefiniti di Entra ID.
È anche possibile creare ruoli personalizzati
Vengono creati all'interno di un ambito, anche se un ruolo può essere in più ambiti (gruppi di gestione, abbonamenti e gruppi di risorse)
È possibile configurare tutti i permessi granulari che il ruolo personalizzato avrà
È possibile escludere permessi
Un principio con un permesso escluso non sarà in grado di utilizzarlo anche se il permesso viene concesso altrove
È possibile utilizzare caratteri jolly
Il formato utilizzato è un JSON
actions
sono per controllare le azioni sulle risorse
dataActions
sono permessi sui dati all'interno dell'oggetto
Esempio di JSON di permessi per un ruolo personalizzato:
Affinché un principale abbia accesso a una risorsa, deve avere un ruolo esplicito assegnato a lui (in qualsiasi modo) che gli conceda quel permesso.
Un'esplicita assegnazione di ruolo di negazione ha la precedenza sul ruolo che concede il permesso.
L'Amministratore Globale è un ruolo di Entra ID che concede controllo completo sul tenant di Entra ID. Tuttavia, di default non concede alcun permesso sulle risorse di Azure.
Gli utenti con il ruolo di Amministratore Globale hanno la possibilità di 'elevare' al ruolo di Amministratore Accesso Utente di Azure nel Gruppo di Gestione Radice. Quindi, gli Amministratori Globali possono gestire l'accesso in tutte le sottoscrizioni e i gruppi di gestione di Azure. Questa elevazione può essere effettuata alla fine della pagina: https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties
Le Politiche di Azure sono regole che aiutano le organizzazioni a garantire che le loro risorse soddisfino standard specifici e requisiti di conformità. Consentono di applicare o auditare le impostazioni sulle risorse in Azure. Ad esempio, puoi impedire la creazione di macchine virtuali in una regione non autorizzata o garantire che tutte le risorse abbiano tag specifici per il tracciamento.
Le Politiche di Azure sono proattive: possono fermare la creazione o la modifica di risorse non conformi. Sono anche reattive, consentendo di trovare e correggere risorse non conformi esistenti.
Definizione della Politica: Una regola, scritta in JSON, che specifica cosa è consentito o richiesto.
Assegnazione della Politica: L'applicazione di una politica a un ambito specifico (ad es., sottoscrizione, gruppo di risorse).
Iniziative: Una raccolta di politiche raggruppate insieme per un'applicazione più ampia.
Effetto: Specifica cosa succede quando la politica viene attivata (ad es., "Negare", "Auditare" o "Aggiungere").
Alcuni esempi:
Garantire la Conformità con Regioni Azure Specifiche: Questa politica garantisce che tutte le risorse siano distribuite in regioni Azure specifiche. Ad esempio, un'azienda potrebbe voler garantire che tutti i suoi dati siano archiviati in Europa per la conformità al GDPR.
Applicare Standard di Nominazione: Le politiche possono applicare convenzioni di denominazione per le risorse di Azure. Questo aiuta a organizzare e identificare facilmente le risorse in base ai loro nomi, il che è utile in ambienti grandi.
Limitare Certi Tipi di Risorse: Questa politica può limitare la creazione di certi tipi di risorse. Ad esempio, una politica potrebbe essere impostata per impedire la creazione di tipi di risorse costosi, come alcune dimensioni di VM, per controllare i costi.
Applicare Politiche di Tagging: I tag sono coppie chiave-valore associate alle risorse di Azure utilizzate per la gestione delle risorse. Le politiche possono imporre che determinati tag debbano essere presenti o avere valori specifici per tutte le risorse. Questo è utile per il tracciamento dei costi, la proprietà o la categorizzazione delle risorse.
Limitare l'Accesso Pubblico alle Risorse: Le politiche possono imporre che determinate risorse, come account di archiviazione o database, non abbiano endpoint pubblici, garantendo che siano accessibili solo all'interno della rete dell'organizzazione.
Applicare Automaticamente Impostazioni di Sicurezza: Le politiche possono essere utilizzate per applicare automaticamente impostazioni di sicurezza alle risorse, come applicare un gruppo di sicurezza di rete specifico a tutte le VM o garantire che tutti gli account di archiviazione utilizzino la crittografia.
Nota che le Politiche di Azure possono essere collegate a qualsiasi livello della gerarchia di Azure, ma sono comunemente utilizzate nel gruppo di gestione radice o in altri gruppi di gestione.
Esempio di politica Azure json:
In Azure le autorizzazioni possono essere assegnate a qualsiasi parte della gerarchia. Questo include gruppi di gestione, sottoscrizioni, gruppi di risorse e risorse individuali. Le autorizzazioni sono ereditarie dalle risorse contenute nell'entità a cui sono state assegnate.
Questa struttura gerarchica consente una gestione efficiente e scalabile delle autorizzazioni di accesso.
RBAC (controllo degli accessi basato sui ruoli) è ciò che abbiamo già visto nelle sezioni precedenti: Assegnare un ruolo a un principale per concedergli accesso a una risorsa. Tuttavia, in alcuni casi potresti voler fornire una gestione degli accessi più dettagliata o semplificare la gestione di centinaia di assegnazioni di ruolo.
Azure ABAC (controllo degli accessi basato sugli attributi) si basa su Azure RBAC aggiungendo condizioni di assegnazione del ruolo basate su attributi nel contesto di azioni specifiche. Una condizione di assegnazione del ruolo è un controllo aggiuntivo che puoi opzionalmente aggiungere alla tua assegnazione di ruolo per fornire un controllo degli accessi più dettagliato. Una condizione filtra le autorizzazioni concesse come parte della definizione del ruolo e dell'assegnazione del ruolo. Ad esempio, puoi aggiungere una condizione che richiede a un oggetto di avere un tag specifico per leggere l'oggetto. Non puoi esplicitamente negare l'accesso a risorse specifiche utilizzando condizioni.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)