2016年03月28日
sendmailによる送信者アドレス(from:ヘッダー)による規制A
前回記事の続き。
引き続き、sendmailで、送信者アドレス(from:ヘッダー)による規制を検証してみる。
前回記事のSubject:ヘッダの内容をベースに調査を進め、設定をアレンジして検証を行う。
sendmail.mcに下記の通り、送信者アドレス(from:ヘッダー)による規制用のローカルルールセットを追加する。
アクセス制御対象を下記のとおり、記載する。(/etc/mail/from_rejects)
各文字の先頭は必ず、タブ文字を挿入する。また、文字列の一致は「含む」の考え方
・メールサーバ側での単体テスト
sendmailテストモード(-bt)で起動し、先述のリストファイルに記述されている内容(ここでは、「james、brown」)を含む送信者アドレスにすると、「553 Rejected , indicates spam Caused by from: header.」がリターンされ、
リストファイルに記述されていない内容(ここでは、「test@log.simalab.com」)をむ送信者アドレスにすると、拒否されず、そのままリターンされることを確認。
前回記事の検証環境のとおり、送受信テストを実施する。
・送信(メールクライアント)側
※メールクライアント側でfrom:ヘッダーを詐称するため、telnetでメールサーバに接続
受信(メールサーバ)側のログ
送信者アドレス(from:ヘッダー)による規制用リストファイル( /etc/mail/from_rejects)は、今回はmakemapコマンドなどで、バイナリ形式にしていないため、当該ファイル編集時は、下記のとおり、sendmailの再読み込みを行わないと反映されなかったため、注意。
送信者アドレス(from:ヘッダー)による規制用リストファイル( /etc/mail/subjects_rejects)に日本語(ダブルバイト文字)名を挿入し、動作検証を行ったものの、意図した動作は得られなかったため、そこにも注意。
・検証で利用した設定ファイル一式
https://github.com/shi4669/ServerConfig/tree/master/sendmail/etc/mail
引き続き、sendmailで、送信者アドレス(from:ヘッダー)による規制を検証してみる。
参照URL
前回記事のSubject:ヘッダの内容をベースに調査を進め、設定をアレンジして検証を行う。
sendmail.mcアクセス規制設定
sendmail.mcに下記の通り、送信者アドレス(from:ヘッダー)による規制用のローカルルールセットを追加する。
LOCAL_CONFIG
F{PartFrom} -o /etc/mail/from_rejects
HFrom: $>CheckFrom
LOCAL_RULESETS
SCheckFrom
R$* $={PartFrom} $* $: REJECTFROM
R$* REJECTFROM $* $#error $: "553 Rejected , indicates spam.Caused by from: header."
送信者アドレス(from:ヘッダー)による規制用リストファイル作成
アクセス制御対象を下記のとおり、記載する。(/etc/mail/from_rejects)
各文字の先頭は必ず、タブ文字を挿入する。また、文字列の一致は「含む」の考え方
[root@mx-ns mail]# cat /etc/mail/from_rejects
brown
james
[root@mx-ns mail]#
sendmail.mcファイルコンパイル
[root@mx-ns mail]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
sendmail再起動
[root@mx-ns mail]# service sendmail restart
sm-client を停止中: [ OK ]
sendmail を停止中: [ OK ]
sendmail を起動中: [ OK ]
sm-client を起動中: [ OK ]
[root@mx-ns mail]#
送信者アドレス(from:ヘッダー)による規制制御の動作確認
・メールサーバ側での単体テスト
sendmailテストモード(-bt)で起動し、先述のリストファイルに記述されている内容(ここでは、「james、brown」)を含む送信者アドレスにすると、「553 Rejected , indicates spam Caused by from: header.」がリターンされ、
リストファイルに記述されていない内容(ここでは、「test@log.simalab.com」)をむ送信者アドレスにすると、拒否されず、そのままリターンされることを確認。
[root@mx-ns mail]# sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter
> Chefk^\終了
[root@mx-ns mail]# sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter
> CheckFrom james※アクセス規制対象
CheckFrom input: james
CheckFrom returns: $# error $: "553 Rejected , indicates spam.Caused by from: header."
> CheckFrom brown@sample.com※アクセス規制対象
CheckFrom input: brown @ sample . com
CheckFrom returns: $# error $: "553 Rejected , indicates spam.Caused by from: header."
> CheckFrom test@log.simalab.com※アクセス規制対象外
CheckFrom input: test @ log . simalab . com
CheckFrom returns: test @ log . simalab . com
送受信テスト(アクセス制御)
前回記事の検証環境のとおり、送受信テストを実施する。
・送信(メールクライアント)側
※メールクライアント側でfrom:ヘッダーを詐称するため、telnetでメールサーバに接続
[ment@log ~]$ telnet 192.168.3.21 25
Trying 192.168.3.21...
Connected to 192.168.3.21.
Escape character is '^]'.
220 mx-ns.simalab.com ESMTP Sendmail 8.14.4/8.14.4; Sun, 20 Mar 2016 11:49:19 +0900
HELO localhost
250 mx-ns.simalab.com Hello [192.168.3.6], pleased to meet you
MAIL FROM:test@log.simalab.lom(エンベロープ)
250 2.1.0 test@log.simalab.lom... Sender ok
RCPT TO:testuser@simalab.com(エンベロープ)
250 2.1.5 testuser@simalab.com... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
From: james@example.com(fromヘッダー(アクセス制御対象)
To:testuser@simalab.com(toヘッダー)
this is from header test(本文)
.
553 5.0.0 Rejected , indicates spam.Caused by from: header.(553がリターンされ、アクセス拒否成功)
受信(メールサーバ)側のログ
メールサーバ側のログ(送信者アドレス(from:ヘッダー)でのアクセス制御が成功していることを確認)
Mar 20 11:50:15 mx-ns sendmail[7380]: u2K2nJ7u007380: ruleset=CheckFrom, arg1= james@example.com, relay=[192.168.3.6], reject=553 5.0.0 Rejected , indicates spam.Caused by from: header.
Mar 20 11:50:33 mx-ns sendmail[7380]: u2K2nJ7u007380: from=test@log.simalab.lom, size=73, class=0, nrcpts=1, msgid=<201603200249.u2K2nJ7u007380@mx-ns.simalab.com>, proto=SMTP, daemon=MTA, relay=[192.168.3.6]
Mar 20 11:50:33 mx-ns sendmail[7380]: u2K2nJ7u007380: to=testuser@simalab.com, delay=00:01:00, pri=30073, stat=Rejected , indicates spam.Caused by from: header.
(送信者アドレス(from:ヘッダー)による規制用リストファイル( /etc/mail/from_rejects)編集時
送信者アドレス(from:ヘッダー)による規制用リストファイル( /etc/mail/from_rejects)は、今回はmakemapコマンドなどで、バイナリ形式にしていないため、当該ファイル編集時は、下記のとおり、sendmailの再読み込みを行わないと反映されなかったため、注意。
[root@mx-ns mail]# service sendmail reload
日本語(ダブルバイト文字)件名による規制
送信者アドレス(from:ヘッダー)による規制用リストファイル( /etc/mail/subjects_rejects)に日本語(ダブルバイト文字)名を挿入し、動作検証を行ったものの、意図した動作は得られなかったため、そこにも注意。
設定ファイル一式
・検証で利用した設定ファイル一式
https://github.com/shi4669/ServerConfig/tree/master/sendmail/etc/mail
タグ:sendmail
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/4895680
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック