1 #!/bin/bash |
1 #!/usr/bin/perl |
2 source ./dnstools.conf |
|
3 master_dir=$MASTER_DIR |
|
4 zsklive=$ZSKLIVE |
|
5 ksklive=$KSKLIVE |
|
6 |
2 |
7 printf "%-25s %1s/%1s %3s %7s\n" "Domain" "ZSK" "KSK" "Use" "Sig-End" |
3 use strict; |
8 for zone in $master_dir/* |
|
9 do |
|
10 |
4 |
11 domain=${zone##/*/} |
5 my $master_dir = "/etc/bind/master"; |
12 |
6 chomp (my @domains = `ls $master_dir`); |
13 test -f $zone/.index.zsk && anzahl_zsk=`wc -l < $zone/.index.zsk` || anzahl_zsk="0" |
|
14 test -f $zone/.index.ksk && anzahl_ksk=`wc -l < $zone/.index.ksk` || anzahl_ksk="0" |
|
15 |
|
16 test -f $zone/keycounter && key_counter=`< $zone/keycounter` || key_counter="0" |
|
17 |
|
18 if [ -f $zone/$domain.signed ] |
|
19 then |
|
20 endtime1=`cat $zone/$domain.signed | egrep 'DNSKEY' | egrep '[0-9]{14}' | head -n1 | cut -d" " -f5` |
|
21 endtime2="${endtime1:6:2}.${endtime1:4:2}.${endtime1:0:4}" |
|
22 |
|
23 else |
|
24 endtime2="0" |
|
25 fi |
|
26 |
|
27 printf "%-25s %1d/%1d %5d %12s\n" \ |
|
28 "$domain" "$anzahl_zsk" "$anzahl_ksk" "$key_counter" "$endtime2" |
|
29 |
7 |
30 |
8 |
31 done |
9 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end"; |
32 |
10 |
|
11 foreach (@domains) { |
|
12 my $domain = $_; |
|
13 my $info_zsk; |
|
14 my $info_ksk; |
|
15 my $info_kc; |
|
16 my $info_end; |
|
17 my @temp; |
33 |
18 |
|
19 #prueft wie viele zsks genutzt werden |
|
20 open(FILE, "$master_dir/$domain/.index.zsk"); |
|
21 @temp = <FILE>; |
|
22 close(FILE); |
|
23 $info_zsk = @temp; |
|
24 |
|
25 #prueft wie viele ksks genutzt werden |
|
26 open(FILE, "$master_dir/$domain/.index.ksk"); |
|
27 @temp = <FILE>; |
|
28 close(FILE); |
|
29 $info_ksk = @temp; |
|
30 |
|
31 #prueft wie oft die schluessel zum signieren genutzt wurden |
|
32 if (-e "$master_dir/$domain/keycounter") { |
|
33 open(FILE, "$master_dir/$domain/keycounter"); |
|
34 chomp ($info_kc = <FILE>); |
|
35 close(FILE); |
|
36 } else { |
|
37 $info_kc = "-"; |
|
38 } |
|
39 |
|
40 #prueft das ablaufdatum |
|
41 if (-e "$master_dir/$domain/$domain.signed") { |
|
42 open(FILE, "$master_dir/$domain/$domain.signed"); |
|
43 @temp = <FILE>; |
|
44 close (FILE); |
|
45 |
|
46 foreach (@temp) { |
|
47 if (m/RSIG.*SOA.*\s(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\d+\s\(/i) { |
|
48 $info_end = "$3.$2.$1 $4:$5"; |
|
49 } |
|
50 } |
|
51 |
|
52 } else { |
|
53 $info_end = "-"; |
|
54 } |
|
55 |
|
56 printf "%-25s %1s/%1s %5s %19s\n", $domain, $info_zsk, $info_ksk, $info_kc, $info_end; |
|
57 } |
|
58 |