ご存知のとおり、Linuxカーネルの更新は何度も受けます。カーネルの脆弱性を克服するには、カーネルのセキュリティパッチを定期的に更新することが不可欠です。パッチのインストールを遅らせると、システムに脅威を与える可能性があるため、できるだけ早く最新のセキュリティパッチをインストールする必要があります。
Linuxシステムは、スタンドアロンのWebサーバー、Webアプリケーション、およびWebホスティングサービスに使用されます。そのため、DDOS(サービス拒否)攻撃、(RCE)リモートコード実行などの手法を使用するハッカーの主要な標的になります。適切なセキュリティパッチを維持し、システムを最新の状態に保つことで、OSはセキュリティを強化できます。そのような脅威。ただし、ほとんどのLinuxディストリビューションでは、カーネルを更新するために再起動が必要であり、これによりダウンタイムが発生します。また、カーネルを更新するさまざまな方法についても説明します。
コマンドでカーネルを更新
コマンドラインを介したLinuxOSカーネルの更新は非常に簡単です。 kernel updateコマンドを実行して、マシンを再起動するだけです。
- 以下のコマンドを実行して、CentOS、RHEL、またはその他のRPMベースのディストリビューションでカーネルを更新します。
sudo yum update kernel sudo reboot
- 以下のコマンドを実行して、Ubuntuのカーネルを更新します。
sudo apt-get upgrade linux-image-generic
sudo reboot
- 以下のコマンドを使用して、Debianのカーネルを更新します。
sudo apt-get upgrade kernel sudo reboot
ご覧のとおり、上記のコマンドはカーネルの更新のために非常に簡単に実行できますが、避けられないことの1つは、サーバーの再起動です。はい、カーネルの更新を完了するには、サーバーを再起動する必要があります。これらのOSを実行して大規模なeコマースWebサイトをホストしている場合、またはWebアプリケーションを実行している場合は、このメンテナンスについてユーザーに通知する必要があります。また、再起動後にサーバーが起動するのを待つ必要があります。このようなダウンタイムを回避するために、システム管理者がカーネルの更新を回避することがあり、これは重大なセキュリティ上の懸念事項になります。
クイックリブート用にkexecで更新
Kexecは、非常に迅速な再起動手順を提供します。再起動時間を短縮するために、起動の読み込みとハードウェアの初期化プロセスをスキップします。
CentOS / RHEL:
- まず、以下のコマンドを実行してkexecツールをインストールします。
sudo yum install kexec-tools
- 新しいカーネルをインストールします。
sudo yum update kernel
または
sudo rpm -qa kernel
kernel-3.10.0-514.26.1.el7.x86_64
kernel-3.10.0-1127.el7.centos.plus.x86_64次に、選択したバージョンから起動します。
sudo kexec -l /boot/vmlinuz-3.10.0-1127.el7.centos.plus.x86_64 \
-initrd=/boot/initramfs-3.10.0-1127.el7.centos.plus.x86_64.img \
-reuse-cmdline
sudo sync; sudo umount -a; sudo kexec -e
以下のコマンドを実行して、必要なカーネルを選択します。
sudo kexec -e
Ubuntu / Debian:
- 以下のコマンドを実行して、kexecツールをインストールします。 <
sudo apt-get install kexec-tools
コマンドを押すと、kexec-toolsを使用して再起動を確認するための以下の画面が表示されます
- これを行う前に確認する必要があります。kexec-toolsはプロセスを強制終了したり、キャッシュを同期したり、ファイルシステムをアンマウントしたりするための再起動コマンドを実行せず、データの破損やデータの損失が発生する可能性があるためです。
再起動せずにカーネルを更新する
再起動せずにカーネルを更新することができます。これは、高可用性で実行されているシステムに役立ちます。 Linuxディストリビューションベンダーの多くは、再起動を実行せずにカーネルアップデートを提供しています。
Red Hat Kpatch
Red Hatは、Fedora、CentOS、およびUbuntuなどの他のDebianベースのシステム用に独自のカーネルパッチツールを提供しています。
- 以下のコマンドを実行して、RHEL7にKpatchをデプロイします。
sudo yum install kpatch
sudo yum install kpatch-patch-X.X.X.el7.x86_64.rpm
ただし、パッチの自動インストールではありません。利用可能な場合は、各カーネルパッチを確認する必要があります。
CloudLinux KernelCare
KernelCareは、RHEL、CentOS、Oracle、Debian、UbuntuLinuxなどのライブLinuxカーネルパッチサービスを提供します。RHEL6などの古いバージョンもサポートします。
- 以下のコマンドを実行してkernelcareをインストールします。
wget -qq -O -- https://kernelcare.com/installer | bash
sudo /usr/bin/kcarectl --register <your key>
これは「インストールして忘れる」ソリューションであるため、kernelCareは、再起動せずに新しいカーネルセキュリティパッチを自動的にダウンロードして適用します。
KernelCareは、Spectre(CVE-2017-5753、CVE-2017-5715)やMeltdown(CVE-2017-5754)などの脆弱性に対するより複雑なセキュリティパッチも提供します。また、再起動なしのロールバック、修正日パッチ、遅延パッチなどもサポートしています。CloudLinuxカーネルケアは無料ではありません。彼らは7日間の無料トライアルを提供し、その後は有料になります。
Oracle Ksplice
Kspliceは、再起動せずにカーネルを更新するための有料バージョンです。
- 以下のコマンドを実行してKspliceをインストールします。
sudo wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc sudo sh install-uptrack-oc -autoinstall
Kspliceを使用すると、インストールスクリプトを生涯1回だけ実行する必要があります。その後、Uptrackが処理を行い、ダウンタイムなしで最新のカーネルを自動的にデプロイします。
正規のLivepatchサービス
これは、ライブパッチカーネル用のCanonicalのテクノロジーです(何を推測しますか?)。 (Canonicalは、人気のあるUbuntu Linuxディストリビューションの背後にある会社です。)独自のパッチを作成することもできますが、困難で時間のかかる作業になる可能性があります。 (一部のベンダーは、Ubuntuアップグレードカーネルを有料で作成します。)
Canonicalは、UbuntuベースのLinuxディストリビューションで人気のあるソフトウェア会社です。以下のコマンドは、Ubuntu16.04以降およびRHEL7.x(ベータ版)で役立ちます。
ライブパッチを展開するには、以下のコマンドを実行する必要があります。
sudo snap install canonical-livepatch
sudo canonical-livepatch enable [TOKEN]
Canonical Livepatchは、最大3つのUbuntuディストリビューションに無料のサービスを提供します。トークンにサインアップしようとしています。 ここをクリック サインアップ用。