AWS - Relational Database (RDS) Enum
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
AWSが提供する**リレーショナルデータベースサービス(RDS)**は、クラウド内のリレーショナルデータベースの展開、運用、スケーリングを簡素化することを目的としています。このサービスは、コスト効率とスケーラビリティの利点を提供し、ハードウェアのプロビジョニング、データベースの構成、パッチ適用、バックアップなどの労働集約的なタスクを自動化します。
AWS RDSは、MySQL、PostgreSQL、MariaDB、Oracle Database、Microsoft SQL Server、Amazon Auroraなど、広く使用されているさまざまなリレーショナルデータベースエンジンをサポートしており、MySQLとPostgreSQLの両方に互換性があります。
RDSの主な機能は次のとおりです:
データベースインスタンスの管理が簡素化されています。
読み取りパフォーマンスを向上させるためのリードレプリカの作成。
高可用性とフェイルオーバーメカニズムを確保するためのマルチアベイラビリティゾーン(AZ)デプロイメントの構成。
次のような他のAWSサービスとの統合:
AWSアイデンティティおよびアクセス管理(IAM)による堅牢なアクセス制御。
AWS CloudWatchによる包括的な監視とメトリクス。
AWSキー管理サービス(KMS)による静止データの暗号化の確保。
DBクラスターを作成する際、マスターユーザー名を設定できます(デフォルトは**admin
**)。このユーザーのパスワードを生成するには、次のいずれかを行うことができます:
自分でパスワードを指定する
RDSに自動生成させる
RDSにAWS Secret ManagerでKMSキーで暗号化されたものを管理させる
認証オプションは3種類ありますが、マスターパスワードの使用は常に許可されています:
デフォルトではデータベースに対する公開アクセスは付与されていませんが、付与される可能性があります。したがって、デフォルトでは、選択したセキュリティグループ(EC2 SGに保存されている)が許可している場合にのみ、同じVPC内のマシンがアクセスできます。
DBインスタンスを公開する代わりに、RDSプロキシを作成することが可能で、これによりDBクラスターのスケーラビリティと可用性が向上します。
さらに、データベースポートも変更可能です。
暗号化はデフォルトで有効になっています。AWS管理キーを使用しています(代わりにCMKを選択することもできます)。
暗号化を有効にすることで、ストレージ、スナップショット、リードレプリカ、およびバックアップの静止データの暗号化が有効になります。この暗号化を管理するためのキーはKMSを使用して発行できます。 データベースが作成された後にこのレベルの暗号化を追加することはできません。作成時に行う必要があります。
ただし、暗号化されていないデータベースを暗号化するための回避策があります。暗号化されていないデータベースのスナップショットを作成し、そのスナップショットの暗号化されたコピーを作成し、その暗号化されたスナップショットを使用して新しいデータベースを作成し、最終的にデータベースが暗号化されます。
RDSに内在するアプリケーションレベルの暗号化機能に加えて、RDSは静止データを保護するための追加のプラットフォームレベルの暗号化メカニズムもサポートしています。これには、OracleおよびSQL Server用の**透過的データ暗号化(TDE)**が含まれます。ただし、TDEは静止データを暗号化することでセキュリティを強化しますが、データベースのパフォーマンスに影響を与える可能性があることに注意が必要です。このパフォーマンスへの影響は、MySQLの暗号化関数やMicrosoft Transact-SQLの暗号化関数と併用した場合に特に顕著です。
TDEを利用するには、いくつかの前提条件が必要です:
オプショングループの関連付け:
データベースはオプショングループに関連付けられている必要があります。オプショングループは、設定や機能のコンテナとして機能し、セキュリティの強化を含むデータベース管理を容易にします。
ただし、オプショングループは特定のデータベースエンジンとバージョンにのみ利用可能であることに注意が必要です。
オプショングループへのTDEの含有:
オプショングループに関連付けられた後、Oracleの透過的データ暗号化オプションをそのグループに含める必要があります。
TDEオプションがオプショングループに追加されると、それは永久的なものであり、削除することはできません。
TDE暗号化モード:
TDEは2つの異なる暗号化モードを提供します:
TDEテーブルスペース暗号化:このモードは、全体のテーブルを暗号化し、より広範なデータ保護を提供します。
TDEカラム暗号化:このモードは、データベース内の特定の個々の要素を暗号化することに焦点を当て、暗号化されるデータに対するより細かな制御を可能にします。
これらの前提条件とTDEの運用の複雑さを理解することは、RDS内での暗号化の効果的な実装と管理において重要であり、データのセキュリティと必要な基準への準拠を確保します。
DynamoDBデータにSQL構文でアクセスする方法があるため、典型的なSQLインジェクションも可能です。
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)