LinuC LV2資格学習72日目
DNSSECの設定
検証環境のname.confファイルのzoneステートメントは以下になります。
zone "example.com" {
type master;
file "example.com.zon";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "1.168.192.in-addr.arpa";
};
ゾーンファイルの設定は、70日目に作成したものを使います。
正引きファイル
$ORING example.com
$TTL 86400
@ IN SOA ns root (
2021051601
10800
600
86400
86400)
IN NS ns
IN NS ns2
IN MX 10 mail
IN MX 20 mail2
ns IN A 192.168.114.63
ns2 IN A 192.168.114.64
mail IN A 192.168.114.74
mail2 IN A 192.168.114.75
client1 IN A 192.168.114.175
まずはZKS鍵ぺを作成します。
この作業は、ゾーンファイルのあるディレクトリで行います。
example.comドメイン用のRSASHA256アルゴリズムの鍵長1024ビットのZKS鍵ペアを作成します。この時-rオプションで乱数生成するデバイス/dev/randomを指定します。
dnssec-keygen -r /dev/random -a RSASHA256 -b 1024 -n zone example.com
Generating key pair.....++++++ ...++++++
Kexample.com.+008+29283
「Kexample.com.+008+29283」は鍵の名前で拡張子がkeyのファイルが公開鍵、privateが秘密鍵になります。
ls -l
合計 28
-rw-r--r--. 1 root root 431 5月 19 19:49 Kexample.com.+008+29283.key
-rw-------. 1 root root 1012 5月 19 19:49 Kexample.com.+008+29283.private
drwxrwx---. 2 named named 6 4月 29 23:05 data
drwxrwx---. 2 named named 6 4月 29 23:05 dynamic
-rw-r--r--. 1 root root 337 5月 19 19:43 example.com.zone
-rw-r-----. 1 root named 2253 4月 5 2018 named.ca
-rw-r-----. 1 root named 152 12月 15 2009 named.empty
-rw-r-----. 1 root named 152 6月 21 2007 named.localhost
-rw-r-----. 1 root named 168 12月 15 2009 named.loopback
drwxrwx---. 2 named named 6 4月 29 23:05 slaves
5桁の数字は鍵のIDです。
次にKSK鍵ペアを作成します。鍵長は2048ビット乱数生成は/dev/urandomを使います。
dnssec-keygen -r /dev/urandom -f KSK -a RSASHA256 -b 2048 -n zone example.com
G
enerating key pair............+++ ...........+++
Kexample.com.+008+19186
ZSK鍵同様に秘密鍵と公開鍵が作成されました。
ls -l
合計 36
-rw-r--r--. 1 root root 605 5月 19 19:56 Kexample.com.+008+19186.key
-rw-------. 1 root root 1776 5月 19 19:56 Kexample.com.+008+19186.private
-rw-r--r--. 1 root root 431 5月 19 19:49 Kexample.com.+008+29283.key
-rw-------. 1 root root 1012 5月 19 19:49 Kexample.com.+008+29283.private
drwxrwx---. 2 named named 6 4月 29 23:05 data
drwxrwx---. 2 named named 6 4月 29 23:05 dynamic
-rw-r--r--. 1 root root 337 5月 19 19:43 example.com.zone
-rw-r-----. 1 root named 2253 4月 5 2018 named.ca
-rw-r-----. 1 root named 152 12月 15 2009 named.empty
-rw-r-----. 1 root named 152 6月 21 2007 named.localhost
-rw-r-----. 1 root named 168 12月 15 2009 named.loopback
drwxrwx---. 2 named named 6 4月 29 23:05 slaves
作成したZSK鍵ペアとKSK鍵ペアは、分かりやすいディレクトリに格納しておきます。
mkdir -pv Key
mv -iv *.{key,private} Key
ls -l Key/
# 移動結果
合計 16
-rw-r--r--. 1 root root 605 5月 19 19:56 Kexample.com.+008+19186.key
-rw-------. 1 root root 1776 5月 19 19:56 Kexample.com.+008+19186.private
-rw-r--r--. 1 root root 431 5月 19 19:49 Kexample.com.+008+29283.key
-rw-------. 1 root root 1012 5月 19 19:49 Kexample.com.+008+29283.private
それでは作成した鍵ファイルをdnssec-sigenzoneコマンドでゾーンファイルに署名します。
-Sオプションは、鍵ファイルの自動検索
-Kオプションは、ディレクトリ
-oオプションは、ゾーンの起点を指定
よって今回の場合は、
dnssec-signzone -S -K Key/ -o example.com example.com.zone
# 実行結果
Fetching KSK 19186/RSASHA256 from key repository.
Fetching ZSK 29283/RSASHA256 from key repository.
Verifying the zone using the following algorithms: RSASHA256.
Zone fully signed:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 0 stand-by, 0 revoked
example.com.zone.signed
署名されたゾーンファイルを確認してみます。
; File written on Wed May 19 20:10:04 2021
; dnssec_signzone version 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.5
example.com. 86400 IN SOA ns.example.com. root.example.com. (
2021051601 ; serial
10800 ; refresh (3 hours)
600 ; retry (10 minutes)
86400 ; expire (1 day)
86400 ; minimum (1 day)
)
86400 RRSIG SOA 8 2 86400 (
20210618101004 20210519101004 29283 example.com.
GzVkArgdf0rvwNVzTe6/+1whR+rd1ttJjvaI
blsmvz+19ynZQi9G9RcsEGwpQifK7vKB+7wO
e4YA6ttjYX1SDeHYiHQZZIyN6LSiaqj34JUi
MRJauX43nAxpciBqpINCtMwiJHh/pFqplQv8
Xf9wCCMNAWmCPDCTvZ9SxVnAfqc= )
86400 NS ns.example.com.
以下省略
レコードごとに署名が記載されます(凄まじい量になりますね)。
このように、ゾーンごとにゾーンファイルを署名します。署名後は、署名されたゾーンファイルを/etc/named.confで指定するように変更を加えます。
そのご上位ゾーンの管理する組織へDSレコード登録申請手続きを行います。
今日の学習内容は、以上です。
ちなみに検証用のゾーンファイルのサイズは、署名後に三十倍近くに膨れ上がりました;
明日はもう1つのセキュリティ設定TSIGについて勉強します。
今日もありがとうございました。またした。
この記事が気に入ったらサポートをしてみませんか?