DO - Basic Information
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
DigitalOcean es una plataforma de computación en la nube que proporciona a los usuarios una variedad de servicios, incluyendo servidores privados virtuales (VPS) y otros recursos para construir, desplegar y gestionar aplicaciones. Los servicios de DigitalOcean están diseñados para ser simples y fáciles de usar, lo que los hace populares entre desarrolladores y pequeñas empresas.
Algunas de las características clave de DigitalOcean incluyen:
Servidores privados virtuales (VPS): DigitalOcean proporciona VPS que pueden ser utilizados para alojar sitios web y aplicaciones. Estos VPS son conocidos por su simplicidad y facilidad de uso, y pueden ser desplegados rápida y fácilmente utilizando una variedad de "droplets" preconstruidos o configuraciones personalizadas.
Almacenamiento: DigitalOcean ofrece una gama de opciones de almacenamiento, incluyendo almacenamiento de objetos, almacenamiento en bloque y bases de datos gestionadas, que pueden ser utilizados para almacenar y gestionar datos para sitios web y aplicaciones.
Herramientas de desarrollo y despliegue: DigitalOcean proporciona una variedad de herramientas que pueden ser utilizadas para construir, desplegar y gestionar aplicaciones, incluyendo APIs y droplets preconstruidos.
Seguridad: DigitalOcean pone un fuerte énfasis en la seguridad, y ofrece una gama de herramientas y características para ayudar a los usuarios a mantener sus datos y aplicaciones seguros. Esto incluye cifrado, copias de seguridad y otras medidas de seguridad.
En general, DigitalOcean es una plataforma de computación en la nube que proporciona a los usuarios las herramientas y recursos que necesitan para construir, desplegar y gestionar aplicaciones en la nube. Sus servicios están diseñados para ser simples y fáciles de usar, lo que los hace populares entre desarrolladores y pequeñas empresas.
Una de las principales diferencias entre DigitalOcean y AWS es la gama de servicios que ofrecen. DigitalOcean se centra en proporcionar servidores privados virtuales (VPS) simples y fáciles de usar, almacenamiento y herramientas de desarrollo y despliegue. AWS, por otro lado, ofrece una gama de servicios mucho más amplia, incluyendo VPS, almacenamiento, bases de datos, aprendizaje automático, análisis y muchos otros servicios. Esto significa que AWS es más adecuado para aplicaciones complejas a nivel empresarial, mientras que DigitalOcean es más adecuado para pequeñas empresas y desarrolladores.
Otra diferencia clave entre las dos plataformas es la estructura de precios. Los precios de DigitalOcean son generalmente más directos y fáciles de entender que los de AWS, con una variedad de planes de precios que se basan en el número de droplets y otros recursos utilizados. AWS, por otro lado, tiene una estructura de precios más compleja que se basa en una variedad de factores, incluyendo el tipo y la cantidad de recursos utilizados. Esto puede dificultar la predicción de costos al usar AWS.
Un usuario es lo que esperas, un usuario. Puede crear Equipos y ser miembro de diferentes equipos.
Un equipo es un grupo de usuarios. Cuando un usuario crea un equipo, tiene el rol de propietario en ese equipo y inicialmente configura la información de facturación. Otros usuarios pueden ser invitados al equipo.
Dentro del equipo puede haber varios proyectos. Un proyecto es solo un conjunto de servicios en ejecución. Puede ser utilizado para separar diferentes etapas de infraestructura, como producción, staging, desarrollo...
Como se explicó, un proyecto es solo un contenedor para todos los servicios (droplets, espacios, bases de datos, kubernetes...) que se ejecutan juntos dentro de él. Un proyecto de Digital Ocean es muy similar a un proyecto de GCP sin IAM.
Básicamente, todos los miembros de un equipo tienen acceso a los recursos de DO en todos los proyectos creados dentro del equipo (con más o menos privilegios).
Cada usuario dentro de un equipo puede tener uno de los siguientes tres roles dentro de él:
Rol | Recursos Compartidos | Información de Facturación | Configuración del Equipo |
---|---|---|---|
Propietario | Acceso total | Acceso total | Acceso total |
Facturador | Sin acceso | Acceso total | Sin acceso |
Miembro | Acceso total | Sin acceso | Sin acceso |
El propietario y el miembro pueden listar los usuarios y verificar sus roles (el facturador no puede).
Como en la mayoría de las plataformas, para acceder a la GUI puedes usar un conjunto de nombre de usuario y contraseña válidos para acceder a los recursos de la nube. Una vez que inicies sesión, puedes ver todos los equipos de los que eres parte en https://cloud.digitalocean.com/account/profile. Y puedes ver toda tu actividad en https://cloud.digitalocean.com/account/activity.
MFA puede ser habilitado en un usuario y exigido para todos los usuarios en un equipo para acceder al equipo.
Para utilizar la API, los usuarios pueden generar claves API. Estas siempre vendrán con permisos de lectura, pero los permisos de escritura son opcionales. Las claves API se ven así:
La herramienta de línea de comandos es doctl. Inicialízala (necesitas un token) con:
Por defecto, este token se escribirá en texto claro en Mac en /Users/<username>/Library/Application Support/doctl/config.yaml
.
Estas son claves que dan acceso a los Spaces (como S3 en AWS o Storage en GCP).
Se componen de un nombre, un keyid y un secret. Un ejemplo podría ser:
Las aplicaciones OAuth pueden recibir acceso a Digital Ocean.
Es posible crear aplicaciones OAuth en https://cloud.digitalocean.com/account/api/applications y verificar todas las aplicaciones OAuth permitidas en https://cloud.digitalocean.com/account/api/access.
Es posible agregar claves SSH a un equipo de Digital Ocean desde la consola en https://cloud.digitalocean.com/account/security.
De esta manera, si creas un nuevo droplet, la clave SSH se configurará en él y podrás iniciar sesión a través de SSH sin contraseña (ten en cuenta que las claves SSH recién subidas no se configuran en droplets ya existentes por razones de seguridad).
La forma de activar una función a través de REST API (siempre habilitado, es el método que utiliza el cli) es activando una solicitud con un token de autenticación como:
Los logs de un usuario se pueden encontrar en https://cloud.digitalocean.com/account/activity
Los logs de un equipo se pueden encontrar en 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)