DO - Basic Information

Supporta HackTricks

Informazioni di Base

DigitalOcean è una piattaforma di cloud computing che fornisce agli utenti una varietà di servizi, inclusi server virtuali privati (VPS) e altre risorse per costruire, distribuire e gestire applicazioni. I servizi di DigitalOcean sono progettati per essere semplici e facili da usare, rendendoli popolari tra sviluppatori e piccole imprese.

Al 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 rapidamente e facilmente distribuiti utilizzando una varietà di "droplets" pre-costruiti o configurazioni personalizzate.

  • Storage: DigitalOcean offre una gamma di opzioni di storage, inclusi storage a oggetti, storage a blocchi e database gestiti, che possono essere utilizzati per memorizzare e gestire dati per siti web e applicazioni.

  • Strumenti di sviluppo e distribuzione: DigitalOcean fornisce una gamma di strumenti che possono essere utilizzati per costruire, distribuire e gestire applicazioni, inclusi API e droplets pre-costruiti.

  • Sicurezza: DigitalOcean pone una forte enfasi sulla sicurezza e offre una gamma di strumenti e funzionalità per aiutare gli utenti a mantenere i propri dati e applicazioni al sicuro. 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 di cui hanno bisogno per costruire, distribuire e gestire applicazioni nel cloud. I suoi servizi sono progettati per essere semplici e facili da usare, rendendoli popolari tra sviluppatori e piccole imprese.

Principali Differenze da AWS

Una delle principali differenze tra DigitalOcean e AWS è la gamma di servizi che offrono. DigitalOcean si concentra sulla fornitura di server virtuali privati (VPS) semplici e facili da usare, storage e strumenti di sviluppo e distribuzione. AWS, d'altra parte, offre una gamma di servizi molto più ampia, inclusi VPS, storage, database, machine learning, analisi e molti altri servizi. Questo 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 comprendere rispetto a AWS, con una gamma di piani tariffari 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, inclusi il tipo e la quantità di risorse utilizzate. Questo può rendere più difficile prevedere i costi quando si utilizza AWS.

Gerarchia

Utente

Un utente è ciò che ti aspetti, 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 su quel team e inizialmente imposta le informazioni di fatturazione. Altri utenti possono quindi essere invitati al 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 infrastrutturali, come prod, staging, dev...

Progetto

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

Permessi

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 alla GUI puoi utilizzare un insieme di nome utente e password validi per accedere alle risorse 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 tutta la tua attività in https://cloud.digitalocean.com/account/activity.

MFA può essere abilitato per un utente e imposto per tutti gli utenti in un team per accedere al team.

Chiavi API

Per utilizzare l'API, gli utenti possono generare chiavi API. Queste avranno sempre permessi di lettura, ma i permessi di scrittura sono opzionali. Le chiavi API hanno questo aspetto:

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

Il tool cli è doctl. Inizializzalo (hai bisogno di 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

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

Chiavi di accesso agli Spaces

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

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

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

OAuth Application

Le applicazioni OAuth possono essere concesse accesso su Digital Ocean.

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

SSH Keys

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

In questo modo, se crei un nuovo droplet, la chiave SSH sarà impostata su di esso e potrai accedere via SSH senza password (nota che le chiavi SSH caricate di recente non sono impostate nei droplet già esistenti per motivi di sicurezza).

Functions Authentication Token

Il modo per attivare una funzione tramite REST API (sempre abilitato, è il metodo utilizzato dal 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="

Logs

User logs

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

Team logs

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

References

Support HackTricks

Last updated