RDSのCA入れ替えに伴うはまりどころ
Amazon Linux 2など古いopensslのOSがある環境では、RDS等のCAを ecc384 にしてならない。接続障害となってしまう。
※もちろん、TLS/SSLでのRDS接続を行っていない
環境では問題ありません。
そのわけ
- Amazon Linux 2 の openssl は 1.0.2k、つまり TLSv1.2までしかサポートしていない
- RDS for MySQLのTLS/SSL対応初期値は TLSv1.2,TLSv1.3
- TLSv1.2 に対応していないCAを指定すると、設定値は補正されないが実際にはTLSv1.2が除外された挙動になる
- rds-ca-ecc384-g1/rds-ca-rsa4096-g1/rds-ca-rsa2048-g1 のうち、 rds-ca-ecc384-g1 はTLSv1.2非対応
CA を rds-ca-ecc384-g1 にすると暗黙のうちに TLSv1.2 が排除され、 TLSv1.3 専用となってしまう。
だがその警告が見当たらない。SQLで調べて見てもTLSv1.3専用に切り変わっている事が分からない。
対応策
- OSをRocky Linux 8など、openssl 1.1以上のもので構築しなおす
- CAを rds-ca-rsa4096-g1 または rds-ca-rsa2048-g1 に切り替える