EC2側のCA証明書の設定を変更していないにも関わらず、RDS側に対してSSL接続が行われている理由

0

お世話になっております。

RDSの証明書設定変更に関して不明点があるため、ご相談させていただきます

現状は、RDSの証明書の設定変更が完了してこれまで通り疎通はできているのですが、プラットフォームの理解が不足しており、3月5日以降も正しく動作するという確証が持てない状況です。

詳細は以下の通りです

■システムの構成
EC2(AmazonLinux)・RDS(PostgreSQL)
EC2とRDSは、同一VPC・同一セキュリティグループ内に存在

■現状
・公式ドキュメント等を参考にRDSの設定を2019年版の証明書に変更し、RDSの再起動を行って設定変更の適用が完了している
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/ssl-certificate-rotation-postgresql.html
・RDSの設定変更後に、以下の3つの方法で、SSL接続ができている事を確認済
・・アプリケーションを操作してDBに接続されている事を確認
・・EC2インスタンスからpsqlで接続した場合もSSL接続される事を確認
・・以下を参考に、pg_stat_ssl・pg_stat_activityでも、SSLで接続されている事を確認
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/ssl-certificate-rotation-postgresql.html#ssl-certificate-rotation-postgresql.determining-server

■不明点・不安点
・今回のRDSの設定変更において、EC2側のCA証明書の設定変更などは一切行っていない
・アプリケーション側の設定や、EC2インスタンス上のCA証明書に関する設定は調べた限りではない(ただしアプリケーションの開発およびAWSの設定をした開発担当者はいないため、未知の設定が存在する可能性はゼロではない)

上記による可能性としては以下の2通りの解釈が可能だと思っています。

①同一VPCのセキュリティグループにあるRDSに対しては、内部的に自動でSSLによる接続が行われる仕様となっている。そのためSSLの接続情報や証明書がなくてもSSL接続となる
②RDSの設定変更後も、依然として何らかの未知の接続情報が有効になっており、3/5以降に接続が無効となる

①に該当するドキュメントが見当たらなかったため推測の域を出ておらず、②の可能性が排除できないです。
そのため作業を完了とみなして良いのか判断できず困っております。

ご教示いただけると幸いです

Edited by: tunemage on Jan 20, 2020 10:21 PM

2回答
0
承認された回答

排除できない可能性というのが良く分からないところがあるのですが、こちらの情報は参考になりますでしょうか。

https://dev.classmethod.jp/cloud/aws/ssl-connection-to-amazon-rds-postgresql/

semnil
回答済み 4年前
0

ありがとうございます

共有いただいた記事を参考に、psqlコマンドにsslmode=verify-fullを指定して挙動を確認しました。
想定通り、2019年版のルート証明書では疎通できましたが、2015年版では「psql: SSL error: certificate verify failed」となっておりました。そのため、設定変更が正しく反映されている事を確認できました。

今回の対応でEC2側の設定変更を一切していないため、何か想定外の挙動(RDS側の2015年版の設定がまだ生きており、未知の設定によって2015年版の証明書で通信している。3/5以降それが失敗するなど)がないか不安でしたが、この確認により問題ないと判断できました。

(反省点として、RDS側の設定変更前にも同じ手段で確認しておけばスムーズに設定変更の確認ができたと思いました。次の機会に活かしたいと思います)

回答済み 4年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン