DO - Basic Information

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Informazioni di base

DigitalOcean è una piattaforma di cloud computing che fornisce agli utenti una varietà di servizi, tra cui server virtuali privati (VPS) e altre risorse per la creazione, il rilascio e la gestione di applicazioni. I servizi di DigitalOcean sono progettati per essere semplici e facili da usare, rendendoli popolari tra gli sviluppatori e le piccole imprese.

Alcune delle caratteristiche principali di DigitalOcean includono:

  • Server virtuali privati (VPS): DigitalOcean fornisce VPS che possono essere utilizzati per ospitare siti web e applicazioni. Questi VPS sono noti per la loro semplicità e facilità d'uso e possono essere distribuiti rapidamente e facilmente utilizzando una varietà di "droplets" predefiniti o configurazioni personalizzate.

  • Archiviazione: DigitalOcean offre una gamma di opzioni di archiviazione, tra cui archiviazione degli oggetti, archiviazione a blocchi e database gestiti, che possono essere utilizzate per archiviare e gestire dati per siti web e applicazioni.

  • Strumenti di sviluppo e distribuzione: DigitalOcean fornisce una serie di strumenti che possono essere utilizzati per creare, distribuire e gestire applicazioni, tra cui API e droplets predefiniti.

  • Sicurezza: DigitalOcean pone una forte enfasi sulla sicurezza e offre una serie di strumenti e funzionalità per aiutare gli utenti a mantenere al sicuro i loro dati e le loro applicazioni. Questo include crittografia, backup e altre misure di sicurezza.

In generale, DigitalOcean è una piattaforma di cloud computing che fornisce agli utenti gli strumenti e le risorse necessarie per creare, distribuire e gestire applicazioni nel cloud. I suoi servizi sono progettati per essere semplici e facili da usare, rendendoli popolari tra gli sviluppatori e le piccole imprese.

Principali differenze rispetto ad AWS

Una delle principali differenze tra DigitalOcean e AWS è la gamma di servizi offerti. DigitalOcean si concentra sulla fornitura di server virtuali privati (VPS), archiviazione e strumenti di sviluppo e distribuzione semplici e facili da usare. AWS, d'altra parte, offre una gamma molto più ampia di servizi, tra cui VPS, archiviazione, database, apprendimento automatico, analisi e molti altri servizi. Ciò significa che AWS è più adatto per applicazioni complesse a livello aziendale, mentre DigitalOcean è più adatto per piccole imprese e sviluppatori.

Un'altra differenza chiave tra le due piattaforme è la struttura dei prezzi. I prezzi di DigitalOcean sono generalmente più semplici e facili da capire rispetto ad AWS, con una serie di piani di prezzo basati sul numero di droplets e altre risorse utilizzate. AWS, d'altra parte, ha una struttura dei prezzi più complessa basata su una varietà di fattori, tra cui il tipo e la quantità di risorse utilizzate. Ciò può rendere più difficile prevedere i costi quando si utilizza AWS.

Gerarchia

Utente

Un utente è ciò che ci si aspetta, un utente. Può creare team e essere membro di diversi team.

Team

Un team è un gruppo di utenti. Quando un utente crea un team, ha il ruolo di proprietario nel team e inizialmente configura le informazioni di fatturazione. Altri utenti possono quindi essere invitati nel team.

All'interno del team possono esserci diversi progetti. Un progetto è semplicemente un insieme di servizi in esecuzione. Può essere utilizzato per separare diverse fasi dell'infrastruttura, come produzione, staging, sviluppo...

Progetto

Come spiegato, un progetto è semplicemente un contenitore per tutti i servizi (droplets, spazi, database, kubernetes...) che vengono eseguiti insieme al suo interno. Un progetto di Digital Ocean è molto simile a un progetto GCP senza IAM.

Autorizzazioni

Team

Fondamentalmente, tutti i membri di un team hanno accesso alle risorse DO in tutti i progetti creati all'interno del team (con più o meno privilegi).

Ruoli

Ogni utente all'interno di un team può avere uno dei seguenti tre ruoli al suo interno:

RuoloRisorse condiviseInformazioni di fatturazioneImpostazioni del team

Proprietario

Accesso completo

Accesso completo

Accesso completo

Fatturatore

Nessun accesso

Accesso completo

Nessun accesso

Membro

Accesso completo

Nessun accesso

Nessun accesso

Il proprietario e il membro possono elencare gli utenti e controllare i loro ruoli (il fatturatore non può).

Accesso

Nome utente + password (MFA)

Come nella maggior parte delle piattaforme, per accedere all'interfaccia utente puoi utilizzare un set di nome utente e password validi per accedere alle risorse del cloud. Una volta effettuato l'accesso, puoi vedere tutti i team di cui fai parte in https://cloud.digitalocean.com/account/profile. E puoi vedere tutte le tue attività in https://cloud.digitalocean.com/account/activity.

MFA può essere abilitato in un utente e impostato come obbligatorio per tutti gli utenti di un team per accedere al team.

Chiavi API

Per utilizzare l'API, gli utenti possono generare chiavi API. Queste avranno sempre le autorizzazioni di lettura, ma le autorizzazioni di scrittura sono facoltative. Le chiavi API hanno un aspetto simile a questo:

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

Lo strumento cli è doctl. Inizializzalo (è necessario un token) con:

doctl auth init # Asks for the token
doctl auth init --context my-context # Login with a different token
doctl auth list # List accounts

Di default, questo token verrà scritto in chiaro su Mac in /Users/<username>/Library/Application Support/doctl/config.yaml.

Chiavi di accesso a Spaces

Queste sono le chiavi che danno accesso agli Spaces (come S3 in AWS o Storage in GCP).

Sono composte da un nome, un keyid e un segreto. Un esempio potrebbe essere:

Name: key-example
Keyid: DO00ZW4FABSGZHAABGFX
Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM

Applicazione OAuth

Le applicazioni OAuth possono essere autorizzate ad accedere a Digital Ocean.

È possibile creare applicazioni OAuth in https://cloud.digitalocean.com/account/api/applications e controllare tutte le applicazioni OAuth consentite in https://cloud.digitalocean.com/account/api/access.

Chiavi SSH

È possibile aggiungere chiavi SSH a un team di Digital Ocean dalla console in https://cloud.digitalocean.com/account/security.

In questo modo, se si crea un nuovo droplet, la chiave SSH verrà impostata su di esso e sarà possibile effettuare il login tramite SSH senza password (si noti che le chiavi SSH appena caricate non vengono impostate nei droplet già esistenti per motivi di sicurezza).

Token di autenticazione delle funzioni

Il modo per attivare una funzione tramite REST API (sempre abilitato, è il metodo utilizzato dalla CLI) è attivare una richiesta con un token di autenticazione come:

curl -X POST "https://faas-lon1-129376a7.doserverless.co/api/v1/namespaces/fn-c100c012-65bf-4040-1230-2183764b7c23/actions/functionname?blocking=true&result=true" \
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="

Registri

Registri utente

I registri di un utente possono essere trovati su https://cloud.digitalocean.com/account/activity

Registri del team

I registri di un team possono essere trovati su https://cloud.digitalocean.com/account/security

Riferimenti

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated