0.はじめに
CentOS 6 を運用していて、セキュリティアップデートを手作業で行っていたんですが、大分面倒だな…。と思う様になり、自動でセキュリティアップデートして、通知メールが届く様にしたいなぁと思い、色々調べてやってみました。
ただ、ほとんどこちらのサイトの手順通りになりました。
本当に、ありがとうございました。
心から感謝です。
1.yum-plugin-security のインストールとリポジトリの設定
参考サイトの「インストール・設定」の手順を実施します。
2.リポジトリの更新バッチの作成と cron への登録
参考サイトの「セキュリティアップデートの仕方」の手順を基に、以下のスクリプトを作成します。
- /etc/cron.daily/0yum-security-update.cron
0yum-security-update.cron
# !/bin/bash
wget -q -N -P/security http://cefs.steve-meier.de/errata.latest.xml
python /security/generate_updateinfo.py /security/errata.latest.xml
/usr/bin/modifyrepo /security/updateinfo-6/updateinfo.xml /security/repodata
実行権限を付加するのを忘れずに。
3.yum-cron の結果を通知メールとして送信設定
以下のファイルを修正します。
- /etc/sysconfig/yum-cron
[root@www ~]# diff /etc/sysconfig/yum-cron.ORG /etc/sysconfig/yum-cron
5c5
< YUM_PARAMETER=
---
> YUM_PARAMETER="--security --nogpgcheck"
26c26
< # DEBUG_LEVEL=1
---
> DEBUG_LEVEL=1
38c38
< MAILTO=
---
> MAILTO="-S smtp=smtp://[SMTPホスト]:587 -S smtp-auth-user=[SMTPユーザーID] -S smtp-auth-password=[PASSWORD] -S from=[送信元メールアドレス] [送信先メールアドレス]"
99.ハマりポイント
- 最初、リポジトリの更新バッチを作成せずにいたら、全然自動アップデートが走らなくて「アレッ」と思い、よくよく読んでみると毎回実行しなくちゃいけないことを見逃していました…。
- で、その後うまく更新は実行されるものの、全くメールが送信されず…。/etc/cron.daily/0yum.cron を見てみると、/etc/sysconfig/yum-cron の DEBUG_LEVEL を 1 以上に設定しないと、送信メッセージが出力されないことがわかり、DEBUG_LEVEL を 1 に変更。
- 587 で外部ホスト経由でメールを送信する様にしたかったので、/etc/cron.daily/0yum.cron を直接修正し、送信され始めたものの…、yum-cron 自体の更新処理が走り、修正がなかったことに…。「そりゃそうだ。」と思いながら、/etc/sysconfig/yum-cron の MAILTO に長々とした文字列を設定することになりました。
- 本当は、毎日メールを送信する様にしたくて、/etc/sysconfig/yum-cron の DEBUG_LEVEL を 2 に設定していたんですが、あまりにメールの本文がウザかったので 1 に設定し直しました。
XX.まとめ
Amazon Linux でも同じ様に、yum-cron の設定をしていますが、ちょっと違いがあって戸惑いました。
忘れない様にメモ。