DO - Basic Information

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Informações Básicas

A DigitalOcean é uma plataforma de computação em nuvem que fornece aos usuários uma variedade de serviços, incluindo servidores virtuais privados (VPS) e outros recursos para construir, implantar e gerenciar aplicativos. Os serviços da DigitalOcean são projetados para serem simples e fáceis de usar, tornando-os populares entre desenvolvedores e pequenas empresas.

Algumas das principais características da DigitalOcean incluem:

  • Servidores virtuais privados (VPS): A DigitalOcean fornece VPS que podem ser usados para hospedar sites e aplicativos. Esses VPS são conhecidos por sua simplicidade e facilidade de uso, e podem ser implantados rapidamente e facilmente usando uma variedade de "droplets" pré-construídos ou configurações personalizadas.

  • Armazenamento: A DigitalOcean oferece uma variedade de opções de armazenamento, incluindo armazenamento de objetos, armazenamento em bloco e bancos de dados gerenciados, que podem ser usados para armazenar e gerenciar dados para sites e aplicativos.

  • Ferramentas de desenvolvimento e implantação: A DigitalOcean fornece uma variedade de ferramentas que podem ser usadas para construir, implantar e gerenciar aplicativos, incluindo APIs e droplets pré-construídos.

  • Segurança: A DigitalOcean coloca forte ênfase em segurança e oferece uma variedade de ferramentas e recursos para ajudar os usuários a manter seus dados e aplicativos seguros. Isso inclui criptografia, backups e outras medidas de segurança.

Em geral, a DigitalOcean é uma plataforma de computação em nuvem que fornece aos usuários as ferramentas e recursos necessários para construir, implantar e gerenciar aplicativos na nuvem. Seus serviços são projetados para serem simples e fáceis de usar, tornando-os populares entre desenvolvedores e pequenas empresas.

Principais Diferenças em relação à AWS

Uma das principais diferenças entre a DigitalOcean e a AWS é a variedade de serviços que oferecem. A DigitalOcean foca em fornecer servidores virtuais privados (VPS), armazenamento e ferramentas de desenvolvimento e implantação simples e fáceis de usar. A AWS, por outro lado, oferece um leque muito mais amplo de serviços, incluindo VPS, armazenamento, bancos de dados, aprendizado de máquina, análises e muitos outros serviços. Isso significa que a AWS é mais adequada para aplicativos complexos de nível empresarial, enquanto a DigitalOcean é mais adequada para pequenas empresas e desenvolvedores.

Outra diferença fundamental entre as duas plataformas é a estrutura de preços. A precificação da DigitalOcean geralmente é mais direta e fácil de entender do que a da AWS, com uma variedade de planos de preços baseados no número de droplets e outros recursos usados. A AWS, por outro lado, possui uma estrutura de preços mais complexa baseada em uma variedade de fatores, incluindo o tipo e a quantidade de recursos utilizados. Isso pode tornar mais difícil prever os custos ao usar a AWS.

Hierarquia

Usuário

Um usuário é o que você espera, um usuário. Ele pode criar equipes e ser membro de diferentes equipes.

Equipe

Uma equipe é um grupo de usuários. Quando um usuário cria uma equipe, ele tem o papel de proprietário nessa equipe e inicialmente configura as informações de faturamento. Outro usuário pode então ser convidado para a equipe.

Dentro da equipe pode haver vários projetos. Um projeto é apenas um conjunto de serviços em execução. Pode ser usado para separar diferentes estágios de infraestrutura, como produção, staging, desenvolvimento...

Projeto

Como explicado, um projeto é apenas um contêiner para todos os serviços (droplets, espaços, bancos de dados, kubernetes...) executados juntos dentro dele. Um projeto da Digital Ocean é muito semelhante a um projeto do GCP sem IAM.

Permissões

Equipe

Basicamente, todos os membros de uma equipe têm acesso aos recursos da DO em todos os projetos criados dentro da equipe (com mais ou menos privilégios).

Funções

Cada usuário dentro de uma equipe pode ter uma das seguintes três funções dentro dela:

FunçãoRecursos CompartilhadosInformações de FaturamentoConfigurações da Equipe

Proprietário

Acesso total

Acesso total

Acesso total

Faturador

Sem acesso

Acesso total

Sem acesso

Membro

Acesso total

Sem acesso

Sem acesso

Proprietário e membro podem listar os usuários e verificar suas funções (o faturador não pode).

Acesso

Nome de usuário + senha (MFA)

Como na maioria das plataformas, para acessar a GUI você pode usar um conjunto de nome de usuário e senha válidos para acessar os recursos na nuvem. Depois de fazer login, você pode ver todas as equipes das quais faz parte em https://cloud.digitalocean.com/account/profile. E você pode ver toda a sua atividade em https://cloud.digitalocean.com/account/activity.

MFA pode ser habilitado em um usuário e obrigatório para todos os usuários em uma equipe acessarem a equipe.

Chaves de API

Para usar a API, os usuários podem gerar chaves de API. Elas sempre vêm com permissões de Leitura, mas as permissões de Escrita são opcionais. As chaves de API se parecem com isso:

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

A ferramenta cli é doctl. Inicialize-a (você precisa de um token) com:

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

Por padrão, este token será escrito em texto claro no Mac em /Users/<username>/Library/Application Support/doctl/config.yaml.

Chaves de acesso Spaces

Estas são chaves que dão acesso aos Spaces (como S3 na AWS ou Storage no GCP).

Elas são compostas por um nome, um keyid e um segredo. Um exemplo poderia ser:

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

Aplicação OAuth

As aplicações OAuth podem ser concedidas acesso sobre o Digital Ocean.

É possível criar aplicações OAuth em https://cloud.digitalocean.com/account/api/applications e verificar todas as aplicações OAuth permitidas em https://cloud.digitalocean.com/account/api/access.

Chaves SSH

É possível adicionar chaves SSH a uma equipe do Digital Ocean a partir do console em https://cloud.digitalocean.com/account/security.

Dessa forma, se você criar um novo droplet, a chave SSH será configurada nele e você poderá fazer login via SSH sem senha (observe que as chaves SSH recém-carregadas não são configuradas em droplets já existentes por motivos de segurança).

Token de Autenticação de Funções

A maneira de acionar uma função via REST API (sempre habilitada, é o método que o cli usa) é acionando uma solicitação com um token de autenticação como:

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

Registos

Registos de Utilizador

Os registos de um utilizador podem ser encontrados em https://cloud.digitalocean.com/account/activity

Registos de Equipa

Os registos de uma equipa podem ser encontrados em https://cloud.digitalocean.com/account/security

Referências

Aprenda hacking AWS de zero a herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Última actualización