Debianのセキュリティアップデートを自動化しつつ、その結果をメール送信するまでの手順メモ

環境

  • OS: Debian9 stretch
  • Cloud: Google Compute Engine [f1-micro]
  • SMTP: Sendgrid
  • MTA: Postfix

必要なものインストール

1
2
$ sudo apt update
$ sudo apt install -y unattended-upgrades postfix libsasl2-modules

設定: unattended-upgrades

dpkg-reconfigureを実行して、Yes連打します

1
$ sudo dpkg-reconfigure -plow unattended-upgrades

その後、以下の箇所を変更

1
2
3
4
5
6
7
$ sudo vim /etc/apt/apt.conf.d/50unattended-upgrades

// メール通知先
Unattended-Upgrade::Mail "xxxxx@example.com";

// アップグレード後に不要なファイルを削除(apt-get autoremove相当)
Unattended-Upgrade::Remove-Unused-Dependencies "true";

実行ログは、/var/log/unattended-upgrades/にあります

設定: Postfix

Sendgridの送信メールサーバを使用します。公式ブログはこちら

1
2
3
4
5
6
// 新規作成
$ sudo vim /etc/postfix/sasl_passwd
[smtp.sendgrid.net]:587 (Sendgridアカウント名):(Sendgridパスワード)

$ sudo chmod 600 /etc/postfix/sasl_passwd
$ sudo postmap /etc/postfix/sasl_passwd
1
2
3
4
5
6
7
8
9
10
$ sudo vim /etc/postfix/main.cf

// 追記
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_security_level = encrypt
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587
1
2
3
4
5
// 再起動
$ sudo systemctl restart postfix

// テスト送信
$ printf 'Subject: test\r\n\r\npassed' | sendmail xxxxx@example.com