開発者ドキュメント

ダーティなCOWLinuxの脆弱性からサーバーを保護する方法

序章

2016年10月19日、Linuxカーネルの特権昇格の脆弱性が公開されました。 根本的な問題は、カーネルがコピーオンライト(COW)を処理する方法の競合状態であったため、このバグはDirtyCOWと呼ばれます。 ダーティCOWは、少なくとも2007年以降、カーネルバージョン2.6.22で長い間存在していたため、サーバーの大部分が危険にさらされています。

このバグを悪用するということは、サーバー上の通常の非特権ユーザーが、読み取ることができるすべてのファイルへの書き込みアクセスを取得できるため、システムでの特権を増やすことができることを意味します。 詳細については、CVE-2016-5195の Canonical Red Hat 、およびDebianを参照してください。

幸い、ほとんどの主要なディストリビューションはすでに修正をリリースしています。 DigitalOceanのすべてのベースイメージは、パッチが適用されたカーネルバージョンを含むように更新されているため、作成する将来のドロップレットを更新する必要はありません。 ただし、古いサーバーを実行している場合は、このチュートリアルに従って、保護されていることを確認してください。

脆弱性を確認する

Ubuntu / Debian

サーバーが影響を受けているかどうかを確認するには、カーネルのバージョンを確認してください。

  1. uname -rv

次のような出力が表示されます。

Output
4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016

お使いのバージョンが以下より前の場合、影響を受けます。

CentOS

CentOSの一部のバージョンでは、RedHat for RHEL が提供するこのスクリプトを使用して、サーバーの脆弱性をテストできます。 試してみるには、まずスクリプトをダウンロードしてください。

  1. wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh

次に、それを実行します bash.

  1. bash rh-cve-2016-5195_1.sh

脆弱な場合は、次のような出力が表示されます。

Output
Your kernel is 3.10.0-327.36.1.el7.x86_64 which IS vulnerable. 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.

  1. sudo apt-get update && sudo apt-get dist-upgrade

CentOS 5、6、および7のすべてのパッケージを次のコマンドで更新できます。 sudo yum update、ただし、このバグに対処するためにカーネルを更新するだけの場合は、次のコマンドを実行します。

  1. sudo yum update kernel

外部カーネル管理を備えた古いドロップレットでは、DigitalOceanGrubLoaderカーネルも選択する必要があります。 これを行うには、コントロールパネルに移動し、更新するサーバーをクリックします。 次に、左側のメニューでカーネルをクリックし、GrubLoaderカーネルを選択します。 Dropletのカーネルの更新について詳しくは、このカーネル管理チュートリアルをご覧ください。 内部カーネル管理を備えた新しいドロップレットは、このステップをスキップできます。

最後に、すべてのディストリビューションで、変更を適用するためにサーバーを再起動する必要があります。

  1. sudo reboot

結論

この特権昇格のバグから保護されるように、Linuxサーバーを更新してください。

モバイルバージョンを終了