]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/named/manifests/init.pp
allow netnod to reach denis on 53/tcp and 53/udp
[dsa-puppet.git] / modules / named / manifests / init.pp
index a2dde9d3c863e7c651e2a567d7140da9efea142f..41cec9a8796a506017deeb303f6a2776d774d3be 100644 (file)
@@ -1,11 +1,11 @@
 class named {
-
        munin::check { 'bind': }
 
        site::aptrepo { 'bind-ratelimit':
-               url        => 'http://db.debian.org/debian-admin',
-               suite      => 'bind-ratelimit',
-               components => 'main',
+               ensure     => absent,
+               #url        => 'http://db.debian.org/debian-admin',
+               #suite      => 'bind-ratelimit',
+               #components => 'main',
        }
 
        package { 'bind9':
@@ -16,16 +16,29 @@ class named {
                ensure => running,
        }
 
-       @ferm::rule { 'dsa-bind-no-ddos-any':
+       @ferm::rule { '00-dsa-bind-no-ddos-any':
                domain      => '(ip ip6)',
                description => 'Allow nameserver access',
                rule        => 'proto udp dport 53 mod string from 32 to 64 algo bm hex-string \'|0000ff0001|\' jump DROP'
        }
 
-       @ferm::rule { 'dsa-bind':
-               domain      => '(ip ip6)',
-               description => 'Allow nameserver access',
-               rule        => '&TCP_UDP_SERVICE(53)'
+       if has_role('dns_primary') {
+               @ferm::rule { '01-dsa-bind-4':
+                       domain      => '(ip)',
+                       description => 'Allow nameserver access',
+                       rule        => '&TCP_UDP_SERVICE_RANGE(53, ( $HOST_DNS_GEO_V4 $HOST_NAGIOS_V4 $HOST_RCODE0_V4 $HOST_EASYDNS_V4 $HOST_NETNOD_V4 5.153.231.21 ) )',
+               }
+               @ferm::rule { '01-dsa-bind-6':
+                       domain      => '(ip6)',
+                       description => 'Allow nameserver access',
+                       rule        => '&TCP_UDP_SERVICE_RANGE(53, ( $HOST_DNS_GEO_V6 $HOST_NAGIOS_V6 $HOST_RCODE0_V6 2001:41c8:1000:21::21:21 ) )',
+               }
+       } else {
+               @ferm::rule { '01-dsa-bind':
+                       domain      => '(ip ip6)',
+                       description => 'Allow nameserver access',
+                       rule        => '&TCP_UDP_SERVICE(53)'
+               }
        }
 
        @ferm::rule { 'dsa-bind-notrack':
@@ -50,4 +63,12 @@ class named {
                group  => bind,
                mode   => '0775',
        }
+
+       file { '/etc/bind/named.conf.puppet-shared-keys':
+               mode    => '0640',
+               content => template('named/named.conf.puppet-shared-keys.erb'),
+               owner   => root,
+               group   => bind,
+               notify  => Service['bind9'],
+       }
 }