DNSサーバセキュリティ 201

/ LPIC / Comment[0]
DNSSEC
ゾーン情報に公開鍵暗号方式の電子署名を使うことで、ゾーン情報の改竄を防ぐことが出来る。

 仕組み
  ゾーン情報のハッシュ値DNSサーバの秘密鍵で暗号化したものが電子署名
    ↓
  DNS問い合わせがあると、ゾーン情報電子署名をクライアントに送る
    ↓
  クライアントは電子署名DNSサーバの公開鍵を使って復号化
    → ゾーン情報のハッシュ値電子署名を複合したハッシュ値が一致すればクリア


DNSSECではRFC2535方式とDS方式がある
 ・RFC2535方式
  上位ドメインの管理者が、下位ドメインの公開鍵を自身の秘密鍵で署名する。
 ・DS方式
  ゾーンにDSレコードを追加し、その中に下位ゾーンの公開鍵のハッシュ値と鍵IDを登録する。
   ・ゾーン情報に電子署名を行う鍵: ZSK (Zone Signing Key)
   ・ZSKに電子署名を行う鍵: KSK (Key Signing Key)


DS方式のDNSSECの設定

 ZSKの鍵ペア RSA,1024bitを作成
 # dnssec-keygen -a RSA -b 1024 -n ZONE phantom.net.
 次の鍵ファイルが作成される
  ・公開鍵: Kphantom.net.+001+23500.key
  ・秘密鍵: Kphantom.net.+001+23500.private

 KSKの鍵ペア RSA,4096bitを作成
 # dnssec-keygen -a RSA -b 4096 -n ZONE phantom.net.
 KSK鍵ペアは長めに指定する
  ・公開鍵: Kphantom.net.+001+35604.key
  ・秘密鍵: Kphantom.net.+001+35604.private

それぞれ鍵ペアを作成したら、公開鍵をインクルードさせるため、ゾーンファイルに次のように記述
$INCLUDE Kphantom.net.+001+23500.key
$INCLUDE Kphantom.net.+001+35604.key

ゾーンファイルに署名する
# dnssec-signzone -k Kphantom.net.+001+35604.key phantom.net
 署名が終わるとphantom.net.signedという署名済みゾーンファイルが作成される

署名後はAレコードが書き換わる
phantom.net. 82634  IN A  192.168.1.3
82634 IN RRSIG A 1 3 86400 20100601221705 20100527221705 31103 phantom.net. HC
iGohLYTypdc12HiiadWelmQDJNFbTQTOI9hgFz0VxmFzCrf+gA1gx pcUr4TmSm
w2W6rN96Z7sEvu/CFsx6w7+/lHBbERMskh35kihr5dt2V1p pFXYxqs8dWIBfip
VxW6MILn+oOzlnQ8XYY2jyL7IbIK3Apr/x5tHgXPF N+gPq9nyYATd8nqygaTgv
Opv55tISzu1galxHvVKDTGqRYNdECMxoAEZ rQgFeAQ9wZ7+K3IUBkrfGODXoVs
aPOn7qsYVFefTsdA1honnk6DZ/qt7drnI6jSm6+cA3vXZ/FL1sWnWh4yvHawmkC
plSnJdSQ89nYfYKktYndqz 7dBIwA=
:


DNSSECを有効にするには、optionステートメントに「dnssec-enable yes」を追記し、zoneステートメントに署名後の*.signedファイルを指定する。

/etc/named.conf
option {
:
dnssec-enable yes;
};

zone "phantom.net" {
type master;
file "phantom.net.signed";
};
:




TSIG
ゾーンファイルに共有秘密鍵の電子署名を行うことで、ゾーンファイルの改竄を防ぐことが出来る。

 共有秘密鍵を作成
 # dnssec-keygen -a HMAC-MD5 -b 512 -n HOST phantom.net
 次の鍵ファイルが作成される
  ・Kphantom.net.+157+3256.key
  ・Kphantom.net.+157+3256.private

Kphantom.net.+157+3256.key
phantom.net. IN KEY 512 3 157  drnI6jSm6+cA3vXZ/FL1sWnWh4yvHawmkCplSnJdSQ89nYfYKktYndqz 7dBIwA==

マスターDNSサーバの/etc/named.conf
key "phantom.net" {    //鍵の名前
algorithm hmac-md5;
secret "drnI6jSm6+cA3vXZ/FL1sWnWh4yvHawmkCplSnJdSQ89nYfYKktYndqz 7dBIwA=="; //鍵を記述する
};

zone "phantom.net" {
type master;
file "named.phantom.net";
allow-transfer {
key phantom.net; //鍵の名前
192.168.1.4;
};
};

スレーブDNSサーバの/etc/named.conf
key "phantom.net" {    //鍵の名前
algorithm hmac-md5;
secret "drnI6jSm6+cA3vXZ/FL1sWnWh4yvHawmkCplSnJdSQ89nYfYKktYndqz 7dBIwA=="; //鍵を記述する
};

servers 192.168.1.3 { //マスターDNSサーバのIPアドレス
keys "phantom.net"; //鍵の名前
};

zone "phantom.net" {
type master;
file "named.phantom.net";
allow-transfer {
key phantom.net; //鍵の名前
192.168.1.4;
};
};

関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可