user icon

CentOS7 での yum –security update 事情

夏風邪で減った体重がすっかりもどってしまいました。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
Facebooktwitterlinkedintumblrmail

Tags: ,

Trackback

Comment

  • 1.
  • 日下部賢二
  • 2020/09/05 08:36

お世話になります。1点わかれば教えて頂けないでしょうか。
上記URLを参考にセキュリティアップデートをCentOS7.1に
設定して問題なくできていました。
しかし、今月アップデートしようとしたら正常動作しなくなっているようです。

よくわからないのでCentOS3台あるうち、2台はセキュリティアップデートができるのですが、1台だけ正常動作しないようです。
設定自体は特に変えたことはなく、なにか切り分け方法や、設定方法や確認で試せることがあればご教授いただけないでしょうか?

  • 2.
  • murave
  • 2020/09/05 20:04

1台だけ動作しないということであればそのマシン固有ということかと思います。となるとローカルリポジトリが壊れた等の可能性があるかもしれません。

現状、運用していないのであまり情報はもっていないです。すみません。

名前
E-mail
URL
コメント

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)