RDS のデフォルトポートの確認

RDS のデフォルトポートを運用方針に照らして確認し、ネットワーク制限、認証、TLS でデータベースを保護してください。

説明

RDS エンジンのデフォルトポートは通常のサービス設定であり、それ自体が脆弱性ではありません。別のポートは単純な探索を減らす補助策にはなりますが、ネットワークアクセス制御やデータベース認証の代わりにはなりません。

想定される影響

広すぎるアクセス範囲と不十分な認証・権限管理により、ポート番号に関係なくデータが公開・変更される可能性があります。準備せずにポートを変更すると、アプリケーションの接続が中断する場合があります。

対処方法

必要なクライアントにセキュリティグループを限定し、適切な認証、最小権限、TLS を適用してください。方針上カスタムポートが必要なら、エンジンが対応する値を選び、クライアント、セキュリティグループ、監視設定を併せて更新し、変更セットと停止の影響を確認してください。

例

Oracle のポートだけを比較する抜粋です。対応する DBInstanceClass、ストレージ、ライセンス設定を別途用意する必要があります。MasterUserPassword はテンプレートに固定せず、NoEcho 入力など適切なシークレットの受け渡し手段で指定してください。

変更前

yaml
Resources:
  MyDB:
    Type: AWS::RDS::DBInstance
    Properties:
      Engine: oracle-ee
      DBInstanceClass: !Ref DBInstanceClass
      MasterUsername: master
      MasterUserPassword: !Ref MasterUserPassword
      BackupRetentionPeriod: 7
      Port: 1521

Oracle のデフォルトポート 1521 を使用します。ポートの値だけでは実際のアクセス権限は判断できません。

変更後

yaml
Resources:
  MyDB:
    Type: AWS::RDS::DBInstance
    Properties:
      Engine: oracle-ee
      DBInstanceClass: !Ref DBInstanceClass
      MasterUsername: master
      MasterUserPassword: !Ref MasterUserPassword
      BackupRetentionPeriod: 7
      Port: 1522

ポートを 1522 に変更します。データベースの権限やネットワークの許可範囲を縮小する変更ではありません。

参考資料