Linux サーバーの運用では、ログ監視やセキュリティイベントの発生を管理者へ通知するために、メール通知の仕組みがよく利用される。
例えば、Fail2Ban による BAN 通知、AIDE の改ざん検知、cron 実行時のエラー通知、Logwatch によるシステムレポートなどが代表的な例である。これらの通知をメールで受け取れるようにしておくことで、サーバーの状態変化を早期に把握しやすくなる。
こうした通知を利用するためには、まずサーバー自身が外部へメールを送信できる状態になっている必要がある。
このページでは、その基本構成としてシンプルな SMTP クライアントである msmtp を利用し、Linux サーバーからメールを送信できるようにする設定手順を紹介する。
なお、SMTP サーバーの例として Microsoft365 の SMTP サービス を利用した構成を説明するが、設定の考え方は他の SMTP サーバーでも同様である。
Linux サーバーからメール通知を送信できるようにする。
想定している用途は次の通り。
・Fail2Ban 通知
・AIDE 改ざん検知
・cron エラー通知
・Logwatch レポート通知
Linux サーバー(例)
※実際のサーバー名やドメインは、環境に合わせて読み替える。
| 項目 | 設定例 |
|---|---|
| 送信元アドレス(例) | notify@example.com |
| 送信先アドレス(例) | admin@example.com |
| SMTP サーバー(例) | smtp.office365.com |
| ポート | 587 |
| 暗号化 | STARTTLS |
Linux サーバーで実行された通知処理は、mail コマンドを通して msmtp に渡される。
msmtp は SMTP サーバーへ接続し、認証と暗号化を行ったうえでメールを送信する。
SMTP サーバーはそのメールを受信し、最終的に受信者へ配送する。
Linux サーバーでメール送信を行う方法はいくつか存在する。代表的なものとしては、Postfix、Sendmail、msmtp などがある。
Postfix や Sendmail は本格的なメールサーバーとしても利用できるため機能が豊富であり、組織のメール基盤として運用する場合には適したソフトウェアである。しかし、ログ通知や監視通知など「メールを送信するだけ」の用途では、設定や運用がやや大きくなることがある。
一方、msmtp は SMTP サーバーへメールを送信することに特化した軽量なツールである。メールサーバーとしての機能は持たない代わりに設定がシンプルで、外部の SMTP サーバーを利用したメール送信を簡単に構成できる。
そのため、Fail2Ban や AIDE、Logwatch などのサーバー通知用途では、軽量で扱いやすいメール送信ツールとして msmtp がよく利用されている。
SMTP メール送信設定は、Linux サーバーの監視通知を構成するうえでの基本となる設定である。
Fail2Ban や AIDE、Logwatch などの通知機能は、サーバーがメール送信できる状態になっていることを前提として動作する。
そのため監視環境を構築する場合は、まず SMTP メール送信の設定を行うことが多い。
Linux サーバーの監視やセキュリティ運用では、メール通知は非常に基本的な仕組みである。
msmtp を利用すると、
シンプルな構成で SMTP メール送信環境を構築できる。
この設定を先に用意しておくことで、
・Fail2Ban
・AIDE
・Logwatch
などの通知設定をスムーズに追加できるようになる。
実際の設定手順はこちら。