セキュリティを作る

セキュリティの実践環境づくりを通じて学んでいきます。

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. 注意点

  • Postfixで外部メールを送るにはSMTPリレーの追加設定が必要
  • まずはローカル宛てで動作確認を

UbuntuGmailを使ったSMTPリレー(Postfix設定)

LogwatchやTripwireで検出されたレポートを、Gmailへ自動送信したかったので、PostfixSMTPリレー設定を行いました。

1. 必要パッケージのインストール

sudo apt update
sudo apt install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules -y

2. Gmailでアプリパスワードを発行

  1. Googleアカウントのセキュリティ設定から2段階認証を有効に
  2. 「アプリパスワード」を開き、メール用のパスワードを発行
  3. 発行された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 やログの可視化にもチャレンジしてみたいですね!