DO - Osnovne informacije

Reading time: 6 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Osnovne informacije

DigitalOcean je platforma za cloud računarstvo koja korisnicima pruža razne usluge, uključujući virtuelne privatne servere (VPS) i druge resurse za izgradnju, implementaciju i upravljanje aplikacijama. Usluge DigitalOcean-a su dizajnirane da budu jednostavne i lake za korišćenje, što ih čini popularnim među programerima i malim preduzećima.

Neke od ključnih karakteristika DigitalOcean-a uključuju:

  • Virtuelni privatni serveri (VPS): DigitalOcean pruža VPS koji se mogu koristiti za hostovanje veb sajtova i aplikacija. Ovi VPS su poznati po svojoj jednostavnosti i lakoći korišćenja, i mogu se brzo i lako implementirati koristeći razne unapred pripremljene "droplete" ili prilagođene konfiguracije.
  • Skladištenje: DigitalOcean nudi niz opcija za skladištenje, uključujući skladištenje objekata, blok skladištenje i upravljane baze podataka, koje se mogu koristiti za skladištenje i upravljanje podacima za veb sajtove i aplikacije.
  • Alati za razvoj i implementaciju: DigitalOcean pruža niz alata koji se mogu koristiti za izgradnju, implementaciju i upravljanje aplikacijama, uključujući API-je i unapred pripremljene droplete.
  • Bezbednost: DigitalOcean stavlja veliki naglasak na bezbednost i nudi niz alata i karakteristika koje pomažu korisnicima da drže svoje podatke i aplikacije sigurnim. Ovo uključuje enkripciju, rezervne kopije i druge mere bezbednosti.

Sve u svemu, DigitalOcean je platforma za cloud računarstvo koja korisnicima pruža alate i resurse potrebne za izgradnju, implementaciju i upravljanje aplikacijama u oblaku. Njegove usluge su dizajnirane da budu jednostavne i lake za korišćenje, što ih čini popularnim među programerima i malim preduzećima.

Glavne razlike u odnosu na AWS

Jedna od glavnih razlika između DigitalOcean-a i AWS-a je raspon usluga koje nude. DigitalOcean se fokusira na pružanje jednostavnih i lakih za korišćenje virtuelnih privatnih servera (VPS), skladištenja i alata za razvoj i implementaciju. AWS, s druge strane, nudi mnogo širi spektar usluga, uključujući VPS, skladištenje, baze podataka, mašinsko učenje, analitiku i mnoge druge usluge. To znači da je AWS pogodniji za složene, aplikacije na nivou preduzeća, dok je DigitalOcean više prilagođen malim preduzećima i programerima.

Još jedna ključna razlika između dve platforme je struktura cena. Cene DigitalOcean-a su generalno jednostavnije i lakše za razumevanje od AWS-a, sa nizom planova cena koji se zasnivaju na broju dropleta i drugih korišćenih resursa. AWS, s druge strane, ima složeniju strukturu cena koja se zasniva na raznim faktorima, uključujući tip i količinu korišćenih resursa. Ovo može otežati predviđanje troškova prilikom korišćenja AWS-a.

Hijerarhija

Korisnik

Korisnik je ono što očekujete, korisnik. On može kreirati timove i biti član različitih timova.

Tim

Tim je grupa korisnika. Kada korisnik kreira tim, on ima ulogu vlasnika tog tima i inicijalno postavlja informacije o naplati. Ostali korisnici mogu biti pozvani u tim.

Unutar tima može biti nekoliko projekata. Projekat je samo set usluga koje rade. Može se koristiti za razdvajanje različitih faza infrastrukture, kao što su prod, staging, dev...

Projekat

Kao što je objašnjeno, projekat je samo kontejner za sve usluge (droplete, prostore, baze podataka, kubernetes...) koje rade zajedno unutar njega.
Digital Ocean projekat je vrlo sličan GCP projektu bez IAM-a.

Dozvole

Tim

U suštini, svi članovi tima imaju pristup DO resursima u svim projektima kreiranim unutar tima (sa više ili manje privilegija).

Uloge

Svaki korisnik unutar tima može imati jednu od sledeće tri uloge unutar njega:

UlogaDeljeni resursiInformacije o naplatiPodešavanja tima
VlasnikPotpun pristupPotpun pristupPotpun pristup
NaplataNema pristupPotpun pristupNema pristup
ČlanPotpun pristupNema pristupNema pristup

Vlasnik i član mogu da navedu korisnike i provere njihove uloge (naplata ne može).

Pristup

Korisničko ime + lozinka (MFA)

Kao i na većini platformi, da biste pristupili GUI-u, možete koristiti set važećeg korisničkog imena i lozinke za pristup cloud resursima. Kada se prijavite, možete videti sve timove kojima pripadate na https://cloud.digitalocean.com/account/profile.
I možete videti sve svoje aktivnosti na https://cloud.digitalocean.com/account/activity.

MFA može biti omogućena za korisnika i nametnuta za sve korisnike u timu da pristupe timu.

API ključevi

Da bi koristili API, korisnici mogu generisati API ključeve. Ovi ključevi će uvek imati Read dozvole, ali Write dozvole su opcione.
API ključevi izgledaju ovako:

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

Alat za komandnu liniju je doctl. Inicijalizujte ga (potreban vam je token) sa:

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

Podrazumevano, ovaj token će biti zapisan u čistom tekstu na Mac-u u /Users/<username>/Library/Application Support/doctl/config.yaml.

Ključevi za pristup Spaces

Ovo su ključevi koji daju pristup Spaces (kao S3 u AWS-u ili Storage u GCP-u).

Sastoje se od imena, keyid i secret. Primer bi mogao biti:

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

OAuth aplikacija

OAuth aplikacije mogu dobiti pristup preko Digital Ocean.

Moguće je napraviti OAuth aplikacije na https://cloud.digitalocean.com/account/api/applications i proveriti sve dozvoljene OAuth aplikacije na https://cloud.digitalocean.com/account/api/access.

SSH ključevi

Moguće je dodati SSH ključeve u Digital Ocean tim iz konsole na https://cloud.digitalocean.com/account/security.

Na ovaj način, ako kreirate novi droplet, SSH ključ će biti postavljen na njemu i moći ćete da se prijavite putem SSH bez lozinke (napomena da novouploadovani SSH ključevi nisu postavljeni na već postojeće droplete iz bezbednosnih razloga).

Token za autentifikaciju funkcija

Način da se pokrene funkcija putem REST API (uvek omogućen, to je metoda koju koristi cli) je slanjem zahteva sa tokenom za autentifikaciju kao:

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

Logovi

Logovi korisnika

Logovi korisnika mogu se pronaći na https://cloud.digitalocean.com/account/activity

Logovi tima

Logovi tima mogu se pronaći na https://cloud.digitalocean.com/account/security

Reference

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks