前書き
2015年1月27日に、GHOST脆弱性と呼ばれるGNU Cライブラリ(glibc)の脆弱性が一般に公開されました。 要約すると、この脆弱性により、リモートの攻撃者はglibcの G et * HOST *関数のバッファオーバーフローバグを悪用してシステムを完全に制御することができます(そのため)。 ShellshockやHeartbleedと同様に、この脆弱性は深刻であり、多くのサーバーに影響を及ぼします。
GHOSTの脆弱性は、 `+ glibc-2.18 `より前のバージョンのGNU Cライブラリを使用するLinuxシステムで悪用される可能性があります。 つまり、バージョン ` 2.2 `から ` 2.17 +`のglibcの*パッチ未適用*バージョンを使用するシステムが危険にさらされます。 次のものを含むがこれらに限定されない多くのLinuxディストリビューションは、GHOSTに対して潜在的に脆弱であり、パッチを適用する必要があります。
-
CentOS 6および7
-
Debian 7
-
Red Hat Enterprise Linux 6および7
-
Ubuntu 10.04および12.04
-
生産終了Linuxディストリビューション
影響を受けるすべてのLinuxサーバーを更新して再起動することを強くお勧めします。 システムに脆弱性があるかどうかをテストする方法と、脆弱性を修正するためにglibcを更新する方法を示します。
システムの脆弱性を確認する
サーバーがGHOSTに対して脆弱かどうかをテストする最も簡単な方法は、使用中のglibcのバージョンを確認することです。 Ubuntu、Debian、CentOS、RHELでこれを行う方法について説明します。
脆弱なglibcに静的にリンクされているバイナリは、安全にするために再コンパイルする必要があることに注意してください。このテストは、これらのケースをカバーせず、システムのGNU Cライブラリのみをカバーします。
UbuntuとDebian
次のような + ldd +
(glibcを使用)のバージョンを検索して、glibcのバージョンを確認します。
ldd --version
出力の最初の行には、UbuntuおよびDebianが使用するglibcのバリアントであるeglibcのバージョンが含まれます。 たとえば、次のようになります(この例ではバージョンが強調表示されています)。
ldd (Ubuntu EGLIBC ) 2.15
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
eglibcのバージョンがここにリストされているものと一致するか、それよりも新しい場合、GHOSTの脆弱性から安全です。
-
Ubuntu 12.04 LTS:
+ 2.15-0ubuntu10.10 +
-
Ubuntu 10.04 LTS:
+ 2.11.1-0ubuntu7.20 +
-
Debian 7 LTS:
+ 2.13-38 + deb7u7 +
eglibcのバージョンがここにリストされているバージョンよりも古い場合、システムはGHOSTに対して脆弱であり、更新する必要があります。
CentOSとRHEL
`+ rpm +`でバージョンglibcを確認します。
rpm -q glibc
出力は次のようになり、パッケージ名の後にバージョン情報が続きます。
glibc-.el6_5.4.x86_64
glibcのバージョンがここにリストされているものと一致するか、それより新しい場合、GHOSTの脆弱性から安全です。
-
CentOS 6:
+ glibc-.el6_6.5 +
-
CentOS 7:
+ glibc-.el7_0.5 +
-
RHEL 5:
+ glibc-.el5_11.1 +
-
RHEL 6:
+ glibc-.el6_6.5 +
-
RHEL 7:
+ glibc-.el7_0.5 +
glibcのバージョンがここにリストされているバージョンよりも古い場合、システムはGHOSTに対して脆弱であり、更新する必要があります。
脆弱性を修正
GHOSTの脆弱性を修正する最も簡単な方法は、デフォルトのパッケージマネージャーを使用してglibcのバージョンを更新することです。 以下のサブセクションでは、Ubuntu、Debian、CentOS、Red Hatなど、さまざまなLinuxディストリビューションでのglibcの更新について説明します。
APT-GET:Ubuntu / Debian
現在サポートされているUbuntuまたはDebianのバージョンについては、すべてのパッケージを `+ apt-get dist-upgrade +`で利用可能な最新バージョンに更新します。
sudo apt-get update && sudo apt-get dist-upgrade
次に、確認プロンプトに「+ y +」で応答します。
更新が完了したら、次のコマンドでサーバーを再起動します。
sudo reboot
GNU Cライブラリは、更新されたライブラリを使用するために再起動する必要がある多くのアプリケーションで使用されるため、再起動が必要です。
ここで、前のセクションの手順に従って(システムの脆弱性の確認)、システムが脆弱ではなくなったことを確認します。
YUM:CentOS / RHEL
glibcを `+ yum +`を介して利用可能な最新バージョンに更新します。
sudo yum update glibc
次に、確認プロンプトに「+ y +」で応答します。
更新が完了したら、次のコマンドでサーバーを再起動します。
sudo reboot
GNU Cライブラリは、更新されたライブラリを使用するために再起動する必要がある多くのアプリケーションで使用されるため、再起動が必要です。
ここで、前のセクションの手順に従って(システムの脆弱性の確認)、システムが脆弱ではなくなったことを確認します。
結論
影響を受けるすべてのLinuxサーバーでglibcを更新してください。 また、サーバーを最新のセキュリティアップデートで最新の状態に保つようにしてください!