share facebook facebook2 twitter menu hatena pocket slack

2013.07.04 THU

Postfixのオープンリレーチェック

鈴木 宏康

WRITTEN BY鈴木 宏康

表題に関して、こちらから簡単に確認することができます。

まずは下記のように、デフォルトの状態(CentOS6&”yum”でインストール)からSMTPがインターネットから利用できる状態にして確認してみます。


# cat /etc/postfix/main.cf
...
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
...

結果は下記の通りでリレーはすべて拒否されました。


第三者中継テスト

第三者中継テストのためxxx.xxx.xxx.xxxに接続しています...

<<< 220 ip-xxx-xxx-xxx-xxx.localdomain ESMTP Postfix
>>> HELO h.rbl.jp
<<< 250 ip-xxx-xxx-xxx-xxx.localdomain
中継テスト その0

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その1

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その2

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM: <>
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その3

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その4

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その5

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その6

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その7

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest@h.rbl.jp">
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その8

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest%h.rbl.jp">
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その9

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その10

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest@h.rbl.jp"@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com>
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その11

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest@h.rbl.jp"@[xxx.xxx.xxx.xxx]>
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その12

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com:rlytest@h.rbl.jp>
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その13

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <@[xxx.xxx.xxx.xxx]:rlytest@h.rbl.jp>
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その14

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その15

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その16

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その17

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest%h.rbl.jp"@ap-northeast-1.compute.amazonaws.com>
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その18

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest@h.rbl.jp"@ap-northeast-1.compute.amazonaws.com>
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

中継テスト その19

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 554 5.7.1 : Relay access denied
relay NOT accepted!!

接続を閉じています...

>>> QUIT
<<< 421 4.7.0 ip-xxx-xxx-xxx-xxx.localdomain Error: too many errors
第三者中継テストの結果

全てのテストが行われました, no relays accepted.

次に下記のように、任意のIPからのSMTPの利用を許可して試してみました。


# cat /etc/postfix/main.cf
...
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
mynetworks = 0.0.0.0/0
...

当然ですが結果は下記の通りで、すべてのリレーが許可されてました。


第三者中継テスト

第三者中継テストのためxxx.xxx.xxx.xxxに接続しています...

<<< 220 ip-xxx-xxx-xxx-xxx.localdomain ESMTP Postfix
>>> HELO h.rbl.jp
<<< 250 ip-xxx-xxx-xxx-xxx.localdomain
中継テスト その0

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その1

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その2

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM: <>
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その3

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その4

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その5

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その6

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その7

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest@h.rbl.jp">
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その8

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest%h.rbl.jp">
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その9

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その10

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest@h.rbl.jp"@ec2-xxx.xxx.xxx.xxx.ap-northeast-1.compute.amazonaws.com>
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その11

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest@h.rbl.jp"@[xxx.xxx.xxx.xxx]>
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その12

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <@ec2-xxx.xxx.xxx.xxx.ap-northeast-1.compute.amazonaws.com:rlytest@h.rbl.jp>
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その13

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <@[xxx.xxx.xxx.xxx]:rlytest@h.rbl.jp>
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その14

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その15

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その16

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その17

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest%h.rbl.jp"@ap-northeast-1.compute.amazonaws.com>
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その18

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO: <"rlytest@h.rbl.jp"@ap-northeast-1.compute.amazonaws.com>
<<< 250 2.1.5 Ok
relay accepted!!

中継テスト その19

>>> RSET
<<< 250 2.0.0 Ok
>>> MAIL FROM:
<<< 250 2.1.0 Ok
>>> RCPT TO:
<<< 250 2.1.5 Ok
relay accepted!!

接続を閉じています...

>>> QUIT
<<< 221 2.0.0 Bye
第三者中継テストの結果

全てのテストが行われました, 20 relays accepted.

インターネットに公開するSMTPサーバを構築した際は、念のためチェックしておくとよいと思います。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。