古いRHEL (RHEL5) を放置してたらSSLの証明書期限切れでrhn_registerが使えなくなってた時の対応

https://www.jpcert.or.jp/at/2014/at140037.html
bash 脆弱性対応のためにyum update bash しようとしたら、一部のRHEL5のサーバでyum が使えなくなっていた(もちろんサブスクリプション登録はしている)

expiredという文字だけ見て、はじめはRHELの更新忘れてた?と勘違いしたけど
良くみたら証明書の期限切れだった。

# rhn_check 
ERROR: SSL errors detected
[('SSL routines', 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify failed')]

straceで見てると /usr/share/rhn/RHNS-CA-CERT が古くなってるのが原因だった。

対応

rhn-client-tools (及び依存するパッケージ)をrpmで入れてRHNS-CA-CERTを更新するか、他にyumが使えるRHELの環境(rhn_checkが問題なく通るもの)があれば、そこからコピーすれば良い。

yum cleanはしなくて良いかもしれないけど一応やっとく。

# mv /usr/share/rhn/RHNS-CA-CERT /usr/share/rhn/RHNS-CA-CERT.org
# cp /tmp/RHNS-CA-CERT /usr/share/rhn/RHNS-CA-CERT
# rhn-profile-sync
# yum clean all	
# yum install rhn-client-tools