1 #!/usr/bin/perl |
1 #!/usr/bin/perl |
2 |
2 |
3 use strict; |
3 use strict; |
4 |
4 |
5 my $master_dir = "/etc/bind/master"; |
5 my $master_dir = "/etc/bind/master"; |
6 chomp (my @domains = `ls $master_dir`); |
|
7 |
|
8 |
6 |
9 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end"; |
7 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end"; |
|
8 foreach (<$master_dir/*>) { |
|
9 s#($master_dir/)(.*)#$2#; |
|
10 my $zone = $_; |
10 |
11 |
11 foreach (@domains) { |
|
12 my $domain = $_; |
|
13 my $info_zsk; |
12 my $info_zsk; |
14 my $info_ksk; |
13 my $info_ksk; |
15 my $info_kc; |
14 my $info_kc; |
16 my $info_end; |
15 my $info_end; |
17 my @temp; |
16 my @temp; |
18 |
17 |
19 #prueft wie viele zsks genutzt werden |
18 #prueft wie viele zsks genutzt werden |
20 open(FILE, "$master_dir/$domain/.index.zsk"); |
19 open(FILE, "$master_dir/$zone/.index.zsk"); |
21 @temp = <FILE>; |
20 @temp = <FILE>; |
22 close(FILE); |
21 close(FILE); |
23 $info_zsk = @temp; |
22 $info_zsk = @temp; |
24 |
23 |
25 #prueft wie viele ksks genutzt werden |
24 #prueft wie viele ksks genutzt werden |
26 open(FILE, "$master_dir/$domain/.index.ksk"); |
25 open(FILE, "$master_dir/$zone/.index.ksk"); |
27 @temp = <FILE>; |
26 @temp = <FILE>; |
28 close(FILE); |
27 close(FILE); |
29 $info_ksk = @temp; |
28 $info_ksk = @temp; |
30 |
29 |
31 #prueft wie oft die schluessel zum signieren genutzt wurden |
30 #prueft wie oft die schluessel zum signieren genutzt wurden |
32 if (-e "$master_dir/$domain/.keycounter") { |
31 if (-e "$master_dir/$zone/.keycounter") { |
33 open(FILE, "$master_dir/$domain/.keycounter"); |
32 open(FILE, "$master_dir/$zone/.keycounter"); |
34 chomp ($info_kc = <FILE>); |
33 chomp ($info_kc = <FILE>); |
35 close(FILE); |
34 close(FILE); |
36 } else { |
35 } else { |
37 $info_kc = "-"; |
36 $info_kc = "-"; |
38 } |
37 } |
39 |
38 |
40 #prueft das ablaufdatum |
39 #prueft das ablaufdatum |
41 if (-e "$master_dir/$domain/$domain.signed") { |
40 if (-e "$master_dir/$zone/$zone.signed") { |
42 open(FILE, "$master_dir/$domain/$domain.signed"); |
41 open(FILE, "$master_dir/$zone/$zone.signed"); |
43 @temp = <FILE>; |
42 @temp = <FILE>; |
44 close (FILE); |
43 close (FILE); |
45 |
44 |
46 foreach (@temp) { |
45 foreach (@temp) { |
47 if (m/RSIG.*SOA.*\s(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\d+\s\(/i) { |
46 if (m/RSIG.*SOA.*\s(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)\d+\s\(/i) { |