AWS - Relational Database (RDS) Enum
AWSが提供する**リレーショナルデータベースサービス(RDS)**は、クラウド上のリレーショナルデータベースの展開、運用、スケーリングを効率化するために設計されています。このサービスは、ハードウェアのプロビジョニング、データベースの構成、パッチ適用、バックアップなどの労力のかかるタスクを自動化しながら、コスト効率とスケーラビリティの利点を提供します。
AWS RDSは、MySQL、PostgreSQL、MariaDB、Oracle Database、Microsoft SQL Server、Amazon Auroraなど、さまざまな広く使用されているリレーショナルデータベースエンジンをサポートしており、MySQLとPostgreSQLの両方に対応しています。
RDSの主な機能には以下が含まれます:
データベースインスタンスの管理が簡素化されています。
読み取りパフォーマンスを向上させるためのリードレプリカの作成。
高可用性とフェイルオーバーメカニズムを確保するためのマルチアベイラビリティーゾーン(AZ)展開の構成。
他のAWSサービスとの統合:
ロバストなアクセス制御のためのAWS Identity and Access Management(IAM)。
包括的な監視とメトリクスのためのAWS CloudWatch。
暗号化を確保するためのAWS Key Management Service(KMS)。
資格情報
DBクラスターを作成する際、マスターユーザー名を構成できます(デフォルトは**admin
**)。このユーザーのパスワードを生成する方法は以下の通りです:
自分でパスワードを指定する
RDSに自動生成させる
RDSにそれをKMSキーで暗号化されたAWS Secret Managerで管理させる
認証
認証オプションには3種類ありますが、マスターパスワードを使用することは常に許可されています:
パブリックアクセスとVPC
デフォルトでは、データベースへのパブリックアクセスは許可されていませんが、許可される可能性があります。したがって、デフォルトでは、同じVPCからのみアクセスできるようになります。選択したセキュリティグループ(EC2 SGに保存されています)が許可している場合。
DBインスタンスを公開する代わりに、RDS Proxyを作成することも可能で、これによりDBクラスターのスケーラビリティと可用性が向上します。
さらに、データベースポートを変更することもできます。
暗号化
暗号化はデフォルトで有効になっており、AWSが管理するキーを使用しています(代わりにCMKを選択できます)。
暗号化を有効にすると、ストレージ、スナップショット、リードレプリカ、バックアップの暗号化が有効になります。この暗号化を管理するためのキーは、KMSを使用して発行できます。 この暗号化レベルをデータベースが作成された後に追加することはできません。作成中に行う必要があります。
ただし、次の方法で暗号化されていないデータベースを暗号化することが可能です。暗号化されていないデータベースのスナップショットを作成し、そのスナップショットの暗号化コピーを作成し、その暗号化されたスナップショットを使用して新しいデータベースを作成し、最終的にデータベースが暗号化されます。
透過的データ暗号化(TDE)
RDSに固有の暗号化機能に加えて、RDSはOracleとSQL Server向けのデータを安全に保護するための追加のプラットフォームレベルの暗号化メカニズムもサポートしています。これにはOracleとSQL Server向けの透過的データ暗号化(TDE)が含まれます。ただし、データを安全に暗号化することでセキュリティを向上させる一方で、TDEはデータベースのパフォーマンスに影響を与える可能性があります。このパフォーマンスへの影響は、MySQLの暗号化関数やMicrosoft Transact-SQLの暗号化関数と併用した場合に特に顕著です。
TDEを利用するには、以下の事前ステップが必要です:
オプショングループの関連付け:
データベースはオプショングループに関連付ける必要があります。オプショングループは設定や機能を含むコンテナとして機能し、セキュリティ強化を含むデータベース管理を容易にします。
ただし、オプショングループは特定のデータベースエンジンとバージョンにのみ利用可能です。
オプショングループにTDEを含める:
オプショングループに関連付けられた場合、Oracle Transparent Data Encryptionオプションをそのグループに含める必要があります。
TDEオプションがオプショングループに追加されると、それが恒久的なものとなり、削除することはできません。
TDE暗号化モード:
TDEには2つの異なる暗号化モードがあります:
TDE Tablespace Encryption:このモードはテーブル全体を暗号化し、より広範囲のデータ保護を提供します。
TDE Column Encryption:このモードはデータベース内の特定の個々の要素を暗号化することに焦点を当て、どのデータを暗号化するかをより細かく制御できます。
これらの前提条件とTDEの操作上の複雑さを理解することは、RDS内での暗号化の効果的な実装と管理にとって重要であり、データセキュリティと必要な標準への準拠を確保します。
列挙
認証されていないアクセス
pageAWS - RDS Unauthenticated Enum特権昇格
pageAWS - RDS Privesc攻撃後の活動
pageAWS - RDS Post Exploitation永続性
pageAWS - RDS PersistenceSQLインジェクション
SQL構文を使用してDynamoDBデータにアクセスする方法があり、そのため、典型的なSQLインジェクションも可能です。
最終更新