X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fnamed%2Fmanifests%2Finit.pp;h=d425931752d6e8c3392ceea4f0d89b1b0ebcd428;hb=93b0951a13225a40ab43169af5ec218452bc0273;hp=28a666b5a1b5ce2f78f467de98f09adc478fda64;hpb=3eb533e5499e66423bafdedaf6c7d08ead1772de;p=mirror%2Fdsa-puppet.git diff --git a/modules/named/manifests/init.pp b/modules/named/manifests/init.pp index 28a666b5a..d42593175 100644 --- a/modules/named/manifests/init.pp +++ b/modules/named/manifests/init.pp @@ -1,5 +1,4 @@ class named { - munin::check { 'bind': } package { 'bind9': @@ -10,10 +9,26 @@ class named { ensure => running, } - @ferm::rule { 'dsa-bind': + @ferm::rule { '00-dsa-bind-no-ddos-any': domain => '(ip ip6)', description => 'Allow nameserver access', - rule => '&TCP_UDP_SERVICE(53)' + rule => 'proto udp dport 53 mod string from 32 to 64 algo bm hex-string \'|0000ff0001|\' jump DROP' + } + + @ferm::rule { 'dsa-bind-notrack': + domain => '(ip ip6)', + description => 'NOTRACK for nameserver traffic', + table => 'raw', + chain => 'PREROUTING', + rule => 'proto (tcp udp) dport 53 jump NOTRACK' + } + + @ferm::rule { 'dsa-bind-notrack-out': + domain => '(ip ip6)', + description => 'NOTRACK for nameserver traffic', + table => 'raw', + chain => 'OUTPUT', + rule => 'proto (tcp udp) sport 53 jump NOTRACK' } file { '/var/log/bind9': @@ -22,4 +37,28 @@ class named { group => bind, mode => '0775', } + + file { '/etc/bind/named.conf.options': + content => template('named/named.conf.options.erb'), + notify => Service['bind9'], + } + + 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'], + } + + concat { '/etc/bind/named.conf.puppet-misc': + notify => Service['bind9'], + } + concat::fragment { 'dsa-named-conf-puppet-misc---header': + target => '/etc/bind/named.conf.puppet-misc', + order => '000', + content => @(EOF) + // THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. + | EOF + } }