0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

古いDebian etchやlennyの「GHOST」(CVE-2015-0235)脆弱性対策

Last updated at Posted at 2015-01-30

新しいめのOSであれば

yum update glibc

とか

apt-get install libc6

して再起動したらOK。

でもDebianの4(ethc)や5(lenny)はサポートが切れてるので修正パッチはこない。
そんな古いDebianサーバでアップデートの必要があったので検証。

パッチの中を見る

squeeze-ltsでは修正のパッチがきており「2.11.3-4+deb6u4」で対策済みとの事なので
このパッケージのgethostbyname()関連のパッチを見た。

なんかそんなに複雑な修正ではなさそうなので、
etchやlennyのリポジトリで最新(って言い方もおかしいけど・・・)の
glibcのパッケージソースを取得し、上記パッチを追加してdebパッケージを再作成。
作成したパッケージをインストールすれば対策できるんじゃないかということでやってみました。

Debian etchでの対策

事前にetchのアーカイブリポジトリを/etc/apt/sources.listに追加しておきます。

deb http://ftp.riken.jp/Linux/debian/debian-archive/debian/ etch main
deb-src http://ftp.riken.jp/Linux/debian/debian-archive/debian/ etch main

etchでの最新のlibc6のソースを取得

cd /root
apt-get update
apt-get install libc6
apt-get install dpkg-dev
apt-get build-dep libc6
apt-get source libc6
apt-get install devscripts

とってきたdebパッケージにパッチ(cvs-gethostbyname.diff)を追加して
パッチ名をseriesに追加

cd /root/glibc-2.3.6.ds1/debian/patches/all
wget http://sources.debian.net/data/main/e/eglibc/2.11.3-4+deb6u4/debian/patches/any/cvs-gethostbyname.diff
echo "all/cvs-gethostbyname.diff -p 1" >> /root/glibc-2.3.6.ds1/debian/patches/series

パッケージのバージョンを設定

dch

パッケージ作成

cd /root/glibc-2.3.6.ds1/
dpkg-buildpackage -us -uc

作成したパッケージインストール

cd /root
dpkg -i libc6_2.3.6.ds1-13etch10_i386.deb

チェックプログラムを実行してみて確認(作成方法は割愛)

./ghost
not vulnerable

Debian lennyでの対策

lennyの場合もほとんど一緒です。
事前にlennyのアーカイブリポジトリを/etc/apt/sources.listに追加しておきます。

deb http://ftp.riken.jp/Linux/debian/debian-archive/debian/ lenny main
deb-src http://ftp.riken.jp/Linux/debian/debian-archive/debian/ lenny main

lennyでの最新のlibc6のソースを取得

cd /root
apt-get update
apt-get install libc6
apt-get install dpkg-dev
apt-get build-dep libc6
apt-get source libc6
apt-get install devscripts

とってきたdebパッケージにパッチ(cvs-gethostbyname.diff)を追加して
パッチ名をseriesに追加

cd /root/glibc-2.7/debian/patches/all
wget http://sources.debian.net/data/main/e/eglibc/2.11.3-4+deb6u4/debian/patches/any/cvs-gethostbyname.diff
echo "all/cvs-gethostbyname.diff -p 1" >> /root/glibc-2.7/debian/patches/series

パッケージのバージョンを設定

dch

パッケージ作成

cd /root/glibc-2.7/
dpkg-buildpackage -us -uc

作成したパッケージインストール

cd /root
dpkg -i libc6_2.7-18lenny8_i386.deb

チェックプログラムを実行してみて確認(作成方法は割愛)

./ghost
not vulnerable
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?