publish, store and collect ferm rules for dns primary access
[mirror/dsa-puppet.git] / modules / named / manifests / primary.pp
1 class named::primary inherits named::authoritative {
2   include dnsextras::entries
3
4   ferm::rule { '01-dsa-bind-4':
5     domain      => '(ip ip6)',
6     description => 'Allow nameserver access',
7     rule        => '&TCP_UDP_SERVICE_RANGE(53, ( $HOST_DNS_GEO $HOST_NAGIOS $HOST_RCODE0 $HOST_EASYDNS $HOST_NETNOD ) )',
8   }
9   Ferm::Rule::Simple <<| tag == 'named::primary::ferm' |>>
10
11   concat::fragment { 'dsa-named-conf-puppet-misc---local-shared-keys':
12     target  => '/etc/bind/named.conf.puppet-misc',
13     order   => '020',
14     content => @(EOF),
15       include "/etc/bind/named.conf.shared-keys";
16       | EOF
17   }
18   concat::fragment { 'dsa-named-conf-puppet-misc---named.conf.external-secondaries-ACLs':
19     target  => '/etc/bind/named.conf.puppet-misc',
20     order   => '025',
21     content => template('named/named.conf.external-secondaries-ACLs.erb'),
22   }
23
24   concat::fragment { 'dsa-named-conf-puppet-misc---openpgpkey-zone':
25     target  => '/etc/bind/named.conf.puppet-misc',
26     order   => '020',
27     content => @("EOF"/$)
28       // MAINTAIN-KEY: _openpgpkey.debian.org
29
30       zone "_openpgpkey.debian.org" {
31         type slave;
32         file "db._openpgpkey.debian.org";
33         allow-query { any; };
34         masters {
35           ${ join(getfromhash($deprecated::allnodeinfo, 'kaufmann.debian.org', 'ipHostNumber'), ";") } ;
36         };
37         allow-transfer {
38           127.0.0.1;
39           rcode0-ACL;
40           dnsnode-ACL;
41           dnsnodeapi-ACL;
42         };
43         also-notify {
44           rcode0-masters;
45           dnsnode-masters;
46           dnsnodeapi-masters;
47         };
48
49         key-directory "/srv/dns.debian.org/var/keys/_openpgpkey.debian.org";
50         sig-validity-interval 40 25;
51         auto-dnssec maintain;
52         inline-signing yes;
53       };
54       | EOF
55   }
56
57   concat::fragment { 'puppet-crontab--nsec3':
58     target  => '/etc/cron.d/puppet-crontab',
59     content => @(EOF)
60       13 19 4 * * root chronic /usr/sbin/rndc signing -nsec3param 1 0 16 $(head -c 20 /dev/urandom | sha512sum | cut -b 1-10) debian.net
61       29 12 7 * * root chronic /usr/sbin/rndc signing -nsec3param 1 0 16 $(head -c 20 /dev/urandom | sha512sum | cut -b 1-10) debian.org
62       32 12 7 * * root chronic /usr/sbin/rndc signing -nsec3param 1 0 16 $(head -c 20 /dev/urandom | sha512sum | cut -b 1-10) debconf.org
63       36 12 7 * * root chronic /usr/sbin/rndc signing -nsec3param 1 0 16 $(head -c 20 /dev/urandom | sha512sum | cut -b 1-10) _openpgpkey.debian.org
64
65       | EOF
66   }
67 }