DO - Grundinformationen
Reading time: 7 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Grundinformationen
DigitalOcean ist eine Cloud-Computing-Plattform, die Benutzern eine Vielzahl von Diensten bietet, einschließlich virtueller privater Server (VPS) und anderer Ressourcen zum Erstellen, Bereitstellen und Verwalten von Anwendungen. Die Dienste von DigitalOcean sind so konzipiert, dass sie einfach und benutzerfreundlich sind, was sie bei Entwicklern und kleinen Unternehmen beliebt macht.
Einige der Hauptmerkmale von DigitalOcean sind:
- Virtuelle private Server (VPS): DigitalOcean bietet VPS an, die zum Hosten von Websites und Anwendungen verwendet werden können. Diese VPS sind bekannt für ihre Einfachheit und Benutzerfreundlichkeit und können schnell und einfach mit einer Vielzahl von vorgefertigten "Droplets" oder benutzerdefinierten Konfigurationen bereitgestellt werden.
- Speicher: DigitalOcean bietet eine Reihe von Speicheroptionen, einschließlich Objektspeicher, Blockspeicher und verwalteten Datenbanken, die zum Speichern und Verwalten von Daten für Websites und Anwendungen verwendet werden können.
- Entwicklungs- und Bereitstellungstools: DigitalOcean bietet eine Reihe von Tools, die zum Erstellen, Bereitstellen und Verwalten von Anwendungen verwendet werden können, einschließlich APIs und vorgefertigten Droplets.
- Sicherheit: DigitalOcean legt großen Wert auf Sicherheit und bietet eine Reihe von Tools und Funktionen, um Benutzern zu helfen, ihre Daten und Anwendungen sicher zu halten. Dazu gehören Verschlüsselung, Backups und andere Sicherheitsmaßnahmen.
Insgesamt ist DigitalOcean eine Cloud-Computing-Plattform, die Benutzern die Werkzeuge und Ressourcen bietet, die sie benötigen, um Anwendungen in der Cloud zu erstellen, bereitzustellen und zu verwalten. Ihre Dienste sind so konzipiert, dass sie einfach und benutzerfreundlich sind, was sie bei Entwicklern und kleinen Unternehmen beliebt macht.
Hauptunterschiede zu AWS
Einer der Hauptunterschiede zwischen DigitalOcean und AWS ist die Bandbreite der angebotenen Dienste. DigitalOcean konzentriert sich darauf, einfache und benutzerfreundliche virtuelle private Server (VPS), Speicher und Entwicklungs- und Bereitstellungstools anzubieten. AWS hingegen bietet eine deutlich breitere Palette von Diensten an, einschließlich VPS, Speicher, Datenbanken, maschinelles Lernen, Analytik und viele andere Dienste. Das bedeutet, dass AWS besser für komplexe, unternehmensweite Anwendungen geeignet ist, während DigitalOcean besser für kleine Unternehmen und Entwickler geeignet ist.
Ein weiterer wichtiger Unterschied zwischen den beiden Plattformen ist die Preisstruktur. Die Preisgestaltung von DigitalOcean ist im Allgemeinen einfacher und leichter zu verstehen als die von AWS, mit einer Reihe von Preisplänen, die auf der Anzahl der verwendeten Droplets und anderen Ressourcen basieren. AWS hingegen hat eine komplexere Preisstruktur, die auf einer Vielzahl von Faktoren basiert, einschließlich der Art und Menge der verwendeten Ressourcen. Dies kann es schwieriger machen, die Kosten bei der Nutzung von AWS vorherzusagen.
Hierarchie
Benutzer
Ein Benutzer ist das, was Sie erwarten, ein Benutzer. Er kann Teams erstellen und Mitglied verschiedener Teams sein.
Team
Ein Team ist eine Gruppe von Benutzern. Wenn ein Benutzer ein Team erstellt, hat er die Rolle des Eigentümers in diesem Team und richtet zunächst die Abrechnungsinformationen ein. Andere Benutzer können dann in das Team eingeladen werden.
Innerhalb des Teams kann es mehrere Projekte geben. Ein Projekt ist einfach ein Set von Diensten, die laufen. Es kann verwendet werden, um verschiedene Infrastrukturphasen zu trennen, wie Prod, Staging, Dev...
Projekt
Wie erklärt, ist ein Projekt einfach ein Container für alle Dienste (Droplets, Spaces, Datenbanken, Kubernetes...), die gemeinsam darin laufen.
Ein Digital Ocean-Projekt ist sehr ähnlich zu einem GCP-Projekt ohne IAM.
Berechtigungen
Team
Grundsätzlich haben alle Mitglieder eines Teams Zugriff auf die DO-Ressourcen in allen Projekten, die innerhalb des Teams erstellt wurden (mit mehr oder weniger Berechtigungen).
Rollen
Jeder Benutzer innerhalb eines Teams kann eine der folgenden drei Rollen innerhalb davon haben:
Rolle | Geteilte Ressourcen | Abrechnungsinformationen | Teameinstellungen |
---|---|---|---|
Eigentümer | Vollzugriff | Vollzugriff | Vollzugriff |
Abrechner | Kein Zugriff | Vollzugriff | Kein Zugriff |
Mitglied | Vollzugriff | Kein Zugriff | Kein Zugriff |
Eigentümer und Mitglied können die Benutzer auflisten und ihre Rollen überprüfen (Abrechner kann das nicht).
Zugriff
Benutzername + Passwort (MFA)
Wie in den meisten Plattformen können Sie, um auf die GUI zuzugreifen, ein Set von gültigem Benutzernamen und Passwort verwenden, um auf die Cloud-Ressourcen zuzugreifen. Nach dem Einloggen können Sie alle Teams, zu denen Sie gehören, unter https://cloud.digitalocean.com/account/profile sehen.
Und Sie können alle Ihre Aktivitäten unter https://cloud.digitalocean.com/account/activity sehen.
MFA kann für einen Benutzer aktiviert und für alle Benutzer in einem Team durchgesetzt werden, um auf das Team zuzugreifen.
API-Schlüssel
Um die API zu nutzen, können Benutzer API-Schlüssel generieren. Diese haben immer Lese-Berechtigungen, aber Schreibberechtigungen sind optional.
Die API-Schlüssel sehen so aus:
dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836
Das CLI-Tool ist doctl. Initialisieren Sie es (Sie benötigen ein Token) mit:
doctl auth init # Asks for the token
doctl auth init --context my-context # Login with a different token
doctl auth list # List accounts
Standardmäßig wird dieses Token im Klartext auf dem Mac in /Users/<username>/Library/Application Support/doctl/config.yaml
geschrieben.
Spaces-Zugriffsschlüssel
Dies sind Schlüssel, die Zugriff auf die Spaces gewähren (wie S3 in AWS oder Storage in GCP).
Sie bestehen aus einem Namen, einer KeyID und einem Geheimnis. Ein Beispiel könnte sein:
Name: key-example
Keyid: DO00ZW4FABSGZHAABGFX
Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM
OAuth-Anwendung
OAuth-Anwendungen können Zugriff über Digital Ocean erhalten.
Es ist möglich, OAuth-Anwendungen zu erstellen in https://cloud.digitalocean.com/account/api/applications und alle erlaubten OAuth-Anwendungen in https://cloud.digitalocean.com/account/api/access zu überprüfen.
SSH-Schlüssel
Es ist möglich, SSH-Schlüssel zu einem Digital Ocean Team über die Konsole in https://cloud.digitalocean.com/account/security hinzuzufügen.
Auf diese Weise wird, wenn Sie einen neuen Droplet erstellen, der SSH-Schlüssel darauf gesetzt und Sie können sich via SSH ohne Passwort anmelden (beachten Sie, dass neu hochgeladene SSH-Schlüssel aus Sicherheitsgründen nicht in bereits vorhandenen Droplets gesetzt werden).
Funktionen-Authentifizierungstoken
Der Weg, eine Funktion über die REST-API auszulösen (immer aktiviert, es ist die Methode, die die CLI verwendet), besteht darin, eine Anfrage mit einem Authentifizierungstoken wie: auszulösen.
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="
Protokolle
Benutzerprotokolle
Die Protokolle eines Benutzers sind zu finden unter https://cloud.digitalocean.com/account/activity
Teamprotokolle
Die Protokolle eines Teams sind zu finden unter https://cloud.digitalocean.com/account/security
Referenzen
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.