見出し画像

LinuC LV2資格学習72日目

本:LinuC レベル2

公式資料

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  519 19:56 Kexample.com.+008+19186.key
-rw-------. 1 root root 1776  519 19:56 Kexample.com.+008+19186.private
-rw-r--r--. 1 root root  431  519 19:49 Kexample.com.+008+29283.key
-rw-------. 1 root root 1012  519 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について勉強します。

今日もありがとうございました。またした。

この記事が気に入ったらサポートをしてみませんか?