UbuntuにLogwatchを導入してログ監視メールを受け取ろう
UbuntuにLogwatchを導入してログ監視メールを受け取ろう
Tripwireに続いて、Ubuntu環境にログ監視ツール「Logwatch」を導入しました。OSログの要約を毎日メールで受け取れるので、異常の早期発見に役立ちます。
1. Logwatchのインストール
sudo apt update
sudo apt install logwatch -y
2. Postfix(メール送信)の準備
Postfixが未導入なら、以下でインストールして「Local only」を選択します。
sudo apt install postfix -y
3. Logwatchの手動実行(動作確認)
sudo logwatch --detail high --mailto yourname@example.com --range today --service all --format text
4. 自動実行と設定ファイルの編集
cron.dailyにより毎日実行されるため、設定ファイルで送信先やログの詳細度を指定します。
sudo mkdir -p /etc/logwatch/conf
sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/
sudo nano /etc/logwatch/conf/logwatch.conf
編集例:
MailTo = yourname@example.com
Detail = High
Range = Yesterday
5. 注意点
UbuntuでGmailを使ったSMTPリレー(Postfix設定)
LogwatchやTripwireで検出されたレポートを、Gmailへ自動送信したかったので、PostfixのSMTPリレー設定を行いました。
1. 必要パッケージのインストール
sudo apt update
sudo apt install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules -y
2. Gmailでアプリパスワードを発行
- Googleアカウントのセキュリティ設定から2段階認証を有効に
- 「アプリパスワード」を開き、メール用のパスワードを発行
- 発行された16桁のコードを控える(後で使う)
3. 認証情報の保存
sudo nano /etc/postfix/sasl_passwd
内容:
[smtp.gmail.com]:587 yourname@gmail.com:アプリパスワード
sudo postmap /etc/postfix/sasl_passwd
sudo chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
4. Postfixの設定ファイル編集
sudo nano /etc/postfix/main.cf
末尾に追記:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
5. 再起動とテスト
sudo systemctl restart postfix
echo "Hello from Ubuntu" | mail -s "Test mail" yourname@gmail.com
注意
- アプリパスワードを忘れると再発行が必要
- エラー時は /var/log/mail.log を確認
次は fail2ban やログの可視化にもチャレンジしてみたいですね!