夏風邪で減った体重がすっかりもどってしまいました。muraveです。
自身への細菌の侵入は許しましたが、サーバーへの侵入は防がねばなりません(自然な導入)
そんなわけで Ansible では yum update 相当の
yum: name=* state=latest
を毎回やっていたのですが、時間がかかりすぎて辛くなってきました。そんなわけでセキュリティアップデートだけするのがいいかな、と調べ始めました。
yum-plugin-securityというパッケージを利用して
$ yum --security update
が出来ることを知りました(そもそもCentOS7ではyum-plugin-securityがyumに統合されている模様)。 やったぜ!
CentOSのリポジトリではセキュリティアップデート情報が提供されていなくて正常動作しないらしいことも知りました。 やってなかったぜ!
先人の知恵と努力を頼りましょう。
ということでまとめますと、securiy用のローカルリポジトリを作り、CEFSが提供しているSpacewalk用のエラッタからupdateinfo.xmlを作って設置、yum –security update します。
はじめましょう。CentOS7、rootでの作業とします。
必要なパッケージを導入します。
$ yum install createrepo bzip2
セキュリティアップデート用のローカルリポジトリを作ります。
$ mkdir /security
$ createrepo /security
$ cat << "EOF" >> /etc/yum.repos.d/CentOS-Base.repo
[security]
name=CentOS-$releasever - Security
baseurl=file:///security
EOF
/security に移動(以降ここで作業)、CEFSのエラッタからupdateinfo.xml作るスクリプト generate_updateinfo.py を設置します。
$ cd /security
$ curl https://raw.githubusercontent.com/vmfarms/generate_updateinfo/master/generate_updateinfo.py -O
CEFSのエラッタからupdateinfo.xmlを更新します。Ansibleスクリプト化のことを考慮し一旦 errata.latest.xml.bz2 を保存してからの処理としています。
$ curl http://cefs.steve-meier.de/errata.latest.xml.bz2 -O
$ python generate_updateinfo.py --destination=/security --release=7 <(bzip2 -dc errata.latest.xml.bz2)
$ modifyrepo /security/updateinfo-7/updateinfo.xml /security/repodata/
セキュリティアップデートが正常に動作するか、まずは check-update してみましょう。
$ yum --security check-update
読み込んだプラグイン:fastestmirror
base/7/x86_64 | 3.6 kB 00:00:00
extras/7/x86_64 | 3.4 kB 00:00:00
security | 3.3 kB 00:00:00
security/updateinfo | 48 kB 00:00:00
security/primary_db | 1.1 kB 00:00:00
updates/7/x86_64 | 3.4 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: centos.crazyfrogs.org
* extras: centos.quelquesmots.fr
* updates: mirrors.standaloneinstaller.com
<途中省略>
11 package(s) needed for security, out of 171 available
glibc.x86_64 2.17-196.el7 base
glibc-common.x86_64 2.17-196.el7 base
libtirpc.x86_64 0.2.4-0.10.el7 base
nss.x86_64 3.28.4-11.el7_4 updates
nss-sysinit.x86_64 3.28.4-11.el7_4 updates
nss-tools.x86_64 3.28.4-11.el7_4 updates
nss-util.x86_64 3.28.4-3.el7 base
policycoreutils.x86_64 2.5-17.1.el7 base
policycoreutils-python.x86_64 2.5-17.1.el7 base
python-perf.x86_64 3.10.0-693.2.2.el7 updates
rpcbind.x86_64 0.2.0-42.el7 base
やったぜ!
update で実際のセキュリティアップデートを実行します。
$ yum --security update
リポジトリ作成済なので、以降は以下のコマンドセットでセキュリティアップデートできますね。
$ cd /security
$ curl http://cefs.steve-meier.de/errata.latest.xml.bz2 -O
$ python generate_updateinfo.py --destination=/security --release=7 <(bzip2 -dc errata.latest.xml.bz2)
$ modifyrepo /security/updateinfo-7/updateinfo.xml /security/repodata/
$ yum --security update
お世話になります。1点わかれば教えて頂けないでしょうか。
上記URLを参考にセキュリティアップデートをCentOS7.1に
設定して問題なくできていました。
しかし、今月アップデートしようとしたら正常動作しなくなっているようです。
よくわからないのでCentOS3台あるうち、2台はセキュリティアップデートができるのですが、1台だけ正常動作しないようです。
設定自体は特に変えたことはなく、なにか切り分け方法や、設定方法や確認で試せることがあればご教授いただけないでしょうか?
1台だけ動作しないということであればそのマシン固有ということかと思います。となるとローカルリポジトリが壊れた等の可能性があるかもしれません。
現状、運用していないのであまり情報はもっていないです。すみません。