メール サーバーの診断は、メールの正しい操作を保証する上で重要な役割を果たします。これにより、メール メッセージの送信、受信、処理に関連する問題を特定して解決できます。診断の重要な要素の 1 つは、スパム、ウイルス、その他のセキュリティ脅威から保護するメール サーバーでのフィルターの使用です。
本稿では、メールサーバーの動作を外部から監視できる外部サービスと、サーバー上で直接診断を実行できる内部ツールの両方について考察します。例として、 PostfixとDovecotが設定されたUbuntu 20.04.6 OSを搭載したプライベートサーバー上で全ての手順を実行しますが、ここで紹介する方法はほぼ全てのオペレーティングシステムとメールクライアントに適用可能です。
メールサーバーチェックのためのオンラインサービス
最初の、そして最も重要なステップは、外部のオンライン サービスを使用した検証です。この方法では、メール サーバーの露出、SPF、DKIM、DMARC 設定をチェックし、メールの送信元 IP アドレスの評判もチェックできます。ほとんどの場合、これらのツールのみを使用すると、望ましい結果が得られます。
主な検証サービスとその機能について詳しく見てみましょう。
MxToolBoxを使用すると、ほぼすべてのメールサーバーパラメータを確認できます。このサービスでは、すべてのドメインレコード、ドメインの可用性、SSL証明書、IPアドレスの状態などを確認するためのツールが提供されています。診断するには、サービスページにアクセスし、IPアドレスまたはドメインを入力し、必要なツールを選択してチェックを実行します。
利用可能なすべてのツールの詳細なリストがスクリーンショットに表示されます。
上記のように、この Web サイトは IP/ドメインがブラックリストに登録されているかどうかもチェックします。Spamhaus、Barracuda、SURBL など、すべての主要なソースがチェックされます。アドレスがいずれかのデータベースに登録されている場合、このサービスはブラックリストに登録された理由に関する情報を提供します。これにより、問題を修正するための対策を講じることができます。
MailTesterは、メールサーバーのチェックツールとして2番目に人気のあるツールです。このサービスを利用すると、ユーザーは特定のアドレスにテストメールを送信し、送信されたメッセージの品質に関する詳細なレポートを受け取ることができます。MxToolBoxとは異なり、このツールはメールサーバーの診断よりも、メールの改善に重点を置いています。しかし、だからといって、送信元サーバーの完全な分析ができないわけではありません。メール配信のテスト、調査、そしてメールサービス全体の改善に関する推奨事項を提供します。
チェックを完了するには、リソースのウェブサイトにアクセスし、メールを送信したい固有のメールアドレスを取得してください。送信後、「評価チェック」を選択し、ページが更新されるまでお待ちください。良好な結果は次のようになります。
問題や推奨事項がある場合は、サービスによってレポートの適切なセクションに報告されます。
上記のサービスは、メール サーバーをサイドから完全にチェックするのに十分です。これらのサービスを使用すると、メール配信の潜在的な問題を特定し、セキュリティ設定をチェックし、考えられるエラーを解決するための推奨事項を受け取ることもできます。次に、サーバー側でテストを実行します。
メールサーバーの設定確認
DNSレコードの確認
メールサーバー側でよくある問題の 1 つは、DNS レコードの設定が間違っていることです。前述のサードパーティ サービスを使用して、その正しさを確認できます。ただし、場合によっては、メールがサードパーティのメールボックスに配信されないことがあります。この場合は、すべてのエントリを手動で確認する必要があります。これを行うには、DNS エディタに移動してチェックを開始します。例として、ソース データとして次のものを使用します。ドメイン profit.com、IP アドレス 11.22.33.44。レジストラがこのフォームへの入力を許可しない場合は、ドメイン名として @ を使用できます。値を忘れずに自分のものに変更してください。値を忘れずに自分のものに変更してください。
AレコードはメールサーバーのIPアドレスを定義します。簡単に言うと、ドメインをメールサーバーのアドレスに誘導する役割を果たします。以下のような形式になります。
| タイプ | 主催者 | 値 | TTL |
| A | @ | 11.22.33.44 | 1 min |
MXレコードはメールサーバーにとって最も重要なものであり、メールの配信経路を決定する役割を担っています。つまり、メールを宛先のメールボックスに振り分ける役割を果たします。
| タイプ | 主催者 | 値 | TTL |
| MX | @ | メール | 1 min |
SPFレコードは、特定のドメインからメールを送信できるサーバーを示します。なお、これらはTXT形式で公開されます。また、可能な値のうち1つのみが表示されます。
| タイプ | 主催者 | 値 | TTL |
| TXT | @ | v=spf1 ip4:11.22.33.44 -all | 1 min |
DKIMレコードは、メールの真正性を検証するために使用されます。生成された公開鍵を含める必要があります。同様に、値オプションは1つだけ指定してください。
| タイプ | 主催者 | 値 | TTL |
| TXT | s1._domainkey.profit.com | v=DKIM1; k=rsa; p=QWIOJNDSLUB… | 1 min |
DMARC記録は、次の最終段階の保護対策です。これは、 SPFおよびDKIMチェックに合格しなかったメールに適用されます。
| タイプ | 主催者 | 値 | TTL |
| TXT | _dmarc.profit.com | v=DMARC1; p=なし; pct=100; rua=mailto:[メール保護] | 1 min |
また、メールサーバーにとって最も重要なレコードの1つにPTRレコードがあります。これはAレコードとは逆の働きをし、IPアドレスとドメインを関連付けます。このタイプのレコードは、ホスティングプロバイダーのテクニカルサポートに依頼することで追加できます。確認するには、nslookup IPコマンドを使用します( IPはサーバーアドレス)。応答には、関連付けられたドメインが表示されます。
ポートチェック
ポートが閉じていることが原因で、メールサーバーが完全に機能しなくなる場合もあります。まず、プロバイダー側で必要なポートに制限があるかどうかを確認する必要があります。弊社では、専用サーバーや仮想サーバーでクライアントが使用できるポート数に制限を設けていません。しかし、多くのホスティングサービスプロバイダーは異なる対応をしています。
プリインストールされているnetstatユーティリティを使用して、開いているポートを確認できます。以下のコマンドを入力するだけで十分です。
netstat – nat
SMTP/IMAP/POP3 サーバーをインストールして構成すると、対応する開いているポートが表示されます。
スクリーンショットで確認できるように、主要なメールクライアントポート、すなわちSMTP(25)/ IMAPS(143、993)/ POP3S(110、995)が開いています。各ポートのメールサービスを個別に確認することもできます。これにはtelnetツールが役立ちます。POP3、つまりポート110の例を見てみましょう。
telnet mail.yourdomain.com 110
exitコマンドでツールを終了し、同じ手順で残りの必要なポートを確認します。なお、このツールでは、追加のインターフェースを使用せずにメール送信をテストすることも可能です。これは、ユーザーがサーバーをセットアップし、ローカルでメールを送信する場合に役立ちます。
ポートを開く際に問題が発生した場合は、インストールされているファイアウォールに注意してください。ほとんどのディストリビューションには、Iptables/Firewalldがプリインストールされています。
iptablesでは、以下のコマンドを使用します。
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp --dport 993 -j ACCEPT
ファイアウォールの場合:
firewall-cmd --permanent --add-port=25/tcp
firewall-cmd --permanent --add-port=110/tcp
firewall-cmd --permanent --add-port=995/tcp
firewall-cmd --permanent --add-port=143/tcp
firewall-cmd --permanent --add-port=993/tcp
場合によっては、SMTPサービスが正しく動作するためにポート465と587を開放する必要があります。これらのポートを開放する手順は同じです。新しいルールを追加した後は、ファイアウォールサービスを再起動してください。
メールサーバーのSSL/TLS証明書の確認
SSL/TLS 証明書は、メール クライアントとサーバー間の安全なデータ転送を保証するためにメール サーバーで使用され、送信者のメール サーバー自体の信頼性も確認して、中間者攻撃の可能性を排除します。ただし、メールの送受信に問題が発生する可能性もあります。診断を開始するには、サーバー側に証明書がインストールされているかどうかを確認する必要があります。次のコマンドで証明書の存在を確認しましょう。
openssl s_client -showcerts -server mail.profit.com -connect IP:port
このコマンドでは、値を自分のものに置き換える必要があります。「mail.profit.com」はメールサーバーのアドレス、IP:portはサーバーデータです。例として、IMAPプロトコルに属するポート993を確認してみましょう。他のプロトコルも同様の方法で確認できます。
応答として、サーバーは証明書データを送信する必要があります。
ほとんどのメールクライアントは証明書を自動的にインストールしますが、場合によっては、証明書を手動でリリースして特定のクライアントに追加する必要があります。プラットフォームによってインストールと設定が異なる場合があるため、特定のソリューションの手順を参照することをお勧めします。証明書としてはLet's Encryptを、インストールと設定の補助ツールとしてはCertbotを使用することをお勧めします。
ログチェック
最終的に、ほとんどの場合に役立つ解決策にたどり着きました。それは、メール サーバーのログを確認することです。大多数のユーザーは、問題の解決策がないと考えて、自分自身を欺いています。しかし、最近のメール クライアントは、ログに大量の情報を保存します。
- メールの送受信の日時。
- 送信者と受信者の住所。
- スパムやウイルスの結果をフィルタリングします。
- メールの送受信キューの状態。
- メール サーバーに関連する管理者およびユーザーのアクション (メールボックスの作成、削除、設定の変更など)。
- 電子メールの処理および配信中に発生したエラーおよび問題。
ほとんどのコマンドのログが保存される標準ディレクトリは / var/log/です。使用するソリューションによっては、特定のログファイルの名前が異なる場合があります。たとえば、 Postfix の場合、 mail.log ファイルは同じディレクトリにあります。この診断方法を軽視せず、メールクライアントのパフォーマンス低下の兆候が現れたらすぐにログを確認することをお勧めします。Linuxログの読み方については、マニュアルを参照してください。
メールサーバーの確認方法を理解する
メール サーバーの詳細な診断を実施しました。テスト中は、詳細な調査のためのオンライン ツールと、起こりうる問題を検出するためのローカル ソリューションの両方が影響を受けました。必要なすべてのテストを実施した後、メール サーバーの現在の状態を完全に把握し、潜在的な問題を排除するための推奨事項が得られました。