メールサーバ 送受信テスト [ソフトウェア研究室]

 こんにちは!
 ナビゲータのEVEです。

 本日も、午前中メールに関する調査をしました。まず、Softbankに電話する前に、できることを調べようと思い、以下のことをしています。

[XServer社で用意されているFWで許可しているポート番号]

 現在、自分のサーバーではなく、XServer社が予め用意してくれている、FWを利用しています。そこで、メールを許可すると、TCP 25 / 110 / 143 / 465 / 587 / 993 / 995のポート番号を開放します。
 以上の中に、昨日他のサイトで見たと話していた、465が含まれいます。以上のポートはどのようなプログラムのために用意してくれているのか興味があるので調べてみました。
 ちなみに、事前に知っている、25(SMTP)、110(POP3)、143(IMAP)は省略します。  以下はChatGPTからの回答です。
❶ポート 465 (SMTPS):
・用途
 Secure SMTP(SMTPS)

・説明
 ポート465は、SMTP(Simple Mail Transfer Protocol)をSSL/TLSで暗号化した通信に使用されます。このポート番号は、もともとはSMTP over SSLとして指定されていましたが、正式な標準ポートではありませんでした。しかし、今でも一部のメールサービスで使用されています。

・備考
 現在では、ポート587(SMTPの送信ポート)に対してSTARTTLSを使った暗号化が推奨されており、ポート465は旧式とされています。

❷ポート 587 (SMTP送信用):
・用途
 メール送信用(SMTP Submission)

・説明
 ポート587は、電子メールの送信に用いられるSMTPの標準ポートです。このポートは、メールクライアント(例えば、OutlookやThunderbirdなど)からメールサーバーにメールを送信する際に使用され、セキュリティのためにSTARTTLS(SMTPの通信を暗号化する拡張機能)を使用することが一般的です。

・備考
 メール送信ポートとしては、ポート587が推奨される現在の標準です。

❸ポート 993 (IMAPS):
・用途
 Secure IMAP(IMAPS)

・説明
 ポート993は、IMAP(Internet Message Access Protocol)をSSL/TLSで暗号化した通信に使用されます。IMAPは、メールサーバー上にあるメールを管理するためのプロトコルで、ポート993はIMAP通信を暗号化して安全に行うために使われます。

・備考
 このポート番号は、メールを受信する際の暗号化された通信に使用され、セキュリティが強化されています。

❹ポート 995 (POP3S):
・用途
 Secure POP3(POP3S)

・説明
 ポート995は、POP3(Post Office Protocol 3)をSSL/TLSで暗号化した通信に使用されます。POP3は、サーバーからメールをダウンロードするためのプロトコルで、ポート995はこの通信を暗号化して安全に行います。

・備考
 POP3はIMAPよりもシンプルで、メールをサーバーからローカルにダウンロードしてから管理します。ポート995はこの通信における暗号化を提供します。

なお、ポート番号465は、現在は旧式の暗号通信なので、非推奨となっており、587は、以前はSMTP-AUTHで利用することが多かったのですが、現在は、暗号通信で使用するのが標準なようです。但し、従来通り587でSMTP-AUTHを実現することは許容されています。
 ちなみに、Server Worldでは、ポート番号25番でSMTP-AUTHを実現していますが、非推奨だということです。

[送受信試験]

 先日は、JustSystemShurikenで、メールサーバーへの接続の成功を確認しましたが、本日は、実際にメールを送信・受信してみました。
 送信は、Softbankのネットワークからは無理だと事前に知っているので、携帯電話に接続しなおしてから実施しました。これは、難なく成功!
 そして、受信なのですが、一癖ありました。GMailから送信すると、送信エラーにならないのですが、受信できません。/var/log/mail.logの内容を見ると、一応接続を試みているようなのだけれど、Postfixで拒否されている状態・・・。
 原因は何かなっていうことで、エラーメッセージを調べたところ、Postfixのmain.cf内の以下の1行が邪魔していることが分かりました。
reject_unauth_destination

どんなことをしているのかChatGPTに聞いてみると以下のような回答がありました。
 reject_unauth_destination は Postfix の SMTPD アクセス制御(smtpd_recipient_restrictions)において、受信メールの宛先をチェックするための制限ルールです。この設定は、不正なリレー(スパムや迷惑メールの送信中継)を防ぐために非常に重要な役割を果たします。

■主な機能
❶許可された宛先だけを受け入れる
 メールの宛先が以下のいずれかの場合のみ受け入れる:
1)サーバーが管理しているドメイン(mydestination や virtual_alias_domains に定義されているドメイン)
2)サーバーがリレーを許可している送信元(例: 認証済みユーザー、permit_mynetworks の範囲内の送信元)

❷不正なリレーを防止
・サーバーが管理していないドメイン宛のメールを受信した場合は拒否する。
・これにより、悪意のあるユーザーがサーバーを中継地点として利用し、他のドメインにスパムを送信することを防ぎます。

Server Worldでは、reject_unauth_destinationを入れていますが、どうも、この記述を削除しないと、他のネットワークからメールを送受信することはできないようです。

[メールサーバーの仕組み]

 ちなみに、メールを受信をするのに、Postfixのログが出ているっておかしいと思った人いました?私はちょっと、疑問を持ったので、調べてみたのですが、以下のことがわかりました。
 以前、このブログで、メールサーバーと一言でいっているが、4つの機能、MTAMDAMRAMSAを使ってメールを送受信しているといった話をしたことがありますが、その4つの機能を、Postfix、Dovecotというプログラムに置き換えると以下の通りとなります。
❶メール受信(Postfix: MTA の動作)
❷メール保存(Dovecot: MDA の動作)
❸メール閲覧(Dovecot: MRA の動作)
❹メール送信(Postfix: MSA の動作)

だから、メールの受信エラーがPostfixから出力されていて、Postfixのmain.cfを修正することによりメールを受信できるようになったようです。

[あとがき]

 /var/log/mail.logの内容を見ると、今現在も、ハッカーのアクセスが頻発しています。この状態で利用するのは問題があるので、SSL/TLS通信を実現する前に、今月末に向けてある程度セキュリティレベルを上げて、2月1日からメールの本格運用を予定しています。
 なお、それ以前に、ウイルス対策サーバーの構築ポータルサイト画面のリリースアクセスユーザー分析ツールのリリースを実施する予定です。

 では、また!

コメント