質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

1回答

3963閲覧

Postfixのスパムメール対策について

NNWW

総合スコア9

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

1クリップ

投稿2018/08/28 14:26

編集2018/08/28 23:16

前提・実現したいこと

CentOs7にてwebサーバーを構築しており、httpフォームから受けつけた内容から入力アドレスへメールを送信する仕組みを作成しているのですが、外部からの送信は受け付けずローカルからのメール送信のみを許容する形にしたく、smtpポートは閉じているのですが、maillogを確認したところ、中国系のスパムメールの送信痕跡が見つかりました。
慌てて、main.cfに
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
を追記したところ、メール自体は、status=deferred となったことが確認できたのですが、なぜこのような踏み台になってしまったのかがわかりません。
理由がわからないので根本的な対策が受けられているのか自信がもてません。
smtpポートを閉じていても、踏み台になることはあり得るのでしょうか?

※指摘を受けて追記致します。
smtpポートを閉じている、というのは
25番ポートはfirewalldにて開放しておらず、外部からコネクトされないよう設定している、という意味です。
参考までに、開放しているポートは
http
https
ssh
ftp
dhcpv6-client
です。

発生している問題・エラーメッセージ

設定を追記する前の送信痕跡は以下です

Aug 28 19:04:16 tk2-219-19015 postfix/smtp[23048]: DC910C6DD0F: to=1445951342@qq.com, relay=mx3.qq.com[103.7.30.40]:25, delay=1.7, delays=0.01/0/0.24/1.4, dsn=2.0.0, status=sent (250 Ok: queued as )

※追記
上記の送信痕跡の関連ログと思われるものを以下に記します
(一部伏せ字にしていますが、XXXX@XXXXXX.xxxの箇所はアプリにて設定している送信アドレスです。

Aug 28 19:04:14 xxxxxxxxxxxxx postfix/pickup[23184]: E4A39C6D942: uid=48 from=<1445951342@qq.com> Aug 28 19:04:14 xxxxxxxxxxxxx postfix/cleanup[23044]: E4A39C6D942: message-id=<5b851e1edcff0@qq.com> Aug 28 19:04:14 xxxxxxxxxxxxx postfix/qmgr[1305]: E4A39C6D942: from=<1445951342@qq.com>, size=1358, nrcpt=1 (queue active) Aug 28 19:04:15 xxxxxxxxxxxxx postfix/smtp[23270]: E4A39C6D942: to=<XXXX@XXXXXX.xxx>, relay=aspmx.l.google.com[74.125.204.26]:25, delay=0.89, delays=0/0.01/0.53/0.34, dsn=5.7.1, status=bounced (host aspmx.l.google.com[74.125.204.26] said: 550-5.7.1 This message does not have authentication information or fails to pass 550-5.7.1 authentication checks. To best protect our users from spam, the 550-5.7.1 message has been blocked. Please visit 550-5.7.1 https://support.google.com/mail/answer/81126#authentication for more 550 5.7.1 information. g2-v6si693662pgg.83 - gsmtp (in reply to end of DATA command)) Aug 28 19:04:15 xxxxxxxxxxxxx postfix/cleanup[23044]: C9ADAC6DD10: message-id=<20180828100415.C9ADAC6DD10@xxxxxxxxxx.vs.sakura.ne.jp> Aug 28 19:04:15 xxxxxxxxxxxxx postfix/qmgr[1305]: C9ADAC6DD10: from=<>, size=3998, nrcpt=1 (queue active) Aug 28 19:04:15 xxxxxxxxxxxxx postfix/bounce[23054]: E4A39C6D942: sender non-delivery notification: C9ADAC6DD10 Aug 28 19:04:15 xxxxxxxxxxxxx postfix/qmgr[1305]: E4A39C6D942: removed Aug 28 19:04:16 xxxxxxxxxxxxx postfix/smtp[23083]: C9ADAC6DD10: to=<1445951342@qq.com>, relay=mx3.qq.com[103.7.30.40]:25, delay=0.5, delays=0/0/0.18/0.31, dsn=5.0.0, status=bounced (host mx3.qq.com[103.7.30.40] said: 550 Mail content denied [MFWduTTi91Eb1HPFJ+UWKg4pos6tjc5tIgYswoNgJx7ruPSgT3qvPMs= IP: 160.16.86.19]. http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000726 (in reply to end of DATA command)) Aug 28 19:04:16 xxxxxxxxxxxxx postfix/qmgr[1305]: C9ADAC6DD10: removed

試したこと

smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
を追記したところ、
Aug 28 22:14:07 tk2-219-19015 postfix/error[26011]: F0593CF51F2: to=1973145288@qq.com, relay=none, delay=597, delays=596/0.46/0/0, dsn=4.4.2, status=deferred (delivery temporarily suspended: lost connection with mx2.qq.com[184.105.206.31] while performing the HELO handshake)
というようなメッセージが出るようになったので、とりあえず防げているのか・・・と思っているのですが、自信がありません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2018/08/28 20:55

ポートを閉じているというのが、どのように設定されているのかわからないので、回答は難しいです。 firewall で制限しているのでしょうか? postfix を 127.0.0.1 のローカルホスト限定で動かしているのでしょうか?
NNWW

2018/08/28 22:51

ご回答ありがとうございます。指摘を受けて質問を編集させていただきました。
CHERRY

2018/08/28 23:03

送信痕跡のログの前後に サーバーへの接続・切断のログが出ていると思いますが、( 例: `postfix/smtps/smtpd[99999]: connect from hostname[aaa.bbb.ccc.ddd]` ) があると思いますが、この接続元は、外部のホストですか?
NNWW

2018/08/28 23:18

maillogを"connect" "smtpd"でgrepしてみましたが、サーバーへの接続ログ自体が見当たりませんでした・・・ idによる関連ログを抜き出して追記してみたのですが、足りていますでしょうか?
guest

回答1

0

ベストアンサー

追加していただいたログの

postfix/pickup[23184]: E4A39C6D942: uid=48 from=1445951342@qq.com

がローカルからのコネクション開始ですね。

uid 48 が、メールを送信していますので、smtp ポートからの中継ではないです。

CentOS ということなので、uid 48 は、 Apache の実行ユーザーですが、Web アプリから、自由にメールが送れたりするのでしょうか?

たとえば、お問い合わせフォームで、宛先と差出人を Form で送っているとか...

投稿2018/08/29 00:24

編集2018/08/29 00:26
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NNWW

2018/08/29 00:31

構築と致しましては、入力されたメールアドレスに対してサンキューメールを送る、的な機能です。 なので、webフォームから受け付けたアドレスに送られる認識はあるのですが、relay = XXXX という箇所が気になっていて、さらに、ここが、設定を追記後にrelay = none に変化したことで、不正中継されているのでは?と疑っている次第です。
CHERRY

2018/08/29 00:53 編集

Postfix のログに記録される `postfix/pickup` は、mail , mailx , sendmail コマンド等のローカルコンピュータ内からのメール送信です。smtp は、経由していません。 uid 48 だったので、通常はログインシェルが、`/sbin/nologin` になっているため、不正にログインされた可能性よりは、 Web ページから送信されたのではないかと疑いました。 (たとえば、PHP のデフォルトでは、 sendmail コマンドを経由して送信されます。)
NNWW

2018/08/29 00:52

なるほどです。 恥ずかしながらこの [relay]の意味合いがよくわかっておらず・・・ relay=mx3.qq.com[103.7.30.40]:25 ここはどういった意味合いとなるのでしょうか? また、設定変更後にログを確認したところ、 不正なアドレスは、先述の通り relay=none となり、status=deferredになったのですが、 自分のアドレスでwebフォーム自体からの送信は成功致しました。 webからのリクエストであれば、不正リクエストをdeferredできないのでは、と疑問に思っているのですが、、、知見を伺えますでしょうか?
CHERRY

2018/08/29 01:10 編集

relay=mx3.qq.com は、「メールの受取ドメイン(または中継先)のsmtp サーバー( mx3.qq.com )に送信した。」という意味です。 relay=none については、`postfix/error` で `delivery temporarily suspended: lost connection with mx2.qq.com` とあるので、相手の smtp サーバから接続拒否や送信中に切断されて、送信が完了しなかったためと思われます。 `status=deferred` になっていますので、まだ、Postfix のキューに残っていると思われます。 他にも残っていないか ` postqueue -p ` で、キューの状態を確認してください。
NNWW

2018/08/29 02:51

なるほどです。 では、relay=noneになったのは、設定に smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination を書き加えたからではなく、書き加えるために一時停止した影響だった、という理解でよろしいのでしょうか? postqueue -p こちら、確認してみたところ、大量の不正なqueが残っていたので一括で削除致しました
CHERRY

2018/08/29 05:17

`postfix/error[26011]: F0593CF51F2: to=<1973145288@qq.com>, relay=none, delay=597, delays=596/0.46/0/0, dsn=4.4.2, status=deferred (delivery temporarily suspended: lost connection with mx2.qq.com[184.105.206.31] while performing the HELO handshake)` の1行のログだけでは、相手側 smtp サーバと通信中に応答なく切断(lost connection)という記録でしかなく何が原因かを判断できる材料がありませんので、原因について断言できません。 ログに記録された時間が、設定を変更して停止したのと同じ時間であれば、影響があったのかもしれませんが、提示されているこの1行からは判断できないので不明です。
NNWW

2018/08/30 00:56

諸々ご回答ありがとうございました。 webからのリクエストの対応に的を絞って対処したいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問