トップ 最新

かってきままな日々

2020-02-05 (We) [長年日記]

_ TLS と CNAME

メールサーバにメールが溜まっていくよな、って。 そのメール、自動で POP3 で取得して、バックアップ取りたいな、と。

Ruby で

require 'net/pop'

してコードを書き始めたんだけど、SSL 証明書が確認できないみたい。

仕方ないなー、OpenSSL 使って自前でやるか、と思って改めて書いてみたんだけど、 やっぱり TLS で失敗する。

openssl s_client を使って接続してみて、様子を見てみると…

私は pop.*.conoha.io に接続しているのに、証明書は *.tyo1.conoha.io

DNS CNAME でそうなってるらしい。

CNAME がそうなってれば、証明書 OK としていいんだっけ?

その点を考えたことなかったわ。

でも、たとえ DNS に毒が入っても証明書で判る仕組みのはずで、 CNAME が同じものだと言ってるからって、それでいいはずがない。 証明書が攻撃者が用意した正規のもので、CNAME が毒である、って可能性がある。

いちおう証明書の内容を確認したけど、SAN に書いてあるわけでもない。

さて、ぐぐってみよう。

https://stackoverflow.com/questions/37304789/using-tls-for-a-cname-redirect

↑見つけた。少なくともダメらしい。記事がちょっと古いけど。

pop3s や imaps の場合はどうなんだろうなぁ。

Mew から stunnel 経由で接続できてるんだよね… スマホアプリの Spark からも接続できてるし。 つまり、これら的には CNAME が言ってればいい、ってことか。

Ruby はダメ、というか、「post_connection_check に何を渡すか」次第ではありそう。