zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

DNS「逆引き」に関する俺理解メモ

以前
http://zuntan02.hateblo.jp/entry/2017/03/17/112857
という記事を書いたが、そもそもメールサーバで設定する「逆引き」とは何なのか。
今朝もう一回調べて以下の腹落ちに達したので自分のためにメモを残します。

【メール送信元サーバが逆引き設定されていないとどんなことが起こるか】

この記事を書くに至った原因、2019年12月、それまで5年以上問題なく送信を受けてくれていたGmailサーバから突然はじかれるようになった。

以下qmailのsendログより:

2019-12-xx xx:xx:xx.xxxxxxxxxx delivery xxxxxxx: failure: 64.233.189.27_failed_after_I_sent_the_message./Remote_host_said:_550-5.7.26_This_message_does_not_have_authentication_information_or_fails_to/550-5.7.26_pass_authentication_checks._To_best_protect_our_users_from_spam,_the/550-5.7.26_message_has_been_blocked._Please_visit/550-5.7.26__https://support.google.com/mail/answer/81126#authentication_for_more/550_5.7.26_information._xxxx_-_gsmtp/

上記参照URLによれば以下の設定が必要

IP のガイドライン
    送信元 IP には PTR レコード(送信元 IP の逆引き DNS)が必要です。また、PTR レコードで指定されているホスト名の DNS の正引き解決によって取得した IP と一致している必要があります。
    送信元ドメインは、SPF チェックまたは DKIM チェックにパスする必要があります。

spfレコードは設定してあったが、逆引きが設定されていないサーバであったため、レンタルサーバ会社に逆引き申請を実施
※さくらの専用サーバの場合:https://help.sakura.ad.jp/206252881/#ac02

逆引きが設定された直後にエラーは止まり、Gmailへのメールが届く様になった。
逆引き重要ですね!

【注意】

ここではメール送信に関する狭義での「正引き・逆引き」についてメモしています。
勉強中のため不正確な記述があり、また不定期に追記・修正あります.

【正引き・逆引きとは】

  • 正引き:ホスト名(ドメイン名)からIPアドレスを引き出すこと
  • 逆引き:IPからホスト名を引き出すこと

【確認方法】

# 正引き
nslookup ホスト名
または
dig ホスト名

# 逆引き
nslookup IPアドレス
または
dig -x IPアドレス

DNS逆引きレコード(PTRレコード)登録方法】

  • (前提)正引きレコード正引きレコード(Aレコード)でmail.hoge.com が逆引きしたいIPで登録されている

通常、サーバホスティング業者(AWSの上限緩和申請やさくらのクラウドのコンパネなど)の方で逆引き設定申請パスがあり、申請時に正引き設定されていれば逆引き設定がなされる。
※具体的にはipアドレスを逆に並べた後.in-addr.arpaを付けたアドレスのPTRレコードが生成される
例)

# 正引き
dig mail.hoge.com
mail.hoge.com.       xxxx    IN      A       xxx.xx.xxx.xx

# 逆引き
dig -x xxx.xx.xxx.xx
xxx.xx.xxx.xx.in-addr.arpa. xxxx IN     PTR     mail.hoge.com.

【なんでメール送信元は逆引きできるといいのか】

  • 逆引きはメール送信元サーバ(IP)の信頼性を高める作業

逆引きが出来るホストからのメールの送信のみを受け付け、それ以外からは受け付けないようにすると、身元が不明な(DNS に登録されていない) IP からメールの受信を拒否することにより 一定量spam を防げる、という発想