Files
hacktricks-cloud/src/pentesting-cloud/digital-ocean-pentesting/do-basic-information.md

9.8 KiB
Raw Blame History

DO - 基本情報

{{#include ../../banners/hacktricks-training.md}}

基本情報

DigitalOceanは、ユーザーにさまざまなサービスを提供するクラウドコンピューティングプラットフォームです。これには、仮想プライベートサーバーVPSや、アプリケーションの構築、展開、管理のためのその他のリソースが含まれます。DigitalOceanのサービスはシンプルで使いやすいように設計されており、開発者や小規模ビジネスの間で人気があります

DigitalOceanの主な機能には以下が含まれます

  • 仮想プライベートサーバーVPSDigitalOceanは、ウェブサイトやアプリケーションをホストするために使用できるVPSを提供しています。これらのVPSは、そのシンプルさと使いやすさで知られており、さまざまな事前構築された「ドロップレット」やカスタム構成を使用して迅速かつ簡単に展開できます。
  • ストレージDigitalOceanは、オブジェクトストレージ、ブロックストレージ、管理されたデータベースなど、ウェブサイトやアプリケーションのデータを保存および管理するために使用できるさまざまなストレージオプションを提供しています。
  • 開発および展開ツールDigitalOceanは、APIや事前構築されたドロップレットを含む、アプリケーションを構築、展開、管理するために使用できるさまざまなツールを提供しています。
  • セキュリティDigitalOceanはセキュリティを重視しており、ユーザーがデータやアプリケーションを安全に保つためのさまざまなツールや機能を提供しています。これには、暗号化、バックアップ、その他のセキュリティ対策が含まれます。

全体として、DigitalOceanは、ユーザーがクラウドでアプリケーションを構築、展開、管理するために必要なツールとリソースを提供するクラウドコンピューティングプラットフォームです。そのサービスはシンプルで使いやすいように設計されており、開発者や小規模ビジネスの間で人気があります。

AWSとの主な違い

DigitalOceanとAWSの主な違いの1つは、提供するサービスの範囲です。DigitalOceanはシンプルで使いやすい仮想プライベートサーバーVPS、ストレージ、開発および展開ツールの提供に焦点を当てています。AWSは、VPS、ストレージ、データベース、機械学習、分析、その他多くのサービスを含むはるかに広範なサービスを提供しています。これは、AWSが複雑なエンタープライズレベルのアプリケーションにより適している一方で、DigitalOceanは小規模ビジネスや開発者により適していることを意味します。

2つのプラットフォームのもう1つの重要な違いは、価格構造です。DigitalOceanの価格は一般的により明確で理解しやすいもので、使用するドロップレットやその他のリソースの数に基づいたさまざまな価格プランがあります。一方、AWSは、使用するリソースの種類や量など、さまざまな要因に基づいたより複雑な価格構造を持っています。これにより、AWSを使用する際のコスト予測が難しくなることがあります。

階層

ユーザー

ユーザーは、あなたが期待する通りのユーザーです。彼はチームを作成し、異なるチームのメンバーになることができます。

チーム

チームはユーザーのグループです。ユーザーがチームを作成すると、彼はそのチームのオーナーの役割を持ち、最初に請求情報を設定します他のユーザーはそのチームに招待されることができます。

チーム内にはいくつかのプロジェクトが存在する場合があります。プロジェクトは単に実行中のサービスのセットです。これは、prod、staging、devなど、異なるインフラの段階を分離するために使用できます

プロジェクト

前述のように、プロジェクトはすべてのサービスドロップレット、スペース、データベース、Kubernetesなど一緒に実行されるためのコンテナです。
Digital Oceanのプロジェクトは、IAMなしのGCPプロジェクトに非常に似ています。

権限

チーム

基本的に、チームのすべてのメンバーは、チーム内で作成されたすべてのプロジェクトのDOリソースにアクセスできます特権の有無にかかわらず

役割

チーム内の各ユーザーは、次の3つの役割のいずれかを持つことができます:

役割 共有リソース 請求情報 チーム設定
オーナー フルアクセス フルアクセス フルアクセス
ビラー アクセスなし フルアクセス アクセスなし
メンバー フルアクセス アクセスなし アクセスなし

オーナーメンバーはユーザーをリストし、その役割を確認できます(ビラーはできません)。

アクセス

ユーザー名 + パスワード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に平文で書き込まれます。

スペースアクセスキー

これらはスペースへのアクセスを提供するキーですAWSのS3やGCPのStorageのように

それらは名前keyid、および秘密で構成されています。例としては次のようになります:

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

OAuthアプリケーション

OAuthアプリケーションはDigital Oceanへのアクセスを許可されることがあります。

https://cloud.digitalocean.com/account/api/applicationsOAuthアプリケーションを作成し、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にあります。

参考文献

{{#include ../../banners/hacktricks-training.md}}