DO - Basic Information
Last updated
Last updated
Apprenez et pratiquez le Hacking AWS :HackTricks Training AWS Red Team Expert (ARTE) Apprenez et pratiquez le Hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
DigitalOcean est une plateforme de cloud computing qui fournit aux utilisateurs une variété de services, y compris des serveurs privés virtuels (VPS) et d'autres ressources pour construire, déployer et gérer des applications. Les services de DigitalOcean sont conçus pour être simples et faciles à utiliser, ce qui les rend populaires parmi les développeurs et les petites entreprises.
Certaines des caractéristiques clés de DigitalOcean incluent :
Serveurs privés virtuels (VPS) : DigitalOcean fournit des VPS qui peuvent être utilisés pour héberger des sites Web et des applications. Ces VPS sont connus pour leur simplicité et leur facilité d'utilisation, et peuvent être déployés rapidement et facilement à l'aide d'une variété de "droplets" préconçus ou de configurations personnalisées.
Stockage : DigitalOcean propose une gamme d'options de stockage, y compris le stockage d'objets, le stockage en bloc et les bases de données gérées, qui peuvent être utilisées pour stocker et gérer des données pour des sites Web et des applications.
Outils de développement et de déploiement : DigitalOcean fournit une gamme d'outils qui peuvent être utilisés pour construire, déployer et gérer des applications, y compris des API et des droplets préconçus.
Sécurité : DigitalOcean accorde une grande importance à la sécurité et propose une gamme d'outils et de fonctionnalités pour aider les utilisateurs à protéger leurs données et applications. Cela inclut le chiffrement, les sauvegardes et d'autres mesures de sécurité.
Dans l'ensemble, DigitalOcean est une plateforme de cloud computing qui fournit aux utilisateurs les outils et les ressources dont ils ont besoin pour construire, déployer et gérer des applications dans le cloud. Ses services sont conçus pour être simples et faciles à utiliser, ce qui les rend populaires parmi les développeurs et les petites entreprises.
L'une des principales différences entre DigitalOcean et AWS est la gamme de services qu'ils offrent. DigitalOcean se concentre sur la fourniture de serveurs privés virtuels (VPS) simples et faciles à utiliser, de stockage et d'outils de développement et de déploiement. AWS, en revanche, propose une gamme de services beaucoup plus large, y compris des VPS, du stockage, des bases de données, de l'apprentissage automatique, de l'analyse et de nombreux autres services. Cela signifie qu'AWS est plus adapté aux applications complexes de niveau entreprise, tandis que DigitalOcean est plus adapté aux petites entreprises et aux développeurs.
Une autre différence clé entre les deux plateformes est la structure tarifaire. La tarification de DigitalOcean est généralement plus simple et plus facile à comprendre que celle d'AWS, avec une gamme de plans tarifaires basés sur le nombre de droplets et d'autres ressources utilisées. AWS, en revanche, a une structure tarifaire plus complexe qui est basée sur une variété de facteurs, y compris le type et la quantité de ressources utilisées. Cela peut rendre plus difficile la prévision des coûts lors de l'utilisation d'AWS.
Un utilisateur est ce à quoi vous vous attendez, un utilisateur. Il peut créer des équipes et être membre de différentes équipes.
Une équipe est un groupe d'utilisateurs. Lorsqu'un utilisateur crée une équipe, il a le rôle de propriétaire de cette équipe et il configure initialement les informations de facturation. D'autres utilisateurs peuvent ensuite être invités à l'équipe.
À l'intérieur de l'équipe, il peut y avoir plusieurs projets. Un projet est juste un ensemble de services en cours d'exécution. Il peut être utilisé pour séparer différentes étapes d'infrastructure, comme prod, staging, dev...
Comme expliqué, un projet est juste un conteneur pour tous les services (droplets, espaces, bases de données, kubernetes...) fonctionnant ensemble à l'intérieur de celui-ci. Un projet Digital Ocean est très similaire à un projet GCP sans IAM.
Fondamentalement, tous les membres d'une équipe ont accès aux ressources DO dans tous les projets créés au sein de l'équipe (avec plus ou moins de privilèges).
Chaque utilisateur au sein d'une équipe peut avoir l'un des trois rôles suivants :
Propriétaire
Accès complet
Accès complet
Accès complet
Facturier
Pas d'accès
Accès complet
Pas d'accès
Membre
Accès complet
Pas d'accès
Pas d'accès
Le propriétaire et le membre peuvent lister les utilisateurs et vérifier leurs rôles (le facturier ne peut pas).
Comme dans la plupart des plateformes, pour accéder à l'interface graphique, vous pouvez utiliser un ensemble de nom d'utilisateur et mot de passe valides pour accéder aux ressources cloud. Une fois connecté, vous pouvez voir toutes les équipes dont vous faites partie sur https://cloud.digitalocean.com/account/profile. Et vous pouvez voir toute votre activité sur https://cloud.digitalocean.com/account/activity.
MFA peut être activé pour un utilisateur et imposé à tous les utilisateurs d'une équipe pour accéder à l'équipe.
Pour utiliser l'API, les utilisateurs peuvent générer des clés API. Celles-ci auront toujours des permissions de lecture, mais les permissions d'écriture sont optionnelles. Les clés API ressemblent à ceci :
L'outil cli est doctl. Initialisez-le (vous avez besoin d'un jeton) avec :
Par défaut, ce jeton sera écrit en texte clair sur Mac dans /Users/<username>/Library/Application Support/doctl/config.yaml
.
Ce sont des clés qui donnent accès aux Spaces (comme S3 dans AWS ou Storage dans GCP).
Elles sont composées d'un nom, d'un keyid et d'un secret. Un exemple pourrait être :
Les applications OAuth peuvent se voir accorder l'accès à Digital Ocean.
Il est possible de créer des applications OAuth sur https://cloud.digitalocean.com/account/api/applications et de vérifier toutes les applications OAuth autorisées sur https://cloud.digitalocean.com/account/api/access.
Il est possible d'ajouter des clés SSH à une équipe Digital Ocean depuis la console sur https://cloud.digitalocean.com/account/security.
De cette façon, si vous créez un nouveau droplet, la clé SSH sera définie dessus et vous pourrez vous connecter via SSH sans mot de passe (notez que les clés SSH nouvellement téléchargées ne sont pas définies dans les droplets déjà existants pour des raisons de sécurité).
La façon de déclencher une fonction via l'API REST (toujours activée, c'est la méthode utilisée par le cli) est de déclencher une requête avec un jeton d'authentification comme :
Les logs d'un utilisateur peuvent être trouvés à https://cloud.digitalocean.com/account/activity
Les logs d'une équipe peuvent être trouvés à https://cloud.digitalocean.com/account/security
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)