labunix's blog

labunixのラボUnix

DNSSEC対応状況の最新情報・チェックシートのCSV化

■「DNSSEC ジャパン 運用技術 WG」を参考にテスト環境を検査する。

 squeeze+bindでDNSSECに対応する 
 http://d.hatena.ne.jp/labunix/20120503

 参考:HSM を利用した DNSSEC の運用に関する考察
 http://dnssec.jp/?page_id=792

 参考:Delegation Record for .JP
 http://www.iana.org/domains/root/db/jp.html

 参考:DNS サーバ DNSSEC 導入 鍵管理チェックリスト
 http://dnssec.jp/wp-content/uploads/2011/04/20110316-dnssec-techwg-keymgmt-checklist.pdf

 参考:DNSSEC対応状況の最新情報(ICANN Research)
 http://stats.research.icann.org/dns/tld_report/
 
■フォーマットが変わらない前提で、なんとなくそれっぽければ良いと思っていたのですが、
 これを書いている間に、githubにアップしてしまいました。

$ w3m -dump http://stats.research.icann.org/dns/tld_report/ | \
  # TLDではじまる行か[a-z]ではじまる行を抽出
  grep "^TLD\|^[a-z]*\. " | \
  # スペース「 」が2つ以上続くなら、「","」に置き換え
  sed s/"   *"/"\"\,\""/g | \
  # 行頭、行末にダブルクォーテーションを挿入
  sed s/"^\|\$"/"\""/g    | \
  # 「? 」は「?","」に置き換え
  sed s/"\? "/"\?\",\""/g | \
  # 「TLD」行と「jp」行の抽出
  grep "TLD\|jp"
"TLD DNSSEC Report (2012-09-19)"
"TLD","Signed?","DS in Root?","ISC DLV?"
"jp.","YES","YES","NO"

$ w3m -dump https://raw.github.com/labunix/dnssec_scripts/master/dnsseccheck.sh
#!/bin/bash

if [ "x${HOME}" == "x" ] ;then
  exit 1
fi

FLAG=1
LOGDIR="$HOME/.dnssec"
DIFFSRC="$LOGDIR/diffsrc"
DIFFDST="$LOGDIR/diffdst"
MAILBODY="$LOGDIR/logbody"

test -d "$LOGDIR" || mkdir "$LOGDIR"
test -f "$DIFFSRC" || DIFFSRC="$DIFFDST"
test -f "$DIFFDST" || touch "$DIFFDST"
test -f "$MAILBODY" || touch "$MAILBODY"

w3m -dump http://stats.research.icann.org/dns/tld_report/ | \
  grep "^TLD\|^[a-z]*\. " | \
  sed s/"   *"/"\"\,\""/g | \
  sed s/"^\|\$"/"\""/g    | \
  sed s/"\? "/"\?\",\""/g > "$DIFFDST"

grep "TLD\|jp" $DIFFDST > "$MAILBODY"
echo -e "\n\n" >> "$MAILBODY"

DIFFSRC="$LOGDIR/diffsrc"
cp "$DIFFDST" "$DIFFSRC"
env LANG=C diff -s "$DIFFSRC" "$DIFFDST" | \
  grep "identical" > /dev/null 2>&1 || FLAG=0

if [ "$FLAG" == "0" ] ;then
  w3m -dump http://www.iana.org/domains/root/db/jp.html >> "$MAILBODY"
  cat "$MAILBODY" | mail -s "Check DNSSEC $0" root
fi

unset FLAG LOGDIR DIFFSRC DIFFDST MAILBODY
exit 0

■また、実際どこを見ればいいのか全く書いてないので、PDFだと困ると思ったので、
 こっちは半手動でCSV化。
 
$ w3m -dump https://raw.github.com/labunix/dnssec_scripts/master/dnssec_checklist.csv
※この出力は元の「DNS サーバ DNSSEC 導入 鍵管理チェックリスト」と比較、
 確認を行ってください。