DNSのセキュリティ
Linux LPIC編。(第7章 DNS)
DNSの章最後はセキュリティ関連。named.confでの対処方などちょっとしたことは
/etc/named.confの設定に組み込んで書いたので、ここでは鍵認証方式のDNNSEC
(DNS Security)とTSIG(Transaction Signature)について。
概要は割愛するとして、、、設定方法のおおまかな流れを。
DNSSECの設定
DNSSECではゾーン情報に公開鍵暗号方式の電子署名を行う。
1.dnssec-keygenコマンドでZSK鍵ペアを作成する。
拡張子が.key(公開鍵)、.private(秘密鍵)となるペアの鍵ファイルが作成される。
2.同様にdnssec-keygenコマンドでKSK鍵ペアを作成する。
3.ゾーンファイルに公開鍵を$INCLUDEでインクルードするように設定
(ゾーンファイルにZSK、KSKの公開鍵ファイル名を記述)
4.dnssec-signzoneコマンドでゾーンファイルに署名
署名が完了すると署名済みファイル(ゾーン名.signed)が作成される。
5.named.confを編集
zoneステートメントで、file “ゾーン名.signed”; のように上記の署名済みファイル
を記述し、optionsステートメントでdnssec-enable yes;と記述する。
メモ
ZSK(Zone Signing Key) ゾーン情報に電子署名を行う鍵
KSK(Key Signing Key) ZSKに電子署名を行う鍵
TSIGの設定
TSIGの署名には共有秘密鍵が使用される。
マスターDNSサーバでゾーンファイルに署名し、スレーブDNSサーバで検証する。
ゾーンデータそのものは暗号化されない。
1.dnssec-keygenコマンドで共有秘密鍵を作成する
教科書の例では-aオプションでHMAC-MD5アルゴリズムを指定している
2.作成された公開鍵ファイルに共有秘密鍵となる文字列が出来上がる。
これをnamed.confのkeyステートメントに記述する。
また、zoneステートメントのallow-transfer で、スレーブDNS
サーバのIPアドレスの他、鍵の名前を記述する。
keyステートメントの記述
key “name.jp” { ←鍵の名前
algorithm hmac-md5 ; ←アルゴリズムを記述
secret “xxxxxxxxxxxxxxxxxxxx==” ; ←共有秘密鍵を記述
} ;
細かいところは省いたけど、大まかなところはつかめた、かもしれない。
これで201試験の範囲が終わった。。
次回から202試験、「第9章 Webサーバとプロキシサーバ」(つまりApacheですね)
へと進むのだ!
出典
Linux教科書LPICレベル2(翔泳社)
Linux記事一覧はこちらをどうぞ
↓ ↓ ↓
Linux-index