X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fferm%2Fmanifests%2Finit.pp;h=f5dd60f73fb68cb54f7e1d92bc9c8ff2951ce416;hb=3f4c8bcf77868067a3705262d9d2ca440994e8a5;hp=0d93d3aeb40a991363582805b2a54f97b4c641ea;hpb=f41ce88e7aaade948b47c6dec962597d5599c271;p=dsa-puppet.git diff --git a/modules/ferm/manifests/init.pp b/modules/ferm/manifests/init.pp index 0d93d3ae..f5dd60f7 100644 --- a/modules/ferm/manifests/init.pp +++ b/modules/ferm/manifests/init.pp @@ -4,37 +4,56 @@ class ferm { ensure => present, owner => root, group => root, - mode => 0600, + mode => 0400, content => template("ferm/ferm-rule.erb"), + notify => Exec["ferm restart"], } } + # realize (i.e. enable) all @ferm::rule virtual resources + Ferm::Rule <| |> + package { ferm: ensure => installed } file { - "/etc/ferm/dsa.d": + "/etc/ferm/dsa.d": ensure => directory, + purge => true, + force => true, + recurse => true, + source => "puppet:///files/empty/", require => Package["ferm"]; - "/etc/ferm/conf.d": + "/etc/ferm/conf.d": ensure => directory, require => Package["ferm"]; "/etc/ferm/ferm.conf": source => "puppet:///ferm/ferm.conf", require => Package["ferm"], + mode => 0400, notify => Exec["ferm restart"]; "/etc/ferm/conf.d/me.conf": content => template("ferm/me.conf.erb"), require => Package["ferm"], + mode => 0400, + notify => Exec["ferm restart"]; + "/etc/ferm/conf.d/defs.conf": + source => "puppet:///ferm/defs.conf", + require => Package["ferm"], + mode => 0400, notify => Exec["ferm restart"]; } - ferm::rule { "dsa-ssh": - description => "Allow SSH from DSA", - rule => "proto tcp dport ssh ACCEPT" + ferm::rule { + domain => "(ip ip6)", + description => "Drop everything else", + prio => "99", + rule => "jump log_or_drop" } + exec { "ferm restart": - path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", + command => "/etc/init.d/ferm restart", refreshonly => true, } + }