定義

Sendmail (読み方:センドメール)は、SMTP (Simple Mail Transfer Protocol) を使用してメールを送信する法人向けサーバーアプリケーションです。通常、専用マシンのメールサーバーにインストールされ、送信するメールメッセージを受け取り、定義された受信者にこれらのメッセージを送信します。受信者がすぐに利用できない場合はメッセージをキューに入れ、スパムを防ぐための方法として認証を提供します。しかし、Sendmailはメールを送信するだけで、POP (Post Office Protocol) やIMAP (Internet Message Access Protocol) を持っていないため、メッセージを受信してユーザーの受信箱に保存することはできません。そのため、Sendmailは通常、ユーザーの受信トレイの設定を可能にする追加アプリケーションと一緒にインストールされます。

無料トライアルのお申し込み手順

  • 弊社のサイバーセキュリティ エキスパートが貴社に伺い、セキュリティ環境を評価して、脅威リスクを診断します。
  • 24 時間以内に最小限の構成で、30 日間ご利用いただけるプルーフポイントのソリューションを導入します。
  • プルーフポイントのテクノロジーを実際にご体験いただきます。
  • 組織が持つセキュリティの脆弱性に関するレポートをご提供します。このレポートは、サイバーセキュリティ攻撃の対応に直ちにご活用いただくことができます。

フォームに必要事項をご入力の上、お申込みください。追って、担当者よりご連絡させていただきます。

Proofpointの担当者がまもなくご連絡いたします。

Sendmailの仕組みとSMTP

Sendmailの仕組みを理解するためには、SMTPとSendmailサーバーのアプリケーションを分けて考えることが重要です。SendmailはSMTPの機能と設定を含むアプリケーションですが、SMTPはメールを送信するためのプロトコルです。クラウドホストはSendmailという商用アプリケーションを提供しており、WindowsやLinuxサーバー上のアプリケーションを経由してメールを送信することが可能です。

SendmailのSMTPは、中間者攻撃 (MitM) からメッセージを安全に保つために、Secure Socket Layer (SSL) と共に使用することができます。メールプロトコルは本質的に安全ではありませんが、SSLと認証を使用することで攻撃者がメッセージを読むことを防ぎ、スパマーがスパムメッセージのためにビジネスメールサーバーを使用することを防ぎます。

Sendmailを搭載したSMTPサーバーは、送信メッセージを受信すると、2つのアクションを実行し、それぞれ2つのファイルを生成します。最初の動作は、受信者のメールアドレスを特定し、ヘッダーに記録することです。ヘッダーファイルにはエイリアスやメーリングリストを含む受信者のリストが含まれています。また、メッセージが正しく送信されるように、送信メッセージの構文もチェックします。

2番目のアクションは、メッセージの本文を含むファイルを作成することです。Sendmailは各受信者のアドレスをコピーし、ボディとヘッダーファイルに添付し、指定された受信者にメッセージを送信します。送信メールサーバーは受信者の存在を知らないので、間違ったメールアカウントなどメッセージに問題があれば、メッセージが返送されてきます。メールヘッダーは、受信者にメッセージのパスと真偽に関する情報を提供するため、メッセージの転送には不可欠です。

Sendmailはいくつかのエラー処理機能を備えています。例えば、終了ステータス (exit status) が "一時障害 (temporary failure) "を返した場合、アプリケーションはメッセージをキューに入れ、後で再試行することになります。もしアプリケーションがメッセージを送信できない場合、送信者にメッセージが送信されなかったことを知らせるために失敗メッセージが返されます。

メールヘッダーの中には、組織が独自に追加した情報もありますが、それ以外の部分はSendmailを使えば必ず含まれます。メールヘッダーには受信者サーバーに到達するまでの経路が含まれていますが、正しい構文であれば組織独自のヘッダー値を追加することができます。以下は、メールヘッダー値の基本的な構文です。

 

Field name: value

 

フィールド名と値のペアは独立した行でなければならず、そうでなければ構文検証のステップで失敗し、送信メッセージは決して送信されません。電子メールでは、なりすましフィッシングを防止するために、いくつかのセキュリティ標準が作成されています。これらのセキュリティヘッダーは、送信者メールアドレスが正当であり、なりすましでないことを確認するために、送信メッセージに付加されます。

Sendmailの設定とコマンド

Sendmailの商用アプリケーションはWindowsでもLinuxでもインストール可能ですが、SMTPを含むSendmailパッケージはLinux OS用に構築されています。クラウドプロバイダでは自動インストール機能を提供しており、企業やその管理者がメールサーバーの設定を知らなくても簡単に設定することができます。

GUIにより、ユーザーはメールを送信するためにコマンドラインを使用する必要がありません。Sendmailがインストールされたサーバーは、Webアプリケーションからの送信メールメッセージも扱うことができます。仮想マシンと独自のWebサーバーを持つ企業は、Sendmailはサーバーにインストールする必要がありますが、ほとんどのWebホストは、cPanelにインストールが含まれています。自動インストールされたものであれば、手動で設定する必要はありません。

Sendmailはバックエンドのサービスなので、その動作はエンドユーザーからは見えません。コマンドラインからSendmailをテストする場合、いくつかのオプションとコマンドが利用可能ですが、基本的な構文は以下のようになります。

 

Sendmail recipient@theirdomain.com

 

上記のコマンドを入力するとSendmailが起動し、指定されたアドレスにメールが送信されます。例として、次のように入力すると、me@me.comから本文に 「Hello」と書かれたメールが送信されます。

 

From: me@me.com
To: recipient@theirdomain.com
Hello
.

 

メッセージの最後にある別行の「.」文字に注目してください。この文字は、Sendmailにメッセージの終了を伝える終了フラグだと思ってください。Sendmailは以上の終了フラグを受け取り、メールを送信します。もしシンタックスエラーがあれば、Sendmailは管理者にエラーを返します。

コマンドラインは通常Sendmailのテストに使われるもので、ユーザーがこれを使うことはまずありません。メールソフトは端末にインストールされているものを使用します。メールクライアント(Outlook、Thunderbirdなど)はSMTPの設定によりSendmailサーバーに接続することができます。クライアントアプリケーションを設定した後、ユーザーはSendmailコマンドを直接操作することなくメッセージを送信することができます。

Sendmailのセキュリティ対策

Sendmailを使用する大きな利点は、社内にメールサーバーを持てることです。クラウドメールサーバーも選択肢の一つですが、企業によっては社内にメールサーバーを持つことでセキュリティを確保する必要があります。クラウドメールサーバーの自動設定に頼ることなく、メールヘッダーやサーバーの動作をカスタマイズすることができます。

また、自社でメールサーバーをホスティングする利点として、社内アプリケーションとの連携がより容易になることが挙げられます。開発者は、アプリケーションにコード化されている外部のメールサーバーが安全でないことを確認する必要がありません。また、メールサーバーが常に利用可能であることが保証され、設定変更も予告なく変更される前にテストすることができます。

Sendmailアプリケーションの利点は、他のメールアプリケーションと同様です。完全に設定可能であること、管理者がリモートで管理できること、メッセージ転送に失敗したときにユーザーに失敗メッセージを提供すること、メッセージ送信前に名前解決ができることなどです。これらの利点は、管理者や組織がメールサーバーをホストするための信頼性の高い方法を提供します。アプリケーション自体が軽量であるため、ソフトウェアを実行するために多くのサーバーリソースを必要としません。

Sendmailサーバーを維持することは、管理者にとって追加的なタスクであるため、企業はITスタッフがメールサーバーを維持するための時間とスキルセットを持っていることを確認する必要があります。Sendmailは軽量で簡単に設定できますが、それでも保守と監視は必要です。Sendmailには簡単な監視ツールがありますが、新しいインフラストラクチャーを導入することで、組織全体の脅威管理手順にリスクを追加することになります。