Ksplice拡張クライアントでのkspliceコマンドの使用
概要
Ksplice拡張クライアントを管理するには、kspliceコマンドを使用します。このコマンドは、従来のKsplice Uptrackクライアントで使用されるuptrackコマンドのかわりに使用します。kspliceコマンドでは、カーネルのパッチ適用に加えて、ユーザー・スペースのパッチ適用を実行できます。
使用方法
kspliceコマンドは、次のサブシステムでアクションを実行します:
kernel: アクションはカーネル・サブシステムでのみ実行されますuser: アクションはユーザー・スペース・サブシステムでのみ実行されますall: アクションはすべてのサブシステムで実行されます
サブコマンドの形式でのアクションは次のとおりです:
list-target: クライアントがパッチを適用できる使用可能なターゲットをリストしますshow: クライアントによってすでに適用されている更新を表示しますapply: 更新パスで指定されたシステムに更新を適用しますundo: 一意のKsplice識別子で指定されたシステムへの更新を元に戻しますupgrade: 使用可能なすべてのKsplice更新でシステムを更新しますremove: 指定したKsplice識別子によって更新を削除するか、--allオプションを使用してすべての更新を削除します。
コマンド構文は次のとおりです。
ksplice [OPTIONS] SUBSYSTEM SUBCOMMAND
詳細は、ksplice(8)マニュアル・ページを参照してください。
Kspliceサブコマンド
-
ターゲットのリスト
クライアントがパッチを適用できる実行中のすべてのユーザー・スペース・プロセスを表示するには、
ksplice all list-targetsコマンドを使用します。次に例を示します:sudo ksplice all list-targets出力は次のようになります:
User-space targets: glibc-libm-2.34.100.0.1.ksplice1.el9_4.2: - crond (46435) - ksplice (51778) glibc-libc-2.34.100.0.1.ksplice1.el9_4.2: - crond (46435) - ksplice (51778) - less (51781) openssl-libssl-3.0.7.27.0.3.ksplice1.el9: - ksplice (51778) openssl-libcrypto-3.0.7.27.0.3.ksplice1.el9: - ksplice (51778) Kernel version: Linux/x86_64/5.15.0-206.153.7.el9uek.x86_64/#2 SMP Thu May 9 15:59:05 PDT 2024このコマンドは、各Ksplice対応ライブラリについて、更新により影響を受ける実行中のプロセスをレポートします。このコマンドは、ロードされたカーネルの有効なバージョンもレポートします。
-
更新の表示
システムに適用された更新を表示するには、
ksplice all showコマンドを使用します。sudo ksplice all show出力は次のようになります:
Ksplice user-space updates: chronyd (705) httpd (1503) ├─ [h73qvumn]: CVE-2014-7817: Command execution in wordexp(). └─ [ml55ngz4]: CVE-2015-1781: Privilege escalation in gethostbyname_r(). Ksplice kernel updates: Installed updates: [nf9nfyzj] Enablement update for live patching. [fe2qyrtu] Denial-of-service when checking if an address is a jump label. [bvjiimlr] Enable livepatching of jump labels. [id9g0y8c] Known exploit detection. [aq4p03vt] Known exploit detection for CVE-2019-9213. [pjd4ekqc] Known exploit detection for CVE-2017-1000253. [syt1v7t7] Known exploit detection for CVE-2022-0847. [rpa4ixvy] Known exploit detection for CVE-2022-27666. [hisf1nu9] Known exploit detection for CVE-2016-5195. ... [gsf5wlo8] CVE-2024-36934: Information leak in QLogic BR-series Ethernet driver. [e12zrdy5] CVE-2024-36919: Denial-of-service in QLogic Fiber-Channel-over-Ethernet offload driver. [ednh9erf] CVE-2024-36904: Remote code execution in TCP/IP networking stack. [8vkhpraf] CVE-2024-27398: Denial-of-service in Bluetooth Classic (BR/EDR) features. Effective kernel version is 5.15.0-208.159.3.el9uekこのコマンドは、実行中のプロセスに適用された更新およびカーネルへの更新をレポートします。この出力例では、Kspliceは
CVE-2014-7817およびCVE-2015-1781の更新を一部のユーザー・スペース・プロセスに適用しました。kspliceコマンドのスコープをユーザー・スペース更新またはカーネル更新に制限するには、コマンドでallのかわりにuserまたはkernelを指定します。PIDによって指定されたプロセスに適用された更新を表示するには、
ksplice user showコマンドで--pid=$PIDオプションを使用します。sudo ksplice user show --pid=705次のような出力が表示されます。
chronyd (705) ├─ [h73qvumn]: CVE-2014-7817: Command execution in wordexp(). └─ [ml55ngz4]: CVE-2015-1781: Privilege escalation in gethostbyname_r(). -
更新の削除
プロセスからすべての更新を削除するには、
removeサブコマンドを使用します。次に例を示します:sudo ksplice user remove --all --pid=705Kspliceがプロセスに適用した特定の更新を削除するには、
undoサブコマンドを使用します。sudo ksplice user undo --pid=705 h73qvumnノート:
指定した実行可能ファイルおよびライブラリにKspliceがパッチ適用しないようにできます。Ksplice拡張クライアントがユーザー・スペースのプロセスおよびライブラリにパッチを適用しないようにするを参照してください。
Kspliceパッチは、
/var/cache/uptrackディレクトリに格納されます。Kspliceは再起動後、ネットワークが構成される前の起動プロセスの早期に、これらのパッチを自動的に再適用して、システムを堅牢化したうえでリモート接続を確立できるようにします。 -
使用可能な更新のリストとインストール
使用可能なすべてのKspliceの更新をリストするには、
upgradeサブコマンドを使用します:sudo ksplice -n kernel upgrade使用可能なすべてのKspliceの更新をインストールするには、次のように
upgradeサブコマンドを使用します:sudo ksplice -y user upgrade -
カーネル・バージョンの表示
Kspliceによって実行中のカーネルに更新が適用されると、カーネルは
uname -aコマンドによって表示される元のブート・バージョンとは異なる有効なバージョンになります。カーネルの有効なバージョンを表示するには、
ksplice kernel uname -rコマンドを使用します。sudo ksplice kernel uname -rksplice kernel unameコマンドは、-aや-rなどのよく使用されるunameフラグをサポートし、カーネルへのパッチ適用をアプリケーションが検出できるようにします。有効なバージョンは、Ksplice Uptrackがカーネルに適用した最新のパッチのバージョン番号に基づきます。
例3-1 使用例
次の例は、Ksplice更新に関する情報を表示したり、システム上のKsplice更新を管理する方法を示しています。
実行中のカーネルにKsplice Uptrackによって適用された更新を表示します。
sudo ksplice kernel show
インストール可能な更新を表示します。
sudo ksplice kernel show --available
カーネルからすべての更新を削除します。
sudo ksplice kernel remove --all
/etc/uptrack/disableを作成します。
touch /etc/uptrack/disable または、システムの次回再起動時に、ブート・コマンドラインにパラメータとしてnouptrackを指定できます。