2021年1月26日に発表されたsudoの脆弱性について対応した内容を以下に記述します。
■対象サーバー
CentOS6.5
/etc/sudoersの権限設定内容は以下の通り
[root@db01 ~]# grep -A 2 '## Allow root' /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
oracle ALL=(ALL) ALL
UPDATE前のsudoバージョン
[root@db01 ~]# rpm -qa sudo
sudo-1.8.6p3-20.el6_7.x86_64
デフォルトのyum updateだとこのバージョンが最新となるが...
[root@db01 ~]# yum update sudo
読み込んだプラグイン:fastestmirror, refresh-packagekit, security
更新処理の設定をしています
Loading mirror speeds from cached hostfile
base | 3.7 kB
extras | 3.4 kB
updates | 3.4 kB
更新と設定されたパッケージがありません。
このバージョンだと脆弱性が解消されていない
[oracle@db01 ~]$ sudoedit -s /
[sudo] password for oracle:
sudoedit: /: 通常ファイルではありません
以下サイトによると、sudoのバージョンについて、上記コマンドを実行した際「usage:~」と表示されれば脆弱性が解消されており、「sudoedit:~」と表示されたら脆弱性が解消されていないとの事。
参考URL)https://www.jpcert.or.jp/at/2021/at210005.html
脆弱性対象バージョンは以下の通り。
- sudo バージョン 1.8.2 から 1.8.31p2
- sudo バージョン 1.9.0 から 1.9.5p1
sudo公式サイトより脆弱性対応バージョンのsudoをダウンロードする
[root@db01 tmp]# wget https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo-1.9.5-3.el6.x86_64.rpm
--2021-03-05 03:16:10-- https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_5p2/sudo-1.9.5-3.el6.x86_64.rpm
github.com をDNSに問いあわせています... 13.114.40.48
github.com|13.114.40.48|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://github-releases.githubusercontent.com/57972154/9bfacb80-5fc6-11eb-9a63-3f50d94d454f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210304%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210304T181610Z&X-Amz-Expires=300&X-Amz-Signature=ef43331dbb2d2e02e8b96691d691a0f4139e1452c987001a3d4c3a6ed5343254&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=57972154&response-content-disposition=attachment%3B%20filename%3Dsudo-1.9.5-3.el6.x86_64.rpm&response-content-type=application%2Foctet-stream [続く]
--2021-03-05 03:16:10-- https://github-releases.githubusercontent.com/57972154/9bfacb80-5fc6-11eb-9a63-3f50d94d454f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210304%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210304T181610Z&X-Amz-Expires=300&X-Amz-Signature=ef43331dbb2d2e02e8b96691d691a0f4139e1452c987001a3d4c3a6ed5343254&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=57972154&response-content-disposition=attachment%3B%20filename%3Dsudo-1.9.5-3.el6.x86_64.rpm&response-content-type=application%2Foctet-stream
github-releases.githubusercontent.com をDNSに問いあわせています... 185.199.108.154, 185.199.110.154, 185.199.109.154, ...
github-releases.githubusercontent.com|185.199.108.154|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 2235944 (2.1M) [application/octet-stream]
`sudo-1.9.5-3.el6.x86_64.rpm.1' に保存中
100%[==========================================================================================>] 2,235,944 2.91M/s 時間 0.7s
2021-03-05 03:16:11 (2.91 MB/s) - `sudo-1.9.5-3.el6.x86_64.rpm.1' へ保存完了 [2235944/2235944]
拡張子がrpm.1でダウンロードされたのでrpmにリネームする
[root@db01 tmp]# mv sudo-1.9.5-3.el6.x86_64.rpm.1 sudo-1.9.5-3.el6.x86_64.rpm
インストールする
[root@db01 tmp]# yum install sudo-1.9.5-3.el6.x86_64.rpm
読み込んだプラグイン:fastestmirror, refresh-packagekit, security
インストール処理の設定をしています
sudo-1.9.5-3.el6.x86_64.rpm を調べています: sudo-1.9.5-3.el6.x86_64
次のリポジトリーへの更新として sudo-1.9.5-3.el6.x86_64.rpm を設定します: sudo-1.8.6p3-20.el6_7.x86_64
Loading mirror speeds from cached hostfile
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package sudo.x86_64 0:1.8.6p3-20.el6_7 will be 更新
---> Package sudo.x86_64 0:1.9.5-3.el6 will be an update
--> 依存性解決を終了しました。
依存性を解決しました
====================================================================================================================================
パッケージ アーキテクチャ バージョン リポジトリー 容量
====================================================================================================================================
更新:
sudo x86_64 1.9.5-3.el6 /sudo-1.9.5-3.el6.x86_64 7.9 M
トランザクションの要約
====================================================================================================================================
アップグレード 1 パッケージ
合計容量: 7.9 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
更新 : sudo-1.9.5-3.el6.x86_64 1/2
警告: /etc/sudoers は /etc/sudoers.rpmnew として作成されました。
整理中 : sudo-1.8.6p3-20.el6_7.x86_64 2/2
Verifying : sudo-1.9.5-3.el6.x86_64 1/2
Verifying : sudo-1.8.6p3-20.el6_7.x86_64 2/2
更新:
sudo.x86_64 0:1.9.5-3.el6
完了しました!
sudoが修正版のバージョンに更新されたことを確認
[root@db01 tmp]# rpm -qa sudo
sudo-1.9.5-3.el6.x86_64
確認コマンドを実行し、「usage:~」と表示されることを確認
[oracle@db01 ~]$ sudoedit -s /
usage: sudoedit [-AknS] [-r role] [-t type] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout]
[-u user] file ...
これでsudo脆弱性対応は完了しました。