メールサーバーをセットアップしようとすると、ポート(25、587)が機能しない


9

私はあらゆる場所を検索してきましたが、これに本当に苦労しています。私はすべてを試してみたと思います。

背景情報

  • CentOS 6.7のVPS
  • Postfix 2.6.6
  • dovecot、amavis、mysql、fail2ban
  • 私のVPSプロバイダーは、ポートをブロックしないことを確認しました。

私がやったこと

  • ストックsendmailを削除
  • 完全なメールソリューションのためにpostfix、dovecot、mysqlなどをインストールしました
  • STARTTLSでimap、smtpのみを許可しています(ポート143および587)
  • SSHログインは無効になり、キーのみ
  • メールを受信できる(ポート143経由)
  • localhostから両方のポート(587、25)にtelnetで接続でき、Postfixグリーティングが表示されます
  • 587または25(メールクライアントまたはtelnet)に接続しようとすると、応答がゼロになります(接続タイムアウト)。

私が試したもの

1)ポートは開いていますか?はい、iptables:

Chain INPUT (policy DROP 11 packets, 1375 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:587
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:587
   25  2579 f2b-dovecot  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 110,995,143,993,587,465,4190
   68  7788 f2b-postfix  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 25,465,587
    0     0 f2b-sshd   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 22
   25  2579 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:143
    7   600 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080
23464 2662K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
   49  2940 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:3915
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:443
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:143
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:587
    5   300 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:25

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 23235 packets, 2494K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain f2b-dovecot (1 references)
 pkts bytes target     prot opt in     out     source               destination
   25  2579 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain f2b-postfix (1 references)
 pkts bytes target     prot opt in     out     source               destination
   68  7788 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain f2b-sshd (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

2)Postfixはポート587でリッスンしていますか?はい。ローカルホストでのみリッスンしていますか?いいえ、すべてのホスト。

ここにnetstatがあります:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      7173/master
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      917/httpd
tcp        0      0 127.0.0.1:4190              0.0.0.0:*                   LISTEN      749/dovecot
tcp        0      0 0.0.0.0:587                 0.0.0.0:*                   LISTEN      7173/master
tcp        0      0 0.0.0.0:143                 0.0.0.0:*                   LISTEN      749/dovecot
tcp        0      0 127.0.0.1:24                0.0.0.0:*                   LISTEN      749/dovecot

そして、念のためpostfix / main.cfもここにあります:

# Enable both IPv4 and/or IPv6: ipv4, ipv6, all.
inet_protocols = ipv4

# Enable all network interfaces.
inet_interfaces = all

3)安全な接続を正しく強制していますか?私の知る限り、はい、これがpostfix / master.cfです。

# Submission, port 587, force TLS connection.
submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
  -o content_filter=smtp-amavis:[127.0.0.1]:10026

4)smtpd制限についてはどうですか?大丈夫だ:

# HELO restriction
smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_non_fqdn_helo_hostname
    reject_invalid_helo_hostname
    check_helo_access pcre:/etc/postfix/helo_access.pcre

5)postfixは正しく機能していますか?

はい、サーバーにログインし、コンソールからテストメールを送信すると、反対側で電子メールが受信されます。

echo "Test mail from postfix" | mail -s "Test Postfix" user@something.com

6)ポート587で接続するとどうなりますか?

どうやら、何もない。ランダムなポートにtelnetで接続しようとすると、少なくとも何かが表示されます。たとえば、ポート666(開いていない)にtelnetで接続しようとすると、クライアントへの応答はありませんが、少なくともtcpdumpで何かが得られます。

15:22:20.305697 IP xxx > xxx.com.mdqs: Flags [S], seq 3195304468, win 8192, options [mss 1352,nop,wscale 8,nop,nop,sackOK], length 0

ポート587をtcpdumpするとき、それにtelnetで接続しようとしても、何も起こりません。

まだ何が欠けていますか?

上記のすべてが、私がまだ試すことができることについての私の知識を使い果たしています。私はなんとかそれを私のポート587に釘付けし、何かによって完全にブロックされました。前述のように、私のVPSプロバイダーは、ポートをまったくブロックしていないことを確認しました。私はポート25を試しましたが、それは同じ話です。

私が見ることができる他の唯一のことは、サーバーをセットアップするときに何らかの方法でそれらのポートをブロックしたことですが、それが事実であるかどうか思い出せず、それをテストする方法がわかりません。

どうぞよろしくお願いいたします。実際、私はこれを解決するのを手伝ってくれる人のためにビールを買っています、私はすでにそれで2日を無駄にしていて、それは本当に迷惑になり始めています。


3
iptables上記の出力をiptables -L -n -v、全体、および編集されていないものに置き換えることはできますか?また、あなたのtcpdupmpテストと、プロバイダーが25と587の受信をブロックしないことを保証している場合、テストている場所が25と587の送信からブロックしている可能性もあります。IPアドレスを投稿した場合、その仮説を確認または否定する方がはるかに簡単です。
MadHatter、2016年

返信いただきありがとうございます。はい、投稿を編集しました。うーん、私は自分の側でポートがブロックされることを考えたことがありません。それは良い考えです。これを試してみます。
リーチャーギルト2016年

1
@MadHatter、あなたは私の側のブロックされたポートで完全に正しかった。私の会社のVPNの管理者は、特定のポートのブロックを開始することを決定しました(何度も電話をかけた後)。これは、私がそのような問題を以前に経験したことがなく、それについてさえ考えなかった理由を説明しています。私のサーバーは、ここ数日はもううまくいっていなかったでしょう。必要に応じて、実際の回答として投稿できます。私はそれを受け入れます。また、PayPal(または同様の)情報をPMに送ってください。あなたは本当に大きなものに値するでしょう、神が私がそれを理解するときを知っています。
リーチャーギルト2016年

私はそれを書いたので、あなたは答えを受け入れることができます-そうでなければ質問は永遠に浮かぶでしょう、そしてそれは悪いです。また、これは将来的に他の人にも役立つかもしれません。私は、私はあなたが(!あなたに、より多くの電力を)すでに調査作業のほとんどを行ってたけど、あなたが名誉結合が私に送信することを感じた場合についての私の答えに言ったことを意味し1本のを経由して、ビールを、あなたは私の個人的なウェブサイト上で私の連絡先の詳細を見つけることができます私のプロフィール。
MadHatter、

完了し、再度ご協力いただきありがとうございます。無駄な時間ではなくても、時間を節約できたと思います。明日ご連絡いたします。ウェブサイトは確認済みです。
リーチャーギルト2016年

回答:


4

リーチャーギルト、SFへようこそ。最初のすばらしい質問に感謝します。あなたは私たちがあなたを救ったと感じているかもしれませんが、正直なところ、あなたはすでにすべての重い作業を行い、それを非常に体系的に提示していました。そのような法医学的な考え方で、私はあなたがしばらくの間これらの部分を避けてくれることを望みます。

tcpdump出力は特に手厳しいされます。接続の試みがサーバーに到達していないことは合理的な疑いを超えて証明され、サーバーのファイアウォール、postfixのバインディング、およびその他すべてのサーバー側が無効になります。

そのポインタで武装して、あなたは離れて行き、あなたのアウトバウンド接続がブロックされていることを確認したので、あなたのテストはあなたのサーバーまで到達することはありませんでした。スパム送信ボットネットが使用するため、最新のネットワークからのアウトバウンドが25(そしてそれより少ない場合は587)にブロックされるのは(憂鬱なほど)かなり普通のことです。

とにかく、新しいメールサーバーが宣伝どおりに機能していることに満足しています。


3
ええ、私の投稿は同様の問題を抱えている人のための素晴らしいチェックリストになります。面白いことに、サーバーに問題があると思ったので、AからZまですべてを4倍にチェックし、ここにすべてを文書化することができました。
リーチャーギルト2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.