新規記事の投稿を行うことで、非表示にすることが可能です。
2016年04月03日
sendmailによる送信者アドレスのドメイン部書き換え
sendmailによる送信者アドレスのドメイン部書き換え
前回記事1や前回記事2で
メール送信者の認証を行うためのSPFレコードについて、検証・構築などを行った。
それらの環境を利用して、sendmailを使用した受信メールサーバを、DNSのSPFレコードをした認証に対応するように設定・検証したいところだが、
こちらで用意した検証環境には、以下の問題があるため、
・送信者アドレスのドメイン部が送信メールサーバ側「ホスト名」(ここでは、「log.simalab.com」)になっている。
環境を受信メールサーバのSPFレコード対応を検証可能となるように、以下のように変更する。
・検証に使用するドメインは、「simalab.com」
・DNSサーバ上で、mxレコードを受信側IPアドレスに設定
・DNSサーバ上で、spfレコードを送信側IPアドレスに設定
・送信サーバ側でメールを送信した場合、送信者アドレスのドメイン部を「log.simalab.com」を「simalab.com」に書き換える。
送信者アドレスのドメイン部書き換え前の受信メールサーバのログ。
送信者アドレスのドメイン部が「log.simalab.com」(送信サーバ側のホスト名)となっている。
これを以降で、送信者アドレスのドメイン部を「@simalab.com」に変更する。
まずは、送信者アドレスのドメイン部について、「from:ヘッダ」を書き換えられるように設定する。
以下を送信サーバ側のsendmail.mcに設定追加する。
mcファイルをコンパイルし、
その後、sendmail再起動する。
・以下のように、送信側(log.simalab.com)からメールを送信する。
・以下のように、受信側(mx-ns.simalab.com)からメールが受信される。
赤字箇所のfromヘッダーが(@simalab.com)に書き換えられていることを確認
※ただし、青字箇所のエンベロープfromは書き換えられていないことを確認する。
次に、送信者アドレスのドメイン部について、「エンベロープFrom」を書き換えられるように設定する。
以下を送信サーバ側のsendmail.mcに設定追加する。
mcファイルをコンパイルし、
その後、sendmail再起動する。
・以下のように、送信側(log.simalab.com)からメールを送信する。
・以下のように、受信側(mx-ns.simalab.com)からメールが受信される。
※赤字箇所のエンベロープfromが「@simalab.com」に書き換えられていることを確認する。
・以下の書籍では、「レシピ4.6 リレーホストでマスカレードを実施する。」「レシピ4.10 エンベロープアドレスにマスカレードを実施する。」で紹介されている。
前回記事1や前回記事2で
メール送信者の認証を行うためのSPFレコードについて、検証・構築などを行った。
それらの環境を利用して、sendmailを使用した受信メールサーバを、DNSのSPFレコードをした認証に対応するように設定・検証したいところだが、
こちらで用意した検証環境には、以下の問題があるため、
・送信者アドレスのドメイン部が送信メールサーバ側「ホスト名」(ここでは、「log.simalab.com」)になっている。
環境を受信メールサーバのSPFレコード対応を検証可能となるように、以下のように変更する。
・検証に使用するドメインは、「simalab.com」
・DNSサーバ上で、mxレコードを受信側IPアドレスに設定
・DNSサーバ上で、spfレコードを送信側IPアドレスに設定
・送信サーバ側でメールを送信した場合、送信者アドレスのドメイン部を「log.simalab.com」を「simalab.com」に書き換える。
検証環境
送信者アドレスのドメイン部書き換え前
送信者アドレスのドメイン部書き換え前の受信メールサーバのログ。
送信者アドレスのドメイン部が「log.simalab.com」(送信サーバ側のホスト名)となっている。
Mar 28 21:22:55 mx-ns sendmail[9686]: u2SCMtZ2009686: from=ment@log.simalab.com, size=631, class=0, nrcpts=1, msgid=<201603281223.u2SCNF9S005120@log.simalab.com>, proto=ESMTP, daemon=MTA, relay=[192.168.3.6]
これを以降で、送信者アドレスのドメイン部を「@simalab.com」に変更する。
送信者アドレスのドメイン部書き換え@(from:ヘッダ)
まずは、送信者アドレスのドメイン部について、「from:ヘッダ」を書き換えられるように設定する。
以下を送信サーバ側のsendmail.mcに設定追加する。
MASQUERADE_AS(`simalab.com')dnl
define(`confDOMAIN_NAME', `smtp.simalab.com')dnl
mcファイルをコンパイルし、
[root@log mail]# m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf
その後、sendmail再起動する。
[root@log mail]# service sendmail restart
sm-client を停止中: [ OK ]
sendmail を停止中: [ OK ]
sendmail を起動中: [ OK ]
sm-client を起動中: [ OK ]
[root@log mail]#
動作確認
・以下のように、送信側(log.simalab.com)からメールを送信する。
[ment@log ~]$ mail testuser@simalab.com
Subject: from heder masqerade test
from heder masqerade test (message)
.
EOT
[ment@log ~]$
・以下のように、受信側(mx-ns.simalab.com)からメールが受信される。
赤字箇所のfromヘッダーが(@simalab.com)に書き換えられていることを確認
※ただし、青字箇所のエンベロープfromは書き換えられていないことを確認する。
From ment@log.simalab.com Mon Mar 28 23:23:25 2016
Return-Path:
From: ment@simalab.com
Date: Mon, 28 Mar 2016 23:23:43 +0900
To: testuser@simalab.com
Subject: from heder masqerade test
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
X-SPF-Scan-By: smf-spf v2.0.2 - http://smfs.sf.net/
Received-SPF: None (mx-ns.simalab.com: domain of ment@log.simalab.com
does not designate permitted sender hosts)
receiver=mx-ns.simalab.com; client-ip=192.168.3.6;
envelope-from=; helo=smtp.simalab.com;
Status: R
from heder masqerade test (message)
送信者アドレスのドメイン部書き換えA(エンベロープFrom)
次に、送信者アドレスのドメイン部について、「エンベロープFrom」を書き換えられるように設定する。
以下を送信サーバ側のsendmail.mcに設定追加する。
FEATURE(masquerade_envelope)dnl
mcファイルをコンパイルし、
[root@log mail]# m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf
その後、sendmail再起動する。
[root@log mail]# service sendmail restart
sm-client を停止中: [ OK ]
sendmail を停止中: [ OK ]
sendmail を起動中: [ OK ]
sm-client を起動中: [ OK ]
[root@log mail]#
動作確認
・以下のように、送信側(log.simalab.com)からメールを送信する。
[ment@log ~]$ mail testuser@simalab.com
Subject: from envelope from masqerade test
from envelope from masqerade test(message)
.
EOT
[ment@log ~]$
・以下のように、受信側(mx-ns.simalab.com)からメールが受信される。
※赤字箇所のエンベロープfromが「@simalab.com」に書き換えられていることを確認する。
From ment@simalab.com Mon Mar 28 23:39:16 2016
Return-Path:
From: ment@simalab.com
Date: Mon, 28 Mar 2016 23:39:36 +0900
To: testuser@simalab.com
Subject: from envelope from masqerade test
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
X-SPF-Scan-By: smf-spf v2.0.2 - http://smfs.sf.net/
Received-SPF: Pass (mx-ns.simalab.com: domain of ment@simalab.com
designates 192.168.3.6 as permitted sender)
receiver=mx-ns.simalab.com; client-ip=192.168.3.6;
envelope-from=; helo=smtp.simalab.com;
Status: RO
from envelope from masqerade test(message)
参考書籍
・以下の書籍では、「レシピ4.6 リレーホストでマスカレードを実施する。」「レシピ4.10 エンベロープアドレスにマスカレードを実施する。」で紹介されている。
中古価格 |
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
2016年04月02日
sendmailによる送信者アドレス(From:ヘッダー)のsyslogへの出力
前回記事の続き。
sendmailで、送信者アドレス(From:ヘッダー)のsyslogへの出力を検証してみる。
sendmail.mcログ出力設定
sendmail.mcに下記の通り、送信者アドレス(From:ヘッダー)によるログ出力用のローカルルールセットを追加する。
LOCAL_CONFIG
Ksyslog syslog
LOCAL_RULESETS
HFrom: $>+log_from
Slog_from
R$* $: $(syslog "From: " $1 $)
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:ヘッダー)のsyslogの動作確認
・メールサーバ側での単体テスト
[root@mx-ns ~]# sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter
> log_from from header test
log_from input: from header test
log_from returns:
>
syslog(検証環境の場合は/var/log/maillog)に下記のように、From:ヘッダーが出力されていることを確認する。
[root@mx-ns ~]# tail /var/log/maillog -n 1
Mar 28 23:57:42 mx-ns sendmail[9807]: u2SEvQTN009807: From: from.header.test
[root@mx-ns ~]#
送受信テスト(ログ出力)
前回記事の検証環境のとおり、送受信テストを実施する。
・送信(メールクライアント)側
[ment@log ~]$ mail testuser@simalab.com
Subject: this is from header test
this is from header test message
.
EOT
[ment@log ~]$
受信(メールサーバ)側のログ
メールサーバ側のログに送信者アドレス(From:ヘッダー)のsyslogへの出力が成功していることを確認
Mar 29 00:00:09 mx-ns sendmail[9810]: u2SF09xc009810: From: ment@simalab.com
Mar 28 13:06:51 mx-ns sendmail[8750]: u2S46pls008750: from=, size=680, class=0, nrcpts=1, msgid=<201603280407.u2S47Bed003873@log.simalab.com>, proto=ESMTP, daemon=MTA, relay=[192.168.3.6]
Mar 28 13:06:52 mx-ns sendmail[8751]: u2S46pls008750: to=, delay=00:00:01, xdelay=00:00:00, mailer=local, pri=30860, dsn=2.0.0, stat=Sent
設定ファイル一式
・検証で利用した設定ファイル一式
https://github.com/shi4669/ServerConfig/tree/master/sendmail/etc/mail
タグ:sendmail
sendmailによる件名(Subject:ヘッダー)のsyslogへの出力
前回記事の続き。
sendmailで、件名(Subject:ヘッダー)のsyslogへの出力を検証してみる。
sendmail.mcログ出力設定
sendmail.mcに下記の通り、件名(Subject:ヘッダー)によるログ出力用のローカルルールセットを追加する。
LOCAL_CONFIG
Ksyslog syslog
LOCAL_RULESETS
HSubject: $>+log_subject
Slog_subject
R$* $: $(syslog "Subject: " $1 $)
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]#
件名(Subject:ヘッダー)のsyslogの動作確認
・メールサーバ側での単体テスト
[root@mx-ns mail]# sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter
> log_subject subject test
log_subject input: subject test
log_subject returns:
syslog(検証環境の場合は/var/log/maillog)に下記のように、件名が出力されていることを確認する。
[root@mx-ns mail]# tail /var/log/maillog -n 1
Mar 28 12:58:21 mx-ns sendmail[8735]: u2S3w3cF008735: Subject: subject.test
[root@mx-ns mail]#
送受信テスト(ログ出力)
前回記事の検証環境のとおり、送受信テストを実施する。
・送信(メールクライアント)側
[ment@log ~]$ mail testuser@simalab.com
Subject: this is subject test
this is test subect message
.
EOT
[ment@log ~]$
受信(メールサーバ)側のログ
メールサーバ側のログに件名(Subject:ヘッダー)のsyslogへの出力が成功していることを確認
Mar 28 13:06:51 mx-ns sendmail[8750]: u2S46pls008750: Subject: this.is.subject.test
Mar 28 13:06:51 mx-ns sendmail[8750]: u2S46pls008750: from=, size=680, class=0, nrcpts=1, msgid=<201603280407.u2S47Bed003873@log.simalab.com>, proto=ESMTP, daemon=MTA, relay=[192.168.3.6]
Mar 28 13:06:52 mx-ns sendmail[8751]: u2S46pls008750: to=, delay=00:00:01, xdelay=00:00:00, mailer=local, pri=30860, dsn=2.0.0, stat=Sent
日本語(ダブルバイト文字)件名による規制
件名に日本語(ダブルバイト文字)を挿入し、動作検証を行ったものの、意図した動作は得られなかった。
設定ファイル一式
・検証で利用した設定ファイル一式
https://github.com/shi4669/ServerConfig/tree/master/sendmail/etc/mail
タグ:sendmail
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
2016年03月27日
sendmailによる送信者アドレス(from:ヘッダー)による規制@
前回記事の規制方法をさらに応用して、sendmailで、送信元アドレス(from:ヘッダー)による規制を検証してみる。
引き続き、こちらの環境を利用。
今回の規制についても、前回記事と同様、/etc/mail/accessで規制される送信元アドレスであるエンベロープ(From:)の規制ではなく、Data部以下の各ヘッダー情報、(from::ヘッダ)の箇所に関しての規制を検証する。
下記のtelnetのシーケンスでは、下記の個所の規制の検証。
「Sendmailクックブック」には、「レシピ6.9 特殊なヘッダを実行する」にて、from:ヘッダではないが、To:ヘッダによる規制の方法が紹介されている。こちらと前回記事の規制方法とでアレンジを加えて検証をしていく。
続きは、次回。
検証環境
引き続き、こちらの環境を利用。
送信者アドレス(from:ヘッダー)による
今回の規制についても、前回記事と同様、/etc/mail/accessで規制される送信元アドレスであるエンベロープ(From:)の規制ではなく、Data部以下の各ヘッダー情報、(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 09:06:35 +0900
HELO localhost
250 mx-ns.simalab.com Hello [192.168.3.6], pleased to meet you
MAIL FROM:test@log.simalab.lom (エンベロープFrom:)
250 2.1.0 test@log.simalab.lom... Sender ok
RCPT TO:testuser@simalab.com (エンベロープTo:)
250 2.1.5 testuser@simalab.com... Recipient ok
DATA
-------- Data部 --------
354 Enter mail, end with "." on a line by itself
From:test@log.simalab.com (from:ヘッダー)(ここの内容による規制)
Subject:test (Subject:ヘッダー
.
250 2.0.0 u2K06ZOt006596 Message accepted for delivery
参考文献
「Sendmailクックブック」には、「レシピ6.9 特殊なヘッダを実行する」にて、from:ヘッダではないが、To:ヘッダによる規制の方法が紹介されている。こちらと前回記事の規制方法とでアレンジを加えて検証をしていく。
続きは、次回。
中古価格 |
タグ:sendmail
sendmailによる件名(Subject:ヘッダー)による規制A
前回記事の続き。
引き続き、sendmailで、件名(Subject:ヘッダー)による規制を検証してみる。
前回記事紹介の参考文献の内容をベースに調査を進め、下記のURLに行きついたので、下記の設定をアレンジ。
http://lists.roaringpenguin.com/pipermail/mimedefang/2004-March/020796.html
sendmail.mcに下記通り、件名(Subject:ヘッダー)による規制用のローカルルールセットを追加する。
アクセス制御対象を下記のとおり、記載する。(/etc/mail/subjects_rejects)
各文字の先頭は必ず、タブ文字を挿入する。また、文字列の一致は「含む」の考え方
・メールサーバ側での単体テスト
sendmailテストモード(-bt)で起動し、先述のリストファイルに記述されている内容(ここでは、「master」)を件名にすると、「553 Rejected , indicates spam Caused by Subject:」がリターンされ、リストファイルに記述されていない内容(ここでは、「test」)を件名にすると、拒否されず、そのままリターンされることを確認。
前回記事の検証環境のとおり、送受信テストを実施する。
・送信(メールクライアント)側
・送信(メールクライアント)側へのリターン
受信(メールサーバ)側のログ
・送信(メールクライアント)側
受信(メールサーバ)側のログ
件名(Subject:ヘッダー)による規制用リストファイル( /etc/mail/subjects_rejects)は、今回はmakemapコマンドなどで、バイナリ形式にしていないため、当該ファイル編集時は、下記のとおり、sendmailの再読み込みを行わないと反映されなかったため、注意。
件名(Subject:ヘッダー)による規制用リストファイル( /etc/mail/subjects_rejects)に日本語(ダブルバイト文字)件名を挿入し、動作検証を行ったものの、意図した動作は得られなかったため、そこにも注意。
・検証で利用した設定ファイル一式
https://github.com/shi4669/ServerConfig/tree/master/sendmail/etc/mail
引き続き、sendmailで、件名(Subject:ヘッダー)による規制を検証してみる。
参照URL
前回記事紹介の参考文献の内容をベースに調査を進め、下記のURLに行きついたので、下記の設定をアレンジ。
http://lists.roaringpenguin.com/pipermail/mimedefang/2004-March/020796.html
sendmail.mcアクセス規制設定
sendmail.mcに下記通り、件名(Subject:ヘッダー)による規制用のローカルルールセットを追加する。
LOCAL_CONFIG
F{PartSubjects} -o /etc/mail/subjects_rejects
HSubject: $>CheckSubject
LOCAL_RULESETS
SCheckSubject
R$* $={PartSubjects} $* $: REJECTSUBJECT
R$* REJECTSUBJECT $* $#error $: "553 Rejected , indicates spam Caused by Subject:"
件名(Subject:ヘッダー)による規制用リストファイル作成
アクセス制御対象を下記のとおり、記載する。(/etc/mail/subjects_rejects)
各文字の先頭は必ず、タブ文字を挿入する。また、文字列の一致は「含む」の考え方
[root@mx-ns mail]# cat /etc/mail/subjects_rejects
master
unsecured visa
Invoice #
Your Order #
[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]#
件名(Subject:ヘッダー)による規制制御の動作確認
・メールサーバ側での単体テスト
sendmailテストモード(-bt)で起動し、先述のリストファイルに記述されている内容(ここでは、「master」)を件名にすると、「553 Rejected , indicates spam Caused by Subject:」がリターンされ、リストファイルに記述されていない内容(ここでは、「test」)を件名にすると、拒否されず、そのままリターンされることを確認。
[root@mx-ns mail]# sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter
> CheckSubject master ※アクセス規制対象
CheckSubject input: master
CheckSubject returns: $# error $: "553 Rejected , indicates spam Caused by Subject:"
> CheckSubject test ※アクセス規制対象外
CheckSubject input: test
CheckSubject returns: test
送受信テスト(アクセス制御)
前回記事の検証環境のとおり、送受信テストを実施する。
・送信(メールクライアント)側
メールクライアント(規制内容に抵触する件名 「Invoice # 1221」)で送信
[ment@log ~]$ mail testuser@simalab.com
Subject: Invoice # 1221
This is test1
.
EOT>
・送信(メールクライアント)側へのリターン
メールクライアント側に「553 5.0.0 Rejected , indicates sapm Caused by Subject:」が
エラーリターンされることを確認
The original message was received at Sun, 20 Mar 2016 11:27:27 +0900
from log.simalab.com [127.0.0.1]
----- The following addresses had permanent fatal errors -----
(reason: 553 5.0.0 Rejected , indicates spamCaused by Subject:)
受信(メールサーバ)側のログ
メールサーバ側のログ(件名でのアクセス制御が成功していることを確認)
Mar 20 11:27:33 mx-ns sendmail[7262]: u2K2RXie007262: ruleset=CheckSubject, arg1= Invoice # 1221, relay=[192.168.3.6], reject=553 5.0.0 Rejected , indicates spam Caused by Subject:
Mar 20 11:27:33 mx-ns sendmail[7262]: u2K2RXie007262: from=, size=659, class=0, nrcpts=1, msgid=<201603200227.u2K2RRuN004209@log.simalab.com>, proto=ESMTP, daemon=MTA, relay=[192.168.3.6]
Mar 20 11:27:33 mx-ns sendmail[7262]: u2K2RXie007262: to=, delay=00:00:00, pri=30659, stat=Rejected , indicates spam Caused by Subject:
送受信テスト(正常系)
・送信(メールクライアント)側
メールクライアント(件名 normal mail)で送信
[ment@log ~]$ mail testuser@simalab.com
Subject: normal mail
this is normal mail
.
EOT
受信(メールサーバ)側のログ
メールサーバ側のログ(件名でのアクセス制御が実施されず、受信が正常に成功していることを確認)
Mar 20 11:33:27 mx-ns sendmail[7265]: u2K2XR6O007265: from=, size=662, class=0, nrcpts=1, msgid=<201603200233.u2K2XLq7004256@log.simalab.com>, proto=ESMTP, daemon=MTA, relay=[192.168.3.6]
Mar 20 11:33:27 mx-ns sendmail[7266]: u2K2XR6O007265: to=, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30842, dsn=2.0.0, stat=Sent
件名(Subject:ヘッダー)による規制用リストファイル( /etc/mail/subjects_rejects)編集時
件名(Subject:ヘッダー)による規制用リストファイル( /etc/mail/subjects_rejects)は、今回はmakemapコマンドなどで、バイナリ形式にしていないため、当該ファイル編集時は、下記のとおり、sendmailの再読み込みを行わないと反映されなかったため、注意。
[root@mx-ns mail]# service sendmail reload
日本語(ダブルバイト文字)件名による規制
件名(Subject:ヘッダー)による規制用リストファイル( /etc/mail/subjects_rejects)に日本語(ダブルバイト文字)件名を挿入し、動作検証を行ったものの、意図した動作は得られなかったため、そこにも注意。
設定ファイル一式
・検証で利用した設定ファイル一式
https://github.com/shi4669/ServerConfig/tree/master/sendmail/etc/mail
参考文献
タグ:sendmail
sendmailによる件名(Subject:ヘッダー)による規制@
前回記事の環境を使用し、
sendmailのセキュリティ設定の検証を実施してみる。
・検証環境のドメインは、「simalab.com」
・メールサーバのホスト名は、「mx-ns」、メールクライアントのホスト名は、「log」
・simalab.comのmxレコードは、mx-ns.simalab.com(192.168.3.21に設定)
・送信者は、ment@log.simalab.com(メールクライアント)
・受信者は、testuser@simalab.com(メールサーバ)
・エンベロープ(From:、TO:)の規制は、/etc/mail/accessの規制により、比較簡単にもかかわらず、Data部以下の各ヘッダー情報、(Subject:、from:、to:ヘッダ)による規制については、参考文献などにも多少の記載しかなかったので、実際に検証してみた。
なお、今回の規制検証箇所は、Data部以下の件名(Subject:ヘッダー)による規制で、
下記のtelnetのシーケンスでは、下記の個所の規制の検証。
「Sendmailクックブック」には、「レシピ6.9 特殊なヘッダを実行する」、「Sendmail(運用編)」には、「7.3 ルールセットでヘッダをチェック」でそれぞれ、ヘッダの規制の記載がある。取り合分け、「Sendmail(運用編)」には、「7.3 ルールセットでヘッダをチェック」が今回のやりたいことズバリの記載が紹介されていたが、そのまま実行したら、(設定の不備かもしれないが)期待する動作が得られなかったため、これらにアレンジを加える。
続きは、次回。
sendmailのセキュリティ設定の検証を実施してみる。
検証環境
・検証環境のドメインは、「simalab.com」
・メールサーバのホスト名は、「mx-ns」、メールクライアントのホスト名は、「log」
・simalab.comのmxレコードは、mx-ns.simalab.com(192.168.3.21に設定)
・送信者は、ment@log.simalab.com(メールクライアント)
・受信者は、testuser@simalab.com(メールサーバ)
件名(Subject:ヘッダー)による規制
・エンベロープ(From:、TO:)の規制は、/etc/mail/accessの規制により、比較簡単にもかかわらず、Data部以下の各ヘッダー情報、(Subject:、from:、to:ヘッダ)による規制については、参考文献などにも多少の記載しかなかったので、実際に検証してみた。
なお、今回の規制検証箇所は、Data部以下の件名(Subject:ヘッダー)による規制で、
下記の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 09:06:35 +0900
HELO localhost
250 mx-ns.simalab.com Hello [192.168.3.6], pleased to meet you
MAIL FROM:test@log.simalab.lom (エンベロープFrom:)
250 2.1.0 test@log.simalab.lom... Sender ok
RCPT TO:testuser@simalab.com (エンベロープTo:)
250 2.1.5 testuser@simalab.com... Recipient ok
DATA
-------- Data部 --------
354 Enter mail, end with "." on a line by itself
From:test@log.simalab.com (from:ヘッダー)
Subject:test (Subject:ヘッダー)(ここの内容による規制)
.
250 2.0.0 u2K06ZOt006596 Message accepted for delivery
参考文献
「Sendmailクックブック」には、「レシピ6.9 特殊なヘッダを実行する」、「Sendmail(運用編)」には、「7.3 ルールセットでヘッダをチェック」でそれぞれ、ヘッダの規制の記載がある。取り合分け、「Sendmail(運用編)」には、「7.3 ルールセットでヘッダをチェック」が今回のやりたいことズバリの記載が紹介されていたが、そのまま実行したら、(設定の不備かもしれないが)期待する動作が得られなかったため、これらにアレンジを加える。
続きは、次回。
タグ:sendmail
sendmail構築 on RHEL6.4
最近、ばらまき型のメールによる大量のスパムメールが流行しているため、
sendmailによる諸々の検証を行うための、環境を構築を実施してみる。
関連記事
http://www.security-next.com/068062
・関連記事で使用したRHEL6.4を使用して、rpmでのsendmailを実施する。
・sendmailのバージョンは、sendmail-8.14.4-9.el6.x86_64
・sendmail本体と、mailx(mailコマンド)をインストールする。
・/etc/mail/local-host-namesに自ドメインを設定する。
・下記の設定単純な設定でのmcファイルを設定する。
https://github.com/shi4669/ServerConfig/blob/master/sendmail/etc/mail/sendmail_plain.mc
当該設定をベースに、各種セキュリティのための設定検証を実施する。
sendmailによる諸々の検証を行うための、環境を構築を実施してみる。
関連記事・URL
関連記事
http://www.security-next.com/068062
環境の前提
・関連記事で使用したRHEL6.4を使用して、rpmでのsendmailを実施する。
・sendmailのバージョンは、sendmail-8.14.4-9.el6.x86_64
検証環境
各種インストール
・sendmail本体と、mailx(mailコマンド)をインストールする。
[root@mx-ns ~]# yum install sendmail
[root@mx-ns ~]# yum install mailx
バージョン確認
[root@mx-ns ~]# rpm -qa | grep sendmail
sendmail-cf-8.14.4-9.el6.noarch
sendmail-8.14.4-9.el6.x86_64
[root@mx-ns ~]#
基本設定
・/etc/mail/local-host-namesに自ドメインを設定する。
[root@mx-ns ~]# cat /etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.
simalab.com
[root@mx-ns ~]#
sendmail.mc設定
・下記の設定単純な設定でのmcファイルを設定する。
https://github.com/shi4669/ServerConfig/blob/master/sendmail/etc/mail/sendmail_plain.mc
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]#
当該設定をベースに、各種セキュリティのための設定検証を実施する。
タグ:sendmail
2016年03月24日
SourceTreeでのGitHubの利用備忘録
たまにしか使わない、SourceTreeとGitHubについて、
使うたびに、あれこれ、ググりながら、調べるということを繰り返していたため、
備忘録的に、利用法を手順書にしてみた。
SourceTreeでのGitHubの利用備忘録
https://drive.google.com/file/d/0B2yjG8delT8WV0RYTmpIWHZTQkk/view?usp=sharing
GitHubについては、これで、まだまだ勉強中
タグ:プログラミング
2016年03月17日
BIND9.8.2構築 on RHEL6.4 (SPFレコードあり)
関連記事に関連し、SPFレコードの検証を行うため、前回の環境にBIND9.8.2を検証のため、構築する。
・RHEL6.4を使用し、rpmでインストールする。
・検証用途のため、内部からのみの利用の前提。
・検証を優先するため、セキュリティはあまり考慮してない設定。
・ドメインはsimalab.comを使用し、逆引きは設定しない
※セキュリティ度外視の設定のため、注意。
関連記事で学習したSPFレコードも追加する。
作成したファイルのパーミッションを変更する。
動作確認のため、構築したサーバのリゾルバを自身(ここでは192.168.3.21)に向ける。
(この際に、ハマったことは、こちら)
・nslooup起動
・対象DNSサーバに接続
・nsレコード検索
・mxレコード検索
・txtレコード検索
環境の前提
・RHEL6.4を使用し、rpmでインストールする。
・検証用途のため、内部からのみの利用の前提。
・検証を優先するため、セキュリティはあまり考慮してない設定。
・ドメインはsimalab.comを使用し、逆引きは設定しない
各種インストール
[root@mx-ns ~]# yum install -y bind
[root@mx-ns ~]# yum install -y bind-chroot
[root@mx-ns ~]# yum install -y bind-utils
named.conf設定
※セキュリティ度外視の設定のため、注意。
[root@mx-ns ~]# vi /var/named/chroot/etc/named.conf
options {
#listen-on port 53 { 127.0.0.1; }; ← 行頭に#を追加してコメントアウト
#listen-on-v6 port 53 { ::1; }; ← 行頭に#を追加してコメントアウト
version "unknown";
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { localhost; localnets; };
allow-query-cache { localhost; localnets; };
forwarders{
192.168.3.1; #自宅環境なのでルータをforwarderに設定
};
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
category lame-servers { null; };
};
view "internal" {
match-clients { localnets; };
match-destinations { localnets; };
recursion yes;
// include "/etc/named.rfc1912.zones";
include "/etc/simalab.com.zone";
};
zoneの定義ファイル登録
[root@mx-ns ~]# vi /var/named/chroot/etc/simalab.com.zone
zone "simalab.com" IN {
type master;
file "simalab.com.zone";
};
zoneのレコードファイル登録
関連記事で学習したSPFレコードも追加する。
[root@mx-ns ~]# vi /var/named/chroot/var/named/simalab.com.zone
$TTL 86400
@ IN SOA mx-ns.simalab.com. root.simalab.com.(
2016031601 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS mx-ns.simalab.com.
IN MX 10 mx-ns.simalab.com.
mx-ns IN A 192.168.3.21
msa IN CNAME mx-ns
simalab.com. IN TXT "v=spf1 +ip4:192.168.3.21 ~all"
root定義ファイル登録
[root@mx-ns ~]# vi /var/named/chroot/etc/named.root.hints
zone "." IN {
type hint;
file "named.ca";
};
rootレコードファイル登録
[root@mx-ns ~]# vi /var/named/chroot/etc/named.root.hints
[root@mx-ns ~]# dig . ns @198.41.0.4 > /var/named/chroot/var/named/named.ca
ファイルパーミッション変更
作成したファイルのパーミッションを変更する。
[root@mx-ns ~]# chown 640 /var/named/chroot/etc/named.conf
[root@mx-ns ~]# chown named:named /var/named/chroot/etc/named.conf
[root@mx-ns ~]# chown 640 /var/named/chroot/etc/simalab.com.zone
[root@mx-ns ~]# chown named:named /var/named/chroot/etc/simalab.com.zone
[root@mx-ns ~]# chown 640 /var/named/chroot/etc/named.root.hints
[root@mx-ns ~]# chown named:named /var/named/chroot/etc/named.root.hints
BIND起動
[root@mx-ns ~]# service named start
named を起動中: [ OK ]
[root@mx-ns ~]#
BIND自動起動設定
[root@mx-ns ~]# chkconfig --list named
named 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@mx-ns ~]# chkconfig named on
[root@mx-ns ~]# chkconfig --list named
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@mx-ns ~]#
リゾルバの設定
動作確認のため、構築したサーバのリゾルバを自身(ここでは192.168.3.21)に向ける。
(この際に、ハマったことは、こちら)
[root@mx-ns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.3.21
search simalab.com
[root@mx-ns ~]#
動作確認
・nslooup起動
>nslookup
・対象DNSサーバに接続
> server 192.168.3.21
・nsレコード検索
> set type=ns
> simalab.com
サーバー: [192.168.3.21]
Address: 192.168.3.21
simalab.com nameserver = mx-ns.simalab.com
mx-ns.simalab.com internet address = 192.168.3.21
>
・mxレコード検索
> set type=mx
> simalab.com
サーバー: [192.168.3.21]
Address: 192.168.3.21
simalab.com MX preference = 10, mail exchanger = mx-ns.simalab.com
simalab.com nameserver = mx-ns.simalab.com
mx-ns.simalab.com internet address = 192.168.3.21
・txtレコード検索
> set type=txt
> simalab.com
サーバー: [192.168.3.21]
Address: 192.168.3.21
simalab.com text =
"v=spf1 +ip4:192.168.3.21 ~all"
simalab.com nameserver = mx-ns.simalab.com
mx-ns.simalab.com internet address = 192.168.3.21
>
タグ:OS