322.1 BIND/DNS

2021-06-21

322.1 BIND/DNS

重要度 2
説明 BIND DNSサービスの使用方法と設定上のセキュリティ問題について経験と知識があること。
主要な知識範囲

  • BIND v9サービス
  • BIND サービスのぜい弱性
  • chroot 環境

重要なファイル、用語、ユーティリティ

  • TSIG
  • BIND ACLs
  • named-checkconf

BINDのセキュリティ対策

BINDは最も普及しているDNSソフトウェアであり、バージョン9でセキュリティも大幅に強化されたが、古いバージョンからの移行が遅れている
主なセキュリティ対策は以下の対策などが挙げられる

バージョン9以降の最新バージョンを利用する
バージョン8以前では脆弱性を抱えた設計となっているので、セキュリティも強化ている最新版(バージョン9)を利用する。

namedの実行をroot以外の制限ユーザで実行する
BINDのnamedプロセスが第三者に乗っ取られた場合に被害を最小限に抑えるため、必要最小限の権限を与えたユーザーでnamedの実行する。

chroot jailを利用する
chroot jailを利用し、namedプロセスにとって任意のディレクトリをルートディレクトリと見せるように設定する。
この設定でおこなうことでnamedプロセスは設定したディレクトリ以外にはアクセス出来ない

named.confにACL(アクセス制御リスト)を設定する
BINDの設定ファイルであるnamed.confにはACLを記述し、ホストアドレスやネットワークアドレス等の実行可能な操作を制限する。

BINDのバージョンを非表示する
DNSサーバーのBINDのバージョンを非表示にすることで脆弱性があるバージョンを利用していないか分からないようにする。
named.confに編集してバージョンを表示できないように設定できる

特定のアクセスを禁止する
特定のIPアドレスからの不正なアクセス・攻撃を受けた際は、named.conf を編集してそのIPアドレスからアクセスを禁止する

F/W, iptablesでパケットフィルターリングを利用する
Dos攻撃・DDos攻撃を受けるとサービス提供が困難になるので、F/W, iptablesでパケットフィルターリングを利用する

BINDの主な攻撃

DNSキャッシュポイズニング
DNSサービスを提供しているサーバ(DNSサーバ)に偽の情報を記憶させ、そのサービスを利用しているユーザー影響を与える攻撃です
攻撃が成功すると、DNSサーバは覚えた偽の情報を提供してしまうことになります。
このため、サービス名とIPアドレスの対応表が書き換えられて、ユーザーが意図しないサイトに誘導されます

中間者攻撃 (Man-in-the-middle attack)
Man-in-the-middle攻撃(別名:バケツリレー攻撃)と言われ、通信の間に割り込んで暗号化通信を盗聴したり、通信を改ざんしたりする攻撃手法

Smurf攻撃
Smurf攻撃とは、ICMPエコーリクエストの送信元に偽装し、相手のコンピュータに大量の偽のパケットを送りつける攻撃手法。
ターゲットのコンピュータやネットワークに過重な負荷をかけ、最悪の場合は使用不能になる。

named-checkconf

named-checkconfは、named.confの構成ファイルの構文検査ツール

書式
named-checkconf [オプション] ファイル名
[]は、省略可能

オプション

-t [ディレクトリ] 指定されたディレクトリーに現在のディレクトリーを変更している場合(chroot)に利用。
-v バージョンを表示


/etc/named.confの構文チェック

# named-checkconf /etc/named.conf
/etc/named.conf:111: missing ';' before '}' # ← エラーの場合の表示

chroot している場合は、-t オプションしディレクトリのパスを指定します

# named-checkconf -t /var/named/chroot /etc/named.conf

named-checkzone

named-checkzoneは、ゾーン情報の整合性の検査ツール

書式
named-checkzone [オプション] ゾーン名 ゾーンファイル名
[]は、省略可能

# named-checkzone example.com /var/named/chroot/var/named/example.zone
zone example.com/IN: loaded serial 2015100301
OK

TSIGとは

DNSサーバーのゾーン転送する機能があります。この機能を利用することでマスターのゾーン情報と同じ設定をスレーブサーバーにコピーできます。
ゾーン転送先を設定するにはIPアドレスを登録します、このIPアドレスを偽装した「なりすまし」の攻撃の対策としてTSIGを利用します
TSIGはサーバとクライアントで共通の秘密鍵を保有し、DNSメッセージ全体に署名を行うことでメッセージの完全性の保証やリクエスト認証を可能にします

特徴

  • マスターサーバーとスレーブサーバの両方で同じ鍵をもつ、共通鍵暗号化形式を利用してセキュアに通信をする
  • 通信するDNS関連のメッセージに署名を付与することで、「DNS情報の送信元情報」「DNS情報の改ざん有無確認(メッセージ認証)」ができる

補足
TSIGの共有鍵を作成するには、dnssec-keygenコマンドを使用します

KSKの作成例

# dnssec-keygen -f KSK -a RSASHA256 -b 4096 -n zone local.hoge.com
Generating key pair...
Klocal.usupi.org.+008+32917

ZSKの作成例

# dnssec-keygen -a RSASHA256 -b 1024 -e -n zone local.hoge.com
Generating key pair...
Klocal.usupi.org.+008+52877

スポンサーリンク

0
0

LPIC 30xLPIC303

Posted by admin