SPF include 参照のループではまる

●問題詳細

SPF include 参照のループをしているホストからのメールの処理で、無限ループが発生・メモリ枯渇・メールサーバが落ちる

 

example.com txt "v=spf1 ip4:XXX.XXX.XXX.XXX include:example.com ~all"」のような設定がされたDNSからのメールがあった。

 

●解決法

無限ループしてしまっている自己作成メール処理プログラム(PMilter を使った、milter)で、SPF include 参照のループしている場合でも、無限ループにならないように修正

 

●経緯

2013年12月7日(土)メールサーバ停止 長期稼働だったので単純にリブート対処

2013年12月14日(土)メールサーバ停止 リブート対処・原因究明開始(連続で土曜日だったので、再度水曜にリブートを行う)

2013年12月21日(土)メールサーバ停止 リブート対処・稼働時間などが原因ではないと判明・土曜の同じ時間帯での停止のため、日付関係を調査開始

2013年12月28日(土)メールサーバ停止 年末のため30日まで対処できず。

2014年1月4日(土)メールサーバ停止 年始のため、調査できず。しかし、日付関係ではなく、メモリ関係だと判明。メモリ・プロセス監視開始

2014年1月11日(土)メールサーバ停止 原因プロセスほぼ確定。しかし曜日が関連していると考えていたため理由不明。

2014年1月18日(土)メールサーバ停止 偶然問題発生の瞬間を見ていたため、原因プロセス確定。到着メールが原因と判明。

2014年1月19日(日)到着メールの SPF 設定が参照ループしていることが判明。自己作成メール処理プログラム(PMilter を使った、milter)修正