機械翻訳について

第 2 章 Ksplice拡張クライアントの使用

この章では、Ksplice拡張クライアントをインストールおよび構成して、実行中のシステムでパッケージを更新できるようにする方法について説明します。

ノート

このドキュメントで説明する手順および例の一部は、複数のOracle Linuxリリースに適用されます。 この例では、サポートされている複数のバージョンのOracle Linuxとの互換性のためにyumコマンドを使用しています。 Oracle Linux 8を実行している場合は、必要に応じてdnfコマンドの使用を選択できます。

2.1 Ksplice拡張クライアントのインストール要件

Ksplice Enhancedクライアントは、オンライン・クライアントとオフライン・クライアントの両方として使用できます。 Ksplice拡張クライアントのオンライン・バージョンを使用するには、サーバーがOracle Uptrackサーバーに直接接続している必要があります。 Ksplice Enhancedクライアントをオフライン・クライアントとして使用するには、ローカルULNミラーへのアクセスが必要です。 第1.3項、「Oracle Kspliceの使用の準備」も参照してください。

拡張クライアントをインストールするシステムは、次の追加要件を満たしている必要があります:

  • ULNに登録されているか、ローカル・ミラー上のULNチャネルにアクセスできます。

  • インターネットまたはローカルULNミラーを実行しているホストにアクセスできます。 第1.3.4項、「Kspliceミラーとして機能するローカルULNミラーの構成」を参照してください。

  • サポートされているバージョンのUnbreakable Enterprise Kernel (UEK)またはRed Hat Compatible Kernel (RHCK)がインストールされたOracle Linux 6、Oracle Linux 7またはOracle Linux 8を実行している必要があります。

    実行しているカーネル・バージョンが要件を満たしていることを確認するには、uname -aコマンドを使用します。 第1.1.2項、「Kspliceでアクティブに維持されるカーネル」も参照してください。

  • 更新するカーネルと同じカーネルを実行していること。 Kspliceは現在実行中のカーネル「のみ」に更新を適用するため、現在実行中のカーネルが更新対象のカーネルであることが前提です。

2.2 ULNからのKsplice拡張クライアントのインストール

次のステップでは、ULNからKsplice拡張クライアントおよびKsplice-awareライブラリをインストールする方法について説明します:

ノート

次の手順は、Oracle Linuxリリースのみに適用されます。 Kspliceを使用してOracle VM 3.4.5以降のリリースのXenハイパーバイザにパッチを適用する場合は、実行しているOracle VMリリースのドキュメントで具体的な手順を参照してください。 たとえば、Oracle VM 3.4.5を実行している場合、リリース3.4のOracle VM管理ガイドOracle Kspliceを使用したOracle VM Serverの更新を参照してください。

  1. webブラウザを使用して、システムの登録に使用したULNユーザー名とパスワードを指定し、https://linux.oracle.comでULNにログインします。次の手順を実行します:

    1. 「システム」タブの登録されたマシンのリストで、システムの名前が付いているリンクをクリックします。

    2. 「システム詳細」ページで、「サブスクリプションの管理」をクリックします。

      Ksplice拡張クライアントおよびKsplice-awareユーザー・スペース・パッケージは、ULNの次のチャネルで使用できます:

      • Ksplice for Oracle Linux 6 (x86_64) (ol6_x86_64_ksplice)

      • Ksplice for Oracle Linux 7 (x86_64) (ol7_x86_64_ksplice)

      • Ksplice for Oracle Linux 7 (aarch64) (ol7_aarch64_ksplice)

      • Ksplice for Oracle Linux 8 (x86_64) (ol8_x86_64_ksplice)

      • Ksplice for Oracle Linux 8 (aarch64) (ol8_aarch64_ksplice)

      • Oracle Linux 6 (x86_64)のKsplice-awareユーザー・スペース・パッケージ(ol6_x86_64_userspace_ksplice)

      • Oracle Linux 7 (x86_64)のKsplice-awareユーザー・スペース・パッケージ(ol7_x86_64_userspace_ksplice)

      • Oracle Linux 7 (aarch64)のKsplice-awareユーザー・スペース・パッケージ(ol7_aarch64_userspace_ksplice)

      • Oracle Linux 8 (x86_64)のKsplice-awareユーザー・スペース・パッケージ(ol8_x86_64_userspace_ksplice)

      • Oracle Linux 8 (aarach64)のKsplice-awareユーザー・スペース・パッケージ(ol8_aarch64_userspace_ksplice)

    3. 「システム・サマリー」ページで、使用可能なチャネルのリストからKspliceユーザー・スペースとKspliceチャネルの両方を選択し、右矢印(>)をクリックしてサブスクライブ済チャネルのリストに移動します。

    4. Ksplice Enhanced clientパッケージのライセンス条件を受け入れます。

    5. サブスクリプションを保存し、ULNからログアウトします。

  2. インターネット・プロキシを使用している場合、シェルでプロキシのHTTPおよびHTTPS設定を次のように構成します。

    • shkshまたはbashシェルでは、次のようなコマンドを使用します。

      sudo http_proxy=http://proxy_URL:http_port
      sudo https_proxy=http://proxy_URL:https_port
      sudo export http_proxy https_proxy

      cshシェルでは、次のようなコマンドを使用します。

      sudo setenv http_proxy=http://proxy_URL:http_port
      sudo setenv https_proxy=http://proxy_URL:https_port
  3. rootユーザーとしてシステムにログインします。

  4. prelinkがインストールされている場合は、すべての事前リンク済バイナリおよび依存ライブラリを元の状態に戻してから、prelinkパッケージを削除します:

    sudo prelink -au
    sudo yum remove prelink
    ノート

    prelinkは、デフォルトではOracle Linux 6にインストールされて有効化されますが、Oracle Linux 7またはOracle Linux 8にはインストールされていません。

  5. kspliceパッケージをインストールします:

    • Kspliceオンライン・クライアントの場合は、次のコマンドを使用します:

      sudo yum install -y ksplice uptrack
    • Ksplice Offlineクライアントの場合は、次のコマンドを使用します:

      sudo yum install -y ksplice ksplice-offline uptrack-offline

    次の例に示すように、Ksplice Uptrackのアクセス・キーがULNから取得され、/etc/uptrack/uptrack.confファイルに追加されます:

    [Auth]
    accesskey = 0e1859ad8aea14b0b4306349142ce9160353297daee30240dab4d61f4ea4e59b

    次のパッケージがシステムにインストールされています:

    ksplice-core

    Kspliceパッチ適用をサポートする共有ユーザー・スペース・ライブラリ(glibcおよびopensslなど)が含まれます。

    ksplice-helper

    Kspliceによってユーザー・スペース実行可能ファイルにパッチ適用できるヘルパー・ライブラリが含まれます。

    ksplice-helper-devel

    Kspliceパッチ適用をサポートするユーザー・スペース・ライブラリを作成するための開発環境が含まれます。

    ksplice-tools

    ksplice実行可能ファイルおよびksplice(8)マニュアル・ページが含まれます。

  6. システムを更新して、ユーザー・スペース・ライブラリのKsplice対応バージョンをインストールします。

    sudo yum update

    ライブラリのみをインストールし、他のパッケージを更新しない場合は、必要に応じて次のチャネルに更新を制限します:

    • ol6_x86_64_userspace_ksplice

    • ol7_x86_64_userspace_ksplice

    • ol7_aarch64_userspace_ksplice

    • ol8_x86_64_userspace_ksplice

    • ol8_aarch64_userspace_ksplice

    たとえば、Oracle Linux 7 Kspliceユーザー対応x86_64チャネルのパッケージを次のように更新します:

    sudo yum --disablerepo=* --enablerepo=ol7_x86_64_userspace_ksplice update

    glibc*およびopenssl*構文を、パッケージ・マネージャのinstallコマンドとともに使用することもできます。 このクライアントを使用してカーネル更新を実行するには、標準Uptrackクライアントを使用できるのと同じ方法でインストールします。次に例を示します:

    sudo yum install uptrack-updates-`uname -r`
  7. 更新の自動インストールを有効にするには、/etc/uptrack/uptrack.confファイルのエントリをnoからyesに変更します:

    autoinstall = yes
  8. 変更を有効にするには、システムをリブートします。

    sudo systemctl reboot

    Oracle Linux 6の場合は、次のコマンドを使用します:

    sudo reboot

Kpslice Enhancedクライアントは、Ksplice Uptrackクライアントと同じ構成ファイル(/etc/uptrack/uptrack.conf)を使用します。 第3.3項、「Ksplice Uptrackクライアントの構成」を参照してください。

Ksplice拡張クライアントを管理するには、kspliceコマンドを使用します。 第2.3項、「kspliceコマンドを使用したKsplice拡張クライアントの管理」を参照してください。

2.3 kspliceコマンドを使用したKsplice拡張クライアントの管理

Ksplice Enhancedクライアントは、kspliceコマンドを使用して管理します。 このコマンドは、従来のKsplice Uptrackクライアントで使用されるuptrackコマンドのかわりに使用します。 kspliceコマンドにより、カーネル・パッチ適用に加えて、ユーザー・スペース・パッチ適用を実行できます。

クライアントがパッチを適用できる実行中のすべてのユーザー・スペース・プロセスを表示するには、次のようにksplice all list-targetsコマンドを使用します:

sudo ksplice all list-targets
User-space targets:

glibc-ISO8859-1-2.17.78.0.1.1.ksplice25.el7
  └─ gnome-shell (3783)

glibc-libutil-2.17.78.0.1.1.ksplice25.el7
  ├─ firewalld (680)
  ├─ tuned (695)
  ├─ libvirtd (1492)
  ├─ sshd (1497)
  ├─ httpd (1503)
  ├─ httpd (1706)
  ├─ httpd (1707)
  ├─ httpd (1708)
  ├─ httpd (1709)
  ├─ httpd (1710)
  ├─ colord (1942)
  ├─ gdm-session-wor (3418)
  ├─ gnome-session (3460)
  ├─ gvfsd (3534)
  ├─ gvfsd-fuse (3555)
  ├─ ssh-agent (3617)
  ├─ gnome-settings- (3658)
  ├─ gvfs-udisks2-vo (3727)
  ├─ gvfs-afc-volume (3754)
  ├─ gvfs-mtp-volume (3761)
  ├─ gvfs-gphoto2-vo (3765)
  ├─ gvfs-goa-volume (3769)
  ├─ goa-daemon (3772)
  ├─ gnome-shell (3783)
  ├─ ibus-daemon (3817)
  ├─ ibus-dconf (3821)
  ├─ ibus-x11 (3823)
  ├─ evolution-sourc (3853)
  ├─ nautilus (3882)
  ├─ ibus-engine-sim (3884)
  ├─ tracker-store (3943)
  ├─ abrt-applet (3980)
  ├─ tracker-miner-f (4040)
  ├─ gvfsd-trash (4062)
  ├─ sshd (29328)
  ├─ packagekitd (29465)
  └─ python (29679)
...
Kernel version: Linux/x86_64/3.10.0-229.el7.x86_64/#1 SMP Fri Mar 6 04:05:24 PST 2015
Xen version: xen/x86_64/#2 SMP Tue Aug 15 13:47:00 PDT 2017/Tue Aug  1 20:27:56 PDT 2017

クライアントがパッチを適用できるXenハイパーバイザ・ターゲットのみを表示するには、ksplice xen list-targetsコマンドを使用します:

sudo ksplice xen list-targets

このコマンドは、各Ksplice-awareライブラリに対して、更新の影響を受ける実行中のプロセスを報告します。 このコマンドは、ロードされたカーネルの有効なバージョンもレポートします。

システムに適用された更新を表示するには、ksplice all showコマンドを使用します。

sudo ksplice all show
httpd (1706)
httpd (1708)
httpd (1707)
httpd (1709)
httpd (1710)
rsyslogd (689)
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:

Installed updates:
[rfywob9d] Clear garbage data on the kernel stack when handling signals.
[6w5ho5e2] Provide an interface to freeze tasks.
[ftjj21d0] CVE-2015-1421: Privilege escalation in SCTP INIT collisions.
[kw5m66w8] CVE-2015-8159: Privilege escalation in Infiniband userspace access.
[2w6jgsn7] CVE-2015-3331: Privilege escalation in Intel AES RFC4106 decryption.
[p0gek4ir] CVE-2014-9420: Infinite loop in isofs when parsing continuation entries.
[sjqkwypd] CVE-2014-9529: Use-after-free when garbage collecting keys.
[tfn81scy] CVE-2015-1593: Stack layout randomization entropy reduction.
[jga5l35w] CVE-2015-1573: Use-after-free when flushing netfilter rules.
[gdzmj5lc] CVE-2014-9584: Out-of-bounds memory access in ISO filesystem when printing ER records.
[01560qvg] CVE-2015-2830: mis-handling of int80 fork from 64bits application.
[7ylonu77] CVE-2015-1805: Memory corruption in handling of userspace pipe I/O vector.
[7yehlpm8] Kernel hang on UDP flood with wrong checksums.
[xp1v1o7h] CVE-2014-9715: Remote code execution in the netfilter connection tracking subsystem.
[89yjgn50] CVE-2015-3636: Memory corruption when unhashing IPv4 ping sockets.
[g327jyvw] CVE-2015-2922: Denial-of-service of IPv6 networks when handling router advertisements.

Ksplice xen updates installed

  [87x4i9rd]: XSA-230: Information leak when using grant tables.
  [25aiflvq]: XSA-228: Race condition when allocating grant pages.
  [frevokn8]: XSA-227: User controlled memory corruption when mapping a grant reference.

このコマンドは、実行中のプロセスに適用された更新とカーネルへの更新を報告します。 前の例では、Kspliceは、リストされたすべてのプロセスにCVE-2014-7817およびCVE-2015-1781の更新を適用しました。

kspliceコマンドの範囲をユーザー領域の更新またはカーネルの更新に制限するには、コマンドでallのかわりにuserまたはkernelを指定します。

kspliceコマンドをXenハイパーバイザのみに制限するには、コマンドでallではなくxenを指定します。

PIDによって指定されたプロセスに適用された更新を表示するには、--pid=PIDオプションをksplice user showコマンドとともに使用します。

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=705

Kspliceがプロセスに適用した特定の更新を削除するには、undoサブコマンドを使用します。

sudo ksplice user undo --pid=705 h73qvumn
ノート

必要に応じて、指定した実行可能ファイルおよびライブラリにKspliceがパッチ適用しないようにできます。 第2.4項、「Ksplice拡張クライアントによるユーザー・スペースのプロセスおよびライブラリへのパッチ適用の防止」を参照してください。

Kspliceパッチは、/var/cache/uptrackディレクトリに格納されます。 リブート後、Kspliceは、リモート接続を確立する前に、ネットワークが構成される前に、ブート・プロセスの初期段階でこれらのパッチを自動的に再適用します。

使用可能なすべてのKsplice更新をリストするには、upgradeサブコマンドを使用します:

sudo ksplice -n kernel upgrade

使用可能なすべてのKsplice更新をインストールするには、次のようにupgradeサブコマンドを使用します:

sudo ksplice -y user upgrade

Xenハイパーバイザで使用可能なすべてのKsplice更新をリストするには、upgradeサブコマンドを使用します:

sudo ksplice -n xen upgrade

Kspliceが実行中のカーネルに更新を適用したあと、カーネルの有効なバージョンは、uname -aコマンドによって表示される元のブート・バージョンとは異なります。

カーネルの有効なバージョンを表示するには、ksplice kernel uname -rコマンドを使用します。

sudo ksplice kernel uname -r
3.8.13-55.1.1.el6uek.x86_64

ksplice kernel unameコマンドは、-a-rなど、よく使用されるunameフラグをサポートし、カーネルにパッチが適用されたことをアプリケーションが検出する方法も提供します。 有効なバージョンは、Ksplice Uptrackがカーネルに適用した最新のパッチのバージョン番号に基づきます。

次の例は、Kspliceの更新に関する情報を表示し、システム上のKspliceの更新を管理する方法を示しています。

Ksplice Uptrackによって実行中のカーネルに対して行われた更新を表示します:

sudo ksplice kernel show

Xenハイパーバイザに対してKsplice Uptrackによって行われた更新を表示します:

sudo ksplice xen show

インストール可能な更新を表示します:

sudo ksplice kernel show --available

カーネルからすべての更新を削除します:

sudo ksplice kernel remove --all

Xenハイパーバイザからすべての更新を削除します:

sudo ksplice xen remove --all

次回のシステム再起動時にKspliceが更新を再適用しないように、空のファイル/etc/uptrack/disableを作成します:

touch /etc/uptrack/disable

または、システムを次に再起動したときに、ブート・コマンドライラインでパラメータとしてnouptrackを指定することもできます。

詳細および例は、ksplice(8)のマニュアル・ページを参照してください。

2.4 Ksplice拡張クライアントによるユーザー・スペースのプロセスおよびライブラリへのパッチ適用の防止

Kspliceで特定の実行可能ファイルまたはライブラリのユーザー・スペース・プロセスにパッチを適用しない場合は、/etc/ksplice/blacklist.d構成ファイルで情報を指定できます。 次に、localblacklist.confファイルの例を示します。 この例では、Kspliceが/opt/app/binまたは/usr/local/binディレクトリ内の実行可能ファイルに対応するプロセスにパッチを適用したり、liblocal-*に一致する名前の共有ライブラリにパッチを適用することを防ぐ方法を示します。

次の例は、Python正規表現であるルールの形式を示しています:

[executables]
^/opt/apt/bin/.*$
^/usr/local/bin/.*$

[targets]
^liblocal-.*$

2.5 オフライン・モード用のKsplice拡張クライアントの構成

Ksplice拡張クライアントのオフライン・バージョンでは、イントラネット上のサーバーがOracle UptrackサーバーまたはULNに直接接続する必要がなくなります。

オフラインのKsplice拡張クライアントを構成する前に、まずKspliceミラーとして機能できるローカルULNミラーを設定する必要があります。 ローカルULNミラーを設定した後、このサーバーに最新のKspliceパッケージを定期的にダウンロードできます。 その後、yumの更新およびKspliceの更新を受信するように他のシステムを構成できます。 ローカルULNミラーの構成の詳細は、第1.3.4項、「Kspliceミラーとして機能するローカルULNミラーの構成」を参照してください。

次の手順では、システムをオフラインのKsplice拡張クライアントとして構成する方法について説明します:

  1. GPGキーをインポートします。

    sudo rpm --import /usr/share/rhn/RPM-GPG-KEY
  2. /etc/yum.repos.dディレクトリに構成されている既存のyumリポジトリを無効にします。

    enabled=0を設定して既存のリポジトリ・ファイルを編集し、すべてのエントリを無効にすることも、次のようにyum-config-managerを使用することもできます:

    sudo yum-config-manager --disable \*

    または、.repoサフィクスを使用しないように、このディレクトリ内の任意のファイルの名前を変更できます。 この変更により、次の例に示すように、yumコマンドでこれらのエントリが無視されます:

    cd /etc/yum.repos.d
    for i in *.repo; do mv $i $i.disabled; done
  3. /etc/yum.repos.dディレクトリに、Oracle Linux 7 yumクライアントの次のようなエントリを含むlocal-yum.repoファイルを作成します:

    [local_ol7_x86_64_ksplice]
    name=Ksplice for Oracle Linux $releasever - $basearch
    baseurl=http://local_uln_mirror/yum/OracleLinux/OL7/ksplice/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=1
    
    [local_ol7_x86_64_ksplice_userspace]
    name=Ksplice aware userspace packages for Oracle Linux $releasever - $basearch
    baseurl=http://local_uln_mirror/yum/OracleLinux/OL7/userspace/ksplice/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=1
    
    [local_ol7_latest]
    name=Oracle Linux $releasever - $basearch - latest
    baseurl=http://local_uln_mirror/yum/OracleLinux/OL7/latest/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=1
    
    [local_ol7_UEKR5_latest]
    name=Unbreakable Enterprise Kernel Release 5 for Oracle Linux $releasever - $basearch - latest
    baseurl=http://local_uln_mirror/yum/OracleLinux/OL7/UEKR5/latest/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=1
    
    [local_ol7_addons]
    name=Oracle Linux $releasever - $basearch - addons
    baseurl=http://local_uln_mirror/yum/OracleLinux/OL7/addons/$basearch/
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
    gpgcheck=1
    enabled=1
    • local_uln_mirrorを、ローカルULNミラーのIPアドレスまたは解決可能なホスト名で置き換えます。

    • ローカル・リポジトリをULNリポジトリと区別するには、必要に応じて各エントリのラベルの先頭にlocal_などの文字列を付加します。 ステップ7の説明に従って、uptrack構成も編集する必要があることに注意してください。

    • 前述の構成例では、local_ol7_x86_64_ksplicelocal_ol7_x86_64_ksplice_userspacelocal_ol7_latestlocal_ol7_UEKR5_latestおよびlocal_ol7_addonsチャネルを有効にします。

  4. 次のように構成をテストします。

    1. Yumメタデータ・キャッシュをクリアします。

      sudo yum clean metadata
    2. 構成の確認

      sudo yum repolist

      yumのコマンドがローカルULNミラーに接続できない場合は、ローカルULNミラー・サーバーのファイアウォール設定でHTTPポート(通常はポート80)への受信TCP接続が許可されていることを確認します。

  5. prelinkがインストールされている場合は、事前リンクされたバイナリおよび依存ライブラリをすべて元の状態に戻してから、次のようにprelinkパッケージを削除します:

    prelink -au
    sudo yum remove prelink

    prelinkパッケージは、Oracle Linux 6ではデフォルトでインストールおよび有効化されますが、Oracle Linux 7またはOracle Linux 8ではインストールおよび有効化されません。

  6. 拡張されたクライアント・パッケージのオフライン・バージョンをインストールします。

    sudo yum install ksplice-offline
  7. /etc/uptrack/uptrack.confファイルに構成ディレクティブを追加して、ローカルyumリポジトリ構成内のローカルのユーザー・スペース・チャネルのラベルを拡張クライアントに提供します。

    ノート

    local_接頭辞をチャネルのラベルに使用しなかった場合はこのステップをスキップすることができ、このラベルはULNで使用されるラベルと完全に一致します。 local_プレフィクスを使用したか、このチャネルに別のラベルを付けた場合は、次の行を追加しますが、local_ol7_x86_64_ksplice_userspaceのかわりに、Kspliceユーザー・スペース・チャネルに使用したものと同じラベルを指定します。次に例を示します:

    [User]
    yum_userspace_ksplice_repo_name = local_ol7_x86_64_ksplice_userspace
  8. オフライン更新パッケージをインストールするには、次のような関連パッケージをインストールします:

    sudo yum install ksplice-updates-glibc ksplice-updates-openssl

    Xenハイパーバイザ用のオフライン更新パッケージをインストールする場合は、コマンドでリリースを指定します。次に例を示します:

    sudo yum install ksplice-updates-xen-$RELEASE

    前述のコマンドの場合、$RELEASEは、次の例に示すように現在実行されているハイパーバイザのバージョンに対応する更新パッケージです:

    sudo yum install ksplice-updates-xen-4.4.4-153.el6

    これらのパッケージをインストールすると、拡張クライアントのオフライン・バージョンはオンライン・バージョンとまったく同じように動作します。

  9. システムを更新して、ユーザー・スペース・ライブラリのKsplice対応バージョンをインストールします。

    sudo yum update

    ライブラリのみをインストールし、他のパッケージはインストールしない場合は、Kspliceユーザー・スペース・チャネル(ol7_x86_64_userspace_kspliceチャネルなど)に更新を制限します:

    sudo yum --disablerepo=* --enablerepo=ol7_x86_64_userspace_ksplice update

    また、次のコマンドも使用できます。

    sudo yum update *glibc *openssl*

    標準のUptrackクライアントを使用できるのと同じ方法で、このクライアントを使用してカーネル更新を実行することもできます。

    sudo yum install uptrack-updates-`uname -r`
  10. 更新の自動インストールを有効にするには、次の例に示すように、/etc/uptrack/uptrack.confのエントリをnoからyesに変更します。

    autoinstall = yes
  11. システムを再起動すると、システムで新しいライブラリを使用できます。

    ノート

    Xenハイパーバイザの更新をインストールした場合、特別な構成は必要なく、更新を適用するためにシステムを再起動する必要はありません。

2.6 Ksplice拡張クライアント・ソフトウェアの削除

次の手順では、Ksplice Enhancedクライアント・ソフトウェアを削除する方法について説明します。 Kspliceのオンライン・インストールとオフライン・インストールの切替えの詳細は、第3.6項、「でのオンラインとオフラインのKsplice Uptrackインストール・モードの切替え」を参照してください。

Ksplice Enhanced clientソフトウェアを削除するには:

sudo yum -y remove ksplice

Ksplice拡張クライアント・ソフトウェアのオフライン・バージョンを削除するには、次のコマンドを使用します:

sudo yum -y remove ksplice-offline

glibc+opensslパッケージのKsplice対応バージョンをシステムから削除するには、次のステップを実行します。

  1. 現在サブスクライブされているすべてのKsplice-awareユーザー・スペース・チャネルをyumリポジトリからサブスクライブ解除します。

  2. Ksplice-awareチャネルを次のようにダウングレードします:

    sudo yum downgrade glibc{,-devel,-headers,-common} openssl{,-libs}
  3. その後、他のすべてのKspliceパッケージを削除できます。

2.7 Ksplice拡張クライアントでの既知のエクスプロイト検出機能の使用

ノート

既知のエクスプロイト検出のサポートは、Ksplice拡張クライアントでのみ使用でき、現在は64-bit Arm (aarch64)プラットフォームではサポートされていません。

Oracleには、Ksplice Enhancedクライアントがインストールされているサポート対象システム用の既知のエクスプロイト検出機能が用意されています。 この機能は、既知の攻撃ベクトルによる攻撃の試行を報告します。 Kspliceで共通のVulnerabilityとExposures (CVE)が検出されてパッチが適用されると、Oracleでは、誤った条件がトリガーされた場合に起動するコードにtripwiresを追加できるため、疑わしいアクティビティのシステムを監視できます。

ノート

すべてのセキュリティ問題にトリップ・ワイヤーが追加されているわけではなく、通常の操作でトリップ・ワイヤーがトリガーされる可能性もあるため、誤った状況の追加分析が必要になる場合があります。

2.7.1 Ksplice拡張クライアントでの既知のExploit検出の実行

Ksplice Enhancedクライアントがインストールされているサポート対象のOracle Linuxシステムで、Oracle Kspliceの既知のエクスプロイト検出を実行できます。 この機能は、オンラインとオフラインの両方のKsplice Enhancedクライアントで機能します。

デフォルト構成で既知の分解検出を実行するには、次のようにします:

  1. ksplice-known-exploit-detectionパッケージをインストールします:

    sudo yum install ksplice-known-exploit-detection
  2. /etc/uptrack/uptrack.confファイルに次の行を追加します:

    [Known-Exploit-Detection]
    enabled = yes
  3. kernel upgradeコマンドを実行して、この機能を有効にします:

    sudo ksplice kernel upgrade
  4. 現在のカーネルで機能が有効になっていることを確認します:

    cat /proc/sys/kernel/known_exploit_detection

    値が0であるかファイルが見つからない場合、カーネルはそれを利用可能にしていません。 値が1の場合、システムで既知の攻撃検出が有効になります。

ヘルパー・ファイル(/usr/sbin/log-known-exploit)は、カーネルによって直接呼び出されます。 構成を確認するためにヘルプを手動で呼び出すか、ドライ・ドテストを実行するには、次のコマンドを使用します:

/usr/sbin/log-known-exploit --help

このコマンドでは、次の追加オプションおよび引数を指定できます:

-h, --help

ヘルプメッセージを表示して終了します。

-c, --config /etc/example.conf

互換性のある構成ファイルを指定してください。 デフォルトは/etc/log-known-exploit.confです。

-f, --force

Rootアクセス権を確認せずにコマンドを実行してください。

-n, --dry-run

ヘルパー・ファイルによって実行される出力および予期されるアクションをシミュレートします。

-d, --dummy

ダミー・データを使用して、レポート・ロギングが正しく構成されていることを検証します。

2.7.2 Exploit試行に関する電子メール・アラートの設定

Oracle Kspliceのデフォルト構成として認識される検出機能では、標準のsyslog機能を使用してsyslogを利用しようとするだけがログに記録されます。 電子メール・アラートを設定するには、/etc/log-known-exploit.confファイルを次のように編集します:

[email]
enabled: 1
recipients: admin@example.com

同じ構成ファイルを使用して、どのtripwireレポートを記録または無視するかを指定できます:

[actions]
CVE-2019-12345: report
CVE-2019-12346: ignore

指定されていないtripwiresのロギング動作を定義するには、defaultの値をリストに追加します。 たとえば、tripwireレポートを指定しないかぎりログに記録しないようにするには、次のようにします:

[actions]
default: ignore

2.7.3 トリップ・ワイヤーを一時的に無効化および有効化

トラブルシューティングのために、特定のトリップ・ワイアを手動で無効化または有効化できます。

次の再起動まで特定のtripwireを無効にするには、次のように/proc/sys/kernel/known_exploit_detection_tripwiresファイルからCVE参照を削除します:

echo -n '-CVE-2019-12345' |sudo tee /proc/sys/kernel/known_exploit_detection_tripwires

特定のトリップを有効にするには、同じ構成ファイルへのCVE参照を再度追加します:

echo -n '+CVE-2019-12345' |sudo tee /proc/sys/kernel/known_exploit_detection_tripwires