ホーム » 「mydns.jp」タグがついた投稿

タグアーカイブ: mydns.jp

システム

最近の投稿

アーカイブ

カテゴリー

CAA レコードが未設定で dehydrated (Let’s Encrypt) が失敗

自宅ドメインの SSL 証明には、Let’s Encrypt (実体は dehydrated) を使っているけど、CERT の有効期限の確認の処理で警告がでてきて、月に1度実施の更新でエラーを吐いているみたい。

DNS に CAA レコードが無いと失敗する

更新を実行すると、以下の表示が出ている。

ERROR: Challenge is invalid! (returned: invalid) (result: ["type"] "http-01"
:
["error","detail"]      "CAA record for tsaitoh.net prevents issuance"

Let’s Encrypt が更新する際に、ドメイン名の CAA レコードを参照しているけど、CAA レコードが正しくないために、SSL 更新に失敗している。

DNS Certification Authority Authorization とは、ドメイン名の所有者が認証局に対して、自分のドメイン名の公開鍵証明書の発行を許可するかどうかを指定できるようにするインターネットセキュリティポリシーのしくみである。(Wikipedia)

CAAレコードに letsencrypt.org を登録

自宅ドメインは、Dynamic DNS に mydns.jp を使っているので、mydns.jp の設定画面の “DOMAIN INFO” の所で、
「@ CAA 0 issue “\000”」 となっていたので、下記の設定を追加する。

Hostname Type Content Target ID
@ CAA 0 issue “letsencrypt.org” mydnsXXXXX

この設定の後、nslookup では、下記のようなデータが取れるようになった。

$ nslookup -query=CAA tsaitoh.net
tsaitoh.net     rdata_257 = 0 issue "letsencrypt.org"

他の仕事関連のドメイン名も同様の症状が発生するようになるはずなので、mydns.jp 関連の他ドメインで同様設定を追加する。

DNSにDMARCを設定

SPF, DKIM の設定がうまく動いているようなので、DMARC も設定してみよう。

DMARC は、SPF, DKIM にてメールの送信者認証で問題が発生した際にそのメールをどう扱ってほしいかを受け取り側に伝えるための設定。なりすましを受けたら報告してもらえるという意味でも便利かも。

DMARCの設定

ひとまず、なりすましは無いと思うけど、DMARCの設定ミスでメールが消えても困るから、p=none を設定し、問題が起こっても特になにもしてもらわないことにする。メール受信時の成功などの統計用情報が送られてくるメールアドレスと、失敗(なりすまりが発生?やばい!?)のメールアドレスを設定

mydns.jp の自宅ドメインの設定で、以下のような情報を返すように設定を行う。

_dmarc.tsaitoh.net IN TXT “v=DMARC1;
     p=none;
     rua=mailto:report-a@tsaitoh.net;
     ruf=mailto:report-f@tsaitoh.net”

p=none(なにもしない)でなく、p=quarantine(隔離), p=reject(廃棄), に設定すると、レポートメールが送られるようになる。

DMARCの状態レポートの受信設定

上で設定した、統計用メール、失敗用メールの受取先を実際に配送できるように、/etc/aliases に登録。

$ sudo vi /etc/aliases # 以下を追加
report-a: root
report-f: root
$ sudo newaliases

試しに Google のメールアドレスにメールを送ったら、dmarc=pass が表示されるようになった。(現時点では、p=none なので report-a 宛などのメールは送られてこない)

Authentication-Results: mx.google.com;
       dkim=pass header.i=@tsaitoh...
       dkim=pass header.i=@tsaitoh...
       spf=pass (google.com: domain of ...
       dmarc=pass (p=NONE sp=NONE dis=NONE) ...

DMARCレポート

後日 p=quarantine にレベルを上げたら、以下の様なレポートが届く様になった。なりすまし被害なしってことで。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト