ブログ検索

メタ情報
RSS

DNSキャッシュポイズニング対策によるアップデート

なにせBINDはRPMでしか入れたことがなかったのでメモです。攻撃ツールが出回ってるとあっては暢気なことも言っていられません。私の場合はウェブをいじっててサーバを触るようになったので、バリバリのウィザードではないのが悲しいところ。したがって、間違いや勘違いもあると思います。

■導入ソフト BIND 9.4.2-P1

既存のBINDのRPMを消して新たにマニュアルで導入
OSはRedHat系

■設定ファイルバックアップ
/var/named以下
/etc/named.conf
/etc/init.d/named (起動スクリプトをお手軽に流用するため)

■コンパイルとインストール
ソースコードダウンロード
展開
./configure –prefix=/usr/local/bind9 –disable-ipv6
(prefixは趣味)
make
make install

コンパイルはすんなり通った。

■設定ファイル
ついでにchroot化も行うべく(なってなかった!)ので基本的にこちらを参照
 @IT Linux Square – 第9回 BIND 9のセキュリティ対策
/var/namedをjailとして設定(ほぼ記事そのまま)
この過程でnamed.confやゾーン設定などをコピーします。

■起動テスト
既存のnamedが動作してる場合はまず止める。
テスト(うちの場合のオプション)
/usr/local/bind9/sbin/named -u named -t /var/named -c /etc/named.conf

■RPM削除
対象パッケージ
・bind
・bind-utils
・bind-libs

■■■移行にともなう問題■■■

ギリギリまでDNSを止めたくなかったので、既存RPMと干渉しないように導入を進め、起動テストをクリア後にRPMを削除した。すると、あるのが当然と思っていた設定やファイルも消えてしまうもので復旧。同じRedHat系でもディストリビューションごとに微妙に違いがある。

ちなみに RedHat9、FedoraCore2、EL3 でやりました。

■named実行ユーザとグループを復旧
/etc/passwd に named:x:25:25:Named:/var/named:/sbin/nologin
/etc/group に named:x:25:

■起動スクリプト
バックアップしておいた named 起動スクリプト
/etc/init.d/named にコピーし、パスやオプション等を書き換える
パスの関係で通りにくそうだった設定ファイル文法チェック部分(EL3版にはあった)はとりあえずコメントアウト。あとで対応。

■起動スクリプトが参照しているシステムファイルを復旧
/etc/sysconfig/named を作成
うちの場合の内容は「ROOTDIR=”/var/named”」の1行のみ

■サービスの登録
/sbin/chkconfig –add named #登録(FedoraCore2は残ってた?)
/sbin/chkconfig named on
/sbin/chkconfig –list named #登録状況確認

■パスを通す
dig を使いたかったので /usr/local/bind9/bin に通した。

以上です。

1件のコメント