DO - 基本信息
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
基本信息
DigitalOcean 是一个 云计算平台,提供多种服务,包括虚拟私人服务器 (VPS) 和其他用于构建、部署和管理应用程序的资源。DigitalOcean 的服务旨在简单易用,使其在 开发者和小型企业中广受欢迎。
DigitalOcean 的一些关键特性包括:
- 虚拟私人服务器 (VPS):DigitalOcean 提供可用于托管网站和应用程序的 VPS。这些 VPS 以其简单性和易用性而闻名,可以通过多种预构建的 “droplets” 或自定义配置快速轻松地部署。
- 存储:DigitalOcean 提供一系列存储选项,包括对象存储、块存储和托管数据库,可用于存储和管理网站和应用程序的数据。
- 开发和部署工具:DigitalOcean 提供一系列可用于构建、部署和管理应用程序的工具,包括 API 和预构建的 droplets。
- 安全性:DigitalOcean 非常重视安全性,并提供一系列工具和功能,帮助用户保护他们的数据和应用程序安全。这包括加密、备份和其他安全措施。
总体而言,DigitalOcean 是一个云计算平台,为用户提供构建、部署和管理云中应用程序所需的工具和资源。其服务旨在简单易用,使其在开发者和小型企业中广受欢迎。
与 AWS 的主要区别
DigitalOcean 和 AWS 之间的主要区别之一是 它们提供的服务范围。DigitalOcean 专注于提供简单 和易于使用的虚拟私人服务器 (VPS)、存储以及开发和部署工具。AWS 则提供 更广泛的服务,包括 VPS、存储、数据库、机器学习、分析和许多其他服务。这意味着 AWS 更适合复杂的企业级应用程序,而 DigitalOcean 更适合小型企业和开发者。
两个平台之间的另一个关键区别是 定价结构。DigitalOcean 的定价通常更简单,更易于 理解,提供基于使用的 droplets 和其他资源数量的多种定价计划。而 AWS 的定价结构则更复杂,基于多种因素,包括使用的资源类型和数量。这可能使得在使用 AWS 时更难预测成本。
层级
用户
用户就是你所期望的用户。他可以 创建团队 并 成为不同团队的成员。
团队
团队是一组 用户。当用户创建团队时,他在该团队中拥有 所有者角色,并最初 设置账单信息。其他 用户可以被 邀请 加入团队。
团队内部可能有多个 项目。项目只是一个 运行中的服务集合。它可以用于 分隔不同的基础设施阶段,如生产、预发布、开发…
项目
如前所述,项目只是一个容器,包含所有 服务(droplets、spaces、数据库、kubernetes…) 在其中一起运行。
Digital Ocean 项目与 GCP 项目非常相似,但没有 IAM。
权限
团队
基本上,团队的所有成员都 可以访问团队内创建的所有项目中的 DO 资源(权限多或少)。
角色
团队内的每个 用户 可以拥有以下三种 角色 中的 一种:
| 角色 | 共享资源 | 账单信息 | 团队设置 |
|---|---|---|---|
| 所有者 | 完全访问 | 完全访问 | 完全访问 |
| 账单员 | 无访问 | 完全访问 | 无访问 |
| 成员 | 完全访问 | 无访问 | 无访问 |
所有者 和 成员可以列出用户 并检查他们的 角色(账单员不能)。
访问
用户名 + 密码 (MFA)
与大多数平台一样,为了访问 GUI,您可以使用一组 有效的用户名和密码 来 访问 云 资源。登录后,您可以在 https://cloud.digitalocean.com/account/profile 查看 您所参与的所有团队。
您可以在 https://cloud.digitalocean.com/account/activity 查看您的所有活动。
MFA 可以在用户中 启用,并 强制 所有用户在 团队 中访问该团队。
API 密钥
为了使用 API,用户可以 生成 API 密钥。这些密钥将始终具有读取权限,但 写入权限是可选的。
API 密钥的格式如下:
dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836
CLI工具是doctl。使用以下命令初始化它(您需要一个令牌):
doctl auth init # Asks for the token
doctl auth init --context my-context # Login with a different token
doctl auth list # List accounts
默认情况下,此令牌将以明文形式写入 Mac 的 /Users/<username>/Library/Application Support/doctl/config.yaml。
Spaces 访问密钥
这些是提供对 Spaces 的 访问 的密钥(如 AWS 中的 S3 或 GCP 中的 Storage)。
它们由 名称、keyid 和 secret 组成。一个示例可以是:
Name: key-example
Keyid: DO00ZW4FABSGZHAABGFX
Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM
OAuth 应用程序
OAuth 应用程序可以被授予 对 Digital Ocean 的访问权限。
可以在 https://cloud.digitalocean.com/account/api/applications 创建 OAuth 应用程序,并在 https://cloud.digitalocean.com/account/api/access 检查所有 允许的 OAuth 应用程序。
SSH 密钥
可以从 https://cloud.digitalocean.com/account/security 的 控制台 向 Digital Ocean 团队添加 SSH 密钥。
这样,如果您创建一个 新滴水,SSH 密钥将被设置 在上面,您将能够 通过 SSH 登录 而无需密码(请注意,出于安全原因,新上传的 SSH 密钥不会在已存在的滴水中设置)。
函数认证令牌
通过 REST API 触发函数 的方式(始终启用,这是 cli 使用的方法)是通过触发带有 认证令牌 的请求,例如:
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="
日志
用户日志
用户的日志可以在https://cloud.digitalocean.com/account/activity找到。
团队日志
团队的日志可以在https://cloud.digitalocean.com/account/security找到。
参考
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
HackTricks Cloud

