前書き
2016年10月19日、Linuxカーネルの権限昇格の脆弱性が公開されました。 このバグは、Dirty COWと呼ばれています。これは、根本的な問題が、カーネルがコピーオンライト(COW)を処理する方法の競合状態であったためです。 ダーティCOWは、少なくとも2007年以降、カーネルバージョン2.6.22で長い間存在していたため、大多数のサーバーが危険にさらされています。
このバグを悪用するということは、サーバー上の通常の非特権ユーザーが読み取り可能なファイルへの書き込みアクセス権を取得できるため、システム上の特権を増やすことができることを意味します。 詳細については、http://people.canonical.com/%7Eubuntu-security/cve/2016/CVE-2016-5195.html [Canonical]、https://access.redhatからCVE-2016-5195を参照してください。 com / security / cve / CVE-2016-5195 [Red Hat]、およびhttps://security-tracker.debian.org/tracker/CVE-2016-5195[Debian]。
幸いなことに、ほとんどの主要なディストリビューションはすでに修正版をリリースしています。 DigitalOceanのすべてのベースイメージは、パッチが適用されたカーネルバージョンを含むように更新されているため、今後作成するDropletを更新する必要はありません。 ただし、古いサーバーを実行している場合は、このチュートリアルに従って、保護されていることを確認してください。
脆弱性を確認する
Ubuntu / Debian
サーバーが影響を受けているかどうかを確認するには、カーネルのバージョンを確認してください。
uname -rv
次のような出力が表示されます。
Output-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016
ご使用のバージョンが次よりも古い場合、影響を受けます。
-
* 4.8.0-26.28 * Ubuntu 16.10の場合
-
* 4.4.0-45.66 * Ubuntu 16.04 LTSの場合
-
* 3.13.0-100.147 * Ubuntu 14.04 LTSの場合
-
* 3.2.0-113.155 * Ubuntu 12.04 LTSの場合
-
* Debian 8の場合は* 3.16.36-1 + deb8u2 *
-
* 3.2.82-1 * Debian 7の場合
-
* 4.7.8-1 * Debian不安定版用
CentOS
CentOSの一部のバージョンでは、https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh [RedHat for RHELが提供するこのスクリプト]を使用して、サーバーの脆弱性をテストできます。 試すには、まずスクリプトをダウンロードします。
wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh
次に、 `+ bash +`で実行します。
bash rh-cve-2016-5195_1.sh
脆弱な場合、次のような出力が表示されます。
Output
Red Hat recommends that you update your kernel. Alternatively, you can apply partial
mitigation described at https://access.redhat.com/security/vulnerabilities/2706661 .
脆弱性を修正
幸いなことに、修正プログラムの適用は簡単です。システムを更新し、サーバーを再起動してください。
UbuntuおよびDebianでは、 `+ apt-get`を使用してパッケージをアップグレードします。
sudo apt-get update && sudo apt-get dist-upgrade
CentOS 5、6、および7上のすべてのパッケージを `+ sudo yum update +`で更新できますが、このバグに対処するためにカーネルを更新するだけの場合は、次を実行します。
sudo yum update kernel
外部カーネル管理を備えた古いDropletでは、DigitalOcean GrubLoaderカーネルも選択する必要があります。 これを行うには、https://cloud.digitalocean.com/droplets [コントロールパネル]に移動し、更新するサーバーをクリックします。 次に、左側のメニューで[カーネル]をクリックし、GrubLoaderカーネルを選択します。 Dropletのカーネルの更新の詳細については、https://www.digitalocean.com/community/tutorials/how-to-update-a-digitalocean-server-s-kernel [このカーネル管理チュートリアル]をご覧ください。 内部カーネル管理を備えた新しいドロップレットでは、この手順をスキップできます。
最後に、すべてのディストリビューションで、サーバーを再起動して変更を適用する必要があります。
sudo reboot
結論
この権限昇格のバグから保護されたままになるように、Linuxサーバーを更新してください。