DO - Basic Information

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

DigitalOcean to platforma obliczeniowa w chmurze, która dostarcza użytkownikom różnorodne usługi, w tym wirtualne serwery prywatne (VPS) i inne zasoby do budowania, wdrażania i zarządzania aplikacjami. Usługi DigitalOcean są zaprojektowane tak, aby były proste i łatwe w użyciu, co sprawia, że są popularne wśród programistów i małych firm.

Niektóre z głównych cech DigitalOcean to:

  • Wirtualne serwery prywatne (VPS): DigitalOcean dostarcza VPS, które można używać do hostowania witryn i aplikacji. Te VPS są znane ze swojej prostoty i łatwości użycia, i można je szybko i łatwo wdrożyć za pomocą różnych predefiniowanych "kropli" lub niestandardowych konfiguracji.

  • Przechowywanie danych: DigitalOcean oferuje różne opcje przechowywania danych, w tym przechowywanie obiektów, przechowywanie bloków i zarządzane bazy danych, które można używać do przechowywania i zarządzania danymi dla witryn i aplikacji.

  • Narzędzia do rozwoju i wdrażania: DigitalOcean dostarcza szereg narzędzi, które można używać do budowania, wdrażania i zarządzania aplikacjami, w tym interfejsy API i predefiniowane krople.

  • Bezpieczeństwo: DigitalOcean przykłada dużą wagę do bezpieczeństwa i oferuje szereg narzędzi i funkcji, które pomagają użytkownikom chronić ich dane i aplikacje. Obejmuje to szyfrowanie, kopie zapasowe i inne środki bezpieczeństwa.

Ogólnie rzecz biorąc, DigitalOcean to platforma obliczeniowa w chmurze, która dostarcza użytkownikom narzędzi i zasobów potrzebnych do budowania, wdrażania i zarządzania aplikacjami w chmurze. Jej usługi są zaprojektowane tak, aby były proste i łatwe w użyciu, co sprawia, że są popularne wśród programistów i małych firm.

Główne różnice w porównaniu z AWS

Jedną z głównych różnic między DigitalOcean a AWS jest zakres oferowanych usług. DigitalOcean skupia się na dostarczaniu prostych i łatwych w użyciu wirtualnych serwerów prywatnych (VPS), przechowywania danych oraz narzędzi do rozwoju i wdrażania. AWS z kolei oferuje znacznie szerszy zakres usług, w tym VPS, przechowywanie danych, bazy danych, uczenie maszynowe, analizy i wiele innych usług. Oznacza to, że AWS jest bardziej odpowiedni dla złożonych aplikacji na poziomie przedsiębiorstwa, podczas gdy DigitalOcean jest bardziej odpowiedni dla małych firm i programistów.

Inną istotną różnicą między tymi dwoma platformami jest struktura cenowa. Cennik DigitalOcean jest zazwyczaj bardziej prosty i łatwiejszy do zrozumienia niż AWS, z różnymi planami cenowymi opartymi na liczbie kropli i innych używanych zasobach. AWS z kolei ma bardziej złożoną strukturę cenową, która opiera się na różnych czynnikach, takich jak rodzaj i ilość używanych zasobów. Może to utrudnić przewidywanie kosztów korzystania z AWS.

Hierarchia

Użytkownik

Użytkownik to to, czego można się spodziewać, czyli użytkownik. Może tworzyć zespoły i być członkiem różnych zespołów.

Zespół

Zespół to grupa użytkowników. Gdy użytkownik tworzy zespół, ma rolę właściciela w tym zespole i początkowo ustawia informacje dotyczące rozliczeń. Inni użytkownicy mogą zostać zaproszeni do zespołu.

Wewnątrz zespołu mogą znajdować się różne projekty. Projekt to po prostu zestaw uruchomionych usług. Może być używany do separacji różnych etapów infrastruktury, takich jak produkcja, staging, dev...

Projekt

Jak już wyjaśniono, projekt to po prostu kontener dla wszystkich usług (krople, przestrzenie, bazy danych, kubernetes...), które działają razem wewnątrz niego. Projekt Digital Ocean jest bardzo podobny do projektu GCP bez IAM.

Uprawnienia

Zespół

W zasadzie wszyscy członkowie zespołu mają dostęp do zasobów DO we wszystkich projektach utworzonych w ramach zespołu (z większymi lub mniejszymi uprawnieniami).

Role

Każdy użytkownik w zespole może mieć jedną z trzech ról:

RolaWspółdzielone zasobyInformacje rozliczenioweUstawienia zespołu

Właściciel

Pełny dostęp

Pełny dostęp

Pełny dostęp

Rozliczający

Brak dostępu

Pełny dostęp

Brak dostępu

Członek

Pełny dostęp

Brak dostępu

Brak dostępu

Właściciel i członek mogą wyświetlać listę użytkowników i sprawdzać ich role (rozliczający nie może).

Dostęp

Nazwa użytkownika + hasło (MFA)

Jak w większości platform, aby uzyskać dostęp do interfejsu graficznego, można użyć zestawu poprawnej nazwy użytkownika i hasła do dostępu do zasobów w chmurze. Po zalogowaniu można zobaczyć wszystkie zespoły, do których należysz w https://cloud.digitalocean.com/account/profile. Można również zobaczyć całą swoją aktywność w https://cloud.digitalocean.com/account/activity.

MFA można włączyć dla użytkownika i wymusić dla wszystkich użytkowników w zespołach, aby uzyskać dostęp do zespołu.

Klucze API

Aby korzystać z interfejsu API, użytkownicy mogą generować klucze API. Zawsze będą one miały uprawnienia do odczytu, ale uprawnienia do zapisu są opcjonalne. Klucze API wyglądają tak:

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

Narzędzie wiersza poleceń to doctl. Zainicjuj je (potrzebujesz tokena) za pomocą:

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

Domyślnie ten token zostanie zapisany w postaci tekstu w Macu w /Users/<nazwa_użytkownika>/Library/Application Support/doctl/config.yaml.

Klucze dostępu do Spaces

Są to klucze, które umożliwiają dostęp do Spaces (podobnie jak S3 w AWS lub Storage w GCP).

Są one składane z nazwy, keyid i sekretu. Przykładem może być:

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

Aplikacja OAuth

Aplikacje OAuth mogą otrzymać dostęp do Digital Ocean.

Możliwe jest tworzenie aplikacji OAuth w https://cloud.digitalocean.com/account/api/applications oraz sprawdzanie wszystkich dozwolonych aplikacji OAuth w https://cloud.digitalocean.com/account/api/access.

Klucze SSH

Możliwe jest dodawanie kluczy SSH do zespołu Digital Ocean z konsoli w https://cloud.digitalocean.com/account/security.

W ten sposób, jeśli utworzysz nowy droplet, klucz SSH zostanie na nim ustawiony i będziesz mógł zalogować się za pomocą SSH bez hasła (należy zauważyć, że nowo przesłane klucze SSH nie są ustawiane w już istniejących dropletach ze względów bezpieczeństwa).

Token uwierzytelniania funkcji

Sposób wywołania funkcji za pomocą interfejsu REST API (zawsze włączony, jest to metoda używana przez interfejs wiersza poleceń) polega na wysłaniu żądania z tokenem uwierzytelniania takim jak:

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="

Dzienniki

Dzienniki użytkownika

Dzienniki użytkownika można znaleźć pod adresem https://cloud.digitalocean.com/account/activity

Dzienniki zespołu

Dzienniki zespołu można znaleźć pod adresem https://cloud.digitalocean.com/account/security

Odnośniki

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated