Amazon RDS 関数の公開の修正 - AWS Security Hub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon RDS 関数の公開の修正

注記

Security Hub はプレビューリリースであり、変更される可能性があります。

AWS Security Hub は、Amazon RDS 関数の公開結果を生成できます。

Security Hub コンソールでは、公開結果に関連する Amazon RDS 関数とその識別情報が、検出結果の詳細のリソースセクションに一覧表示されます。プログラムにより、Security Hub API の GetFindingsV2オペレーションを使用してリソースの詳細を取得できます。

公開結果に関連するリソースを特定したら、不要なリソースを削除できます。不要なリソースを削除すると、露出プロファイルと AWS コストを削減できます。リソースが不可欠な場合は、以下の推奨される修復手順に従ってリスクを軽減します。修復トピックは、特性のタイプに基づいて分割されます。

1 つの公開結果には、複数の修復トピックで特定された問題が含まれます。逆に、1 つの修復トピックだけに対処することで、露出の検出結果に対処し、その重要度レベルを下げることができます。リスク修復へのアプローチは、組織の要件とワークロードによって異なります。

注記

このトピックで提供される修復ガイダンスでは、他の AWS リソースで追加の相談が必要になる場合があります。

Amazon RDS 関数の設定ミス特性

以下に、Amazon RDS 関数の設定ミスの特性と修復手順について説明します。

Amazon RDS DB インスタンスはパブリックアクセスで設定されています

パブリックアクセスを持つ Amazon RDS インスタンスは、エンドポイントを介してインターネット経由でアクセスできる可能性があります。インスタンス機能にはパブリックアクセスが必要になる場合がありますが、この設定は、権限のないユーザーがデータベースにアクセスしようとする潜在的な攻撃ベクトルとして使用できます。パブリックにアクセス可能なデータベースは、ポートスキャン、ブルートフォース攻撃、悪用の試みにさらされる可能性があります。標準のセキュリティ原則に従って、データベースリソースの公開を制限することをお勧めします。

  1. パブリックアクセス設定を変更する

    公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受ける DB インスタンスが開きます。DB インスタンスがアプリケーションアーキテクチャに基づいてパブリックアクセシビリティを必要とするかどうかを評価します。詳細については、「Amazon RDS でのパブリックアクセスまたはプライベートアクセスの設定」を参照してください。

Amazon RDS DB クラスターには、パブリックに共有されているスナップショットがあります

パブリックスナップショットには誰でもアクセスできるため AWS アカウント、機密データが権限のないユーザーに公開される可能性があります。 AWS アカウント には、これらのパブリックスナップショットをコピーして DB インスタンスを作成するアクセス許可があり、データ侵害や不正なデータアクセスにつながる可能性があります。セキュリティのベストプラクティスに従って、Amazon RDS スナップショットへのアクセスを信頼できる組織 AWS アカウント と組織のみに制限することをお勧めします。

1. プライベートアクセス用に Amazon RDS スナップショットを設定する

公開結果で、ハイパーリンクを使用してリソースを開きます。スナップショット共有設定を変更する方法については、「Amazon Aurora ユーザーガイド」の「スナップショットの共有」を参照してください。 スナップショットの共有を停止する方法については、「Amazon Aurora ユーザーガイド」の「スナップショットの共有の停止」を参照してください。

Amazon RDS DB インスタンスには、保管時に暗号化されていないスナップショットがあります

暗号化されていない Amazon RDS DB インスタンススナップショットは、ストレージレイヤーへの不正アクセスが取得されると、機密データを公開する可能性があります。暗号化を行わないと、スナップショット内のデータが不正アクセスによって公開される可能性があります。これにより、データ侵害やコンプライアンス違反のリスクが生じます。セキュリティのベストプラクティスに従って、データの機密性を維持するために、すべてのデータベースリソースとそのバックアップを暗号化することをお勧めします。

公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受けるスナップショットが開きます。暗号化されていない既存のスナップショットを直接暗号化することはできません。代わりに、暗号化されていないスナップショットの暗号化されたコピーを作成します。詳細な手順については、「Amazon Aurora ユーザーガイド」の「DB クラスタースナップショットのコピーと Amazon RDS リソースの暗号化」を参照してください

Amazon RDS DB クラスターには、保管時に暗号化されていないスナップショットがあります

暗号化されていない Amazon RDS DB クラスタースナップショットは、ストレージレイヤーへの不正アクセスが取得されると、機密データを公開する可能性があります。暗号化を行わないと、スナップショット内のデータが不正アクセスによって公開される可能性があります。これにより、データ侵害やコンプライアンス違反のリスクが生じます。セキュリティのベストプラクティスに従って、データの機密性を維持するために、すべてのデータベースリソースとそのバックアップを暗号化することをお勧めします。

1. スナップショットの暗号化されたコピーを作成する

公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受けるスナップショットが開きます。暗号化されていない既存のスナップショットを直接暗号化することはできません。代わりに、暗号化されていないスナップショットの暗号化されたコピーを作成します。詳細な手順については、「Amazon Aurora ユーザーガイド」の「DB クラスタースナップショットのコピーと Amazon RDS リソースの暗号化」を参照してください

Amazon RDS DB インスタンスにオープンセキュリティグループがある

セキュリティグループは、Amazon RDS インスタンスの仮想ファイアウォールとして機能し、インバウンドトラフィックとアウトバウンドトラフィックを制御します。任意の IP アドレスからの無制限のアクセスを許可するオープンセキュリティグループは、データベースインスタンスを不正アクセスや潜在的な攻撃にさらす可能性があります。標準のセキュリティ原則に従って、最小特権の原則を維持するために、セキュリティグループアクセスを特定の IP アドレスとポートに制限することをお勧めします。

セキュリティグループのルールを確認し、現在の設定を評価する

公開結果で、DB インスタンスのセキュリティグループのリソースを開きます。などの幅広い IP 範囲からオープンおよびアクセス可能なポートを評価します(0.0.0.0/0 or ::/0)。セキュリティグループの詳細の表示については、Amazon Elastic Compute Cloud API リファレンスの「DescribeSecurityGroups」を参照してください。

セキュリティグループルールを変更する

セキュリティグループのルールを変更して、特定の信頼された IP アドレスまたは範囲へのアクセスを制限します。セキュリティグループルールを更新するときは、必要なソース IP 範囲ごとにルールを作成するか、特定のポートへのアクセスを制限することで、異なるネットワークセグメントのアクセス要件を分離することを検討してください。セキュリティグループルールを変更するには、Amazon EC2 ユーザーガイド」の「セキュリティグループルールの設定」を参照してください。既存の Amazon RDS データベースインスタンスのデフォルトポートを変更するには、「Amazon Aurora ユーザーガイド」の「コンソール、CLI、API を使用した DB クラスターの変更」を参照してください。

Amazon RDS DB インスタンスで IAM データベース認証が無効になっている

IAM データベース認証を使用すると、データベースパスワードの代わりに IAM 認証情報を使用して Amazon RDS データベースを認証できます。これにより、一元化されたアクセス管理、一時的な認証情報、データベースパスワードをアプリケーションコードに保存することの排除など、いくつかのセキュリティ上の利点があります。IAM データベース認証では、パスワードではなく、認証トークンを使用したデータベースインスタンスへの認証が可能です。その結果、データベースインスタンスとの間のネットワークトラフィックは SSL を使用して暗号化されます。IAM 認証がない場合、データベースは通常パスワードベースの認証に依存しているため、パスワードの再利用やパスワードの不足につながる可能性があります。セキュリティのベストプラクティスに従って、IAM データベース認証を有効にすることをお勧めします。

IAM データベース認証を有効にする

公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受ける DB インスタンスが開きます。データベースオプションで IAM データベース認証を有効にできます。詳細については、「Amazon RDS ユーザーガイド」の「IAM データベース認証の有効化と無効化」を参照してください。IAM 認証を有効にしたら、パスワードベースの認証ではなく IAM 認証を使用するように DB インスタンスを更新します。

Amazon RDS DB インスタンスはデフォルトの管理者ユーザー名を使用します

DB インスタンスにデフォルトのユーザー名 (例: 「admin」、「root」) を使用すると、ブルートフォース攻撃の対象となることが広く知られており、セキュリティリスクが高まります。デフォルトのユーザー名は予測可能で、権限のないユーザーがデータベースにアクセスすることを容易にします。デフォルトのユーザー名では、攻撃者はデータベースにアクセスするために両方を必要とするのではなく、パスワードを取得するだけで済みます。セキュリティのベストプラクティスに従って、データベースインスタンスに一意の管理者ユーザー名を使用して、不明瞭さによるセキュリティを強化し、不正アクセスのリスクを軽減することをお勧めします。

一意の管理者ユーザー名を設定する

公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受ける DB インスタンスが開きます。アプリケーションに最適なバックアップ頻度、保持期間、ライフサイクルルールを検討してください。

Amazon RDS DB クラスターはデフォルトの管理者ユーザー名を使用します

DB インスタンスにデフォルトのユーザー名 (例: 「admin」、「root」) を使用すると、ブルートフォース攻撃の対象となることが広く知られており、セキュリティリスクが高まります。デフォルトのユーザー名は予測可能で、権限のないユーザーがデータベースにアクセスすることを容易にします。デフォルトのユーザー名では、攻撃者はデータベースにアクセスするために両方を必要とするのではなく、パスワードを取得するだけで済みます。セキュリティのベストプラクティスに従って、データベースインスタンスに一意の管理者ユーザー名を使用して、不明瞭さによるセキュリティを強化し、不正アクセスのリスクを軽減することをお勧めします。

一意の管理者ユーザー名を設定する

公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受ける DB インスタンスが開きます。既存の Amazon RDS DB インスタンスの管理者ユーザー名を変更することはできません。一意の管理者名を作成するには、カスタムユーザー名で新しい DB インスタンスを作成し、データを移行する必要があります。

Amazon RDS DB インスタンスで自動マイナーバージョンアップグレードが無効になっている

自動マイナーバージョンアップグレードにより、Amazon RDS インスタンスは利用可能になったときにマイナーエンジンバージョンアップグレードを自動的に受け取ることができます。これらのアップグレードには、多くの場合、データベースのセキュリティと安定性を維持するのに役立つ重要なセキュリティパッチとバグ修正が含まれます。データベースは、新しいマイナーバージョンで修正された既知のセキュリティ脆弱性で実行されるリスクがあります。自動更新がない場合、データベースインスタンスは新しい CVEsを蓄積する可能性があります。セキュリティのベストプラクティスに従って、すべての Amazon RDS インスタンスに対してマイナーバージョンの自動アップグレードを有効にすることをお勧めします。

自動マイナーバージョンアップグレードを有効にする

公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受ける DB インスタンスが開きます。自動マイナーアップグレード設定は、メンテナンスとバックアップタブで表示できます。詳細については、「Amazon RDS for MySQL の自動マイナーバージョンアップグレード」を参照してください。データベースアクティビティが少ない期間にメンテナンスウィンドウが発生するように設定することもできます。

Amazon RDS DB インスタンスの自動バックアップが無効になっている

自動バックアップは、Amazon RDS インスタンスのpoint-in-timeリカバリを提供するため、データベースを保持期間内の任意の時点に復元できます。自動バックアップを無効にすると、悪意のある削除、データ破損、またはその他のデータ損失シナリオが発生した場合に、データが失われるリスクがあります。ランサムウェア攻撃、データベーステーブルの削除、破損などの悪意のあるアクティビティが発生した場合、インシデントが発生する前の時点に復元できるため、インシデントからの復旧にかかる時間が短縮されます。セキュリティのベストプラクティスに従って、すべての本番データベースに対して適切な保持期間を持つ自動バックアップを有効にすることをお勧めします。

Amazon RDS DB インスタンスの削除保護が無効になっている

データベース削除保護は、データベースインスタンスの削除を防ぐのに役立つ機能です。削除保護を無効にすると、十分なアクセス許可を持つユーザーがデータベースを削除できるため、データ損失やアプリケーションのダウンタイムが発生する可能性があります。攻撃者はデータベースを削除し、サービスの中断、データ損失、復旧時間の増加につながる可能性があります。セキュリティのベストプラクティスに従って、RDS DB インスタンスの削除保護を有効にして、悪意のある削除を防ぐことをお勧めします。

Amazon RDS DB クラスターの削除保護を有効にする

公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受ける DB クラスターが開きます。

Amazon RDS DB クラスターの削除保護が無効になっている

データベース削除保護は、データベースインスタンスの削除を防ぐのに役立つ機能です。削除保護を無効にすると、十分なアクセス許可を持つユーザーがデータベースを削除できるため、データ損失やアプリケーションのダウンタイムが発生する可能性があります。攻撃者はデータベースを削除し、サービスの中断、データ損失、復旧時間の増加につながる可能性があります。セキュリティのベストプラクティスに従って、RDS DB クラスターの削除保護を有効にして、悪意のある削除を防ぐことをお勧めします。

Amazon RDS DB クラスターの削除保護を有効にする

公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受ける DB クラスターが開きます。

Amazon RDS DB インスタンスは、データベースエンジンのデフォルトポートを使用します。

データベースエンジンにデフォルトポートを使用する Amazon RDS インスタンスでは、これらのデフォルトポートが広く知られており、多くの場合、自動スキャンツールのターゲットになっているため、セキュリティリスクが増加する可能性があります。デフォルト以外のポートを使用するように DB インスタンスを変更すると、あいまいさによるセキュリティレイヤーが追加されるため、権限のないユーザーがデータベースに対して自動攻撃やターゲットを絞った攻撃を実行することが難しくなります。通常、デフォルトのポートは権限のない人物によってスキャンされ、DB インスタンスがターゲットになる可能性があります。セキュリティのベストプラクティスに従って、デフォルトポートをカスタムポートに変更して、自動攻撃やターゲットを絞った攻撃のリスクを減らすことをお勧めします。

公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受ける DB インスタンスが開きます。

アプリケーション接続文字列を更新する

ポートを変更したら、Amazon RDS インスタンスに接続するすべてのアプリケーションとサービスを更新して、新しいポート番号を使用します。

Amazon RDS DB インスタンスはバックアッププランの対象ではありません

AWS Backup は、データのバックアップを一元化および自動化するフルマネージドバックアップサービスです AWS のサービス。DB インスタンスがバックアッププランの対象でない場合、悪意のある削除、データ破損、またはその他のデータ損失シナリオが発生した場合、データが失われるリスクがあります。ランサムウェア攻撃、データベーステーブルの削除、破損などの悪意のあるアクティビティが発生した場合、インシデントが発生する前の時点に復元できるため、インシデントからの復旧にかかる時間が短縮されます。セキュリティのベストプラクティスに従って、データ保護を確保するために Amazon RDS インスタンスをバックアッププランに含めることをお勧めします。

DB インスタンスのバックアッププランを作成して割り当てる

公開結果で、ハイパーリンクを使用してリソースを開きます。これにより、影響を受ける DB インスタンスが開きます。アプリケーションに最適なバックアップ頻度、保持期間、ライフサイクルルールを検討してください。