class ferm {
- define ferm_rule($domain="ip", $chain="INPUT", $rule, $description="", $prio="00") {
+ define rule($domain="ip", $chain="INPUT", $rule, $description="", $prio="00") {
file { "/etc/ferm/dsa.d/${prio}_${name}":
ensure => present,
owner => root,
group => root,
mode => 0600,
content => template("ferm/ferm-rule.erb"),
+ notify => Exec["ferm restart"],
}
}
"/etc/ferm/dsa.d":
ensure => directory,
require => Package["ferm"];
- "/etc/ferm/dsa.d/me.conf":
+ "/etc/ferm/conf.d":
+ ensure => directory,
+ require => Package["ferm"];
+ "/etc/ferm/ferm.conf":
+ source => "puppet:///ferm/ferm.conf",
+ require => Package["ferm"],
+ notify => Exec["ferm restart"];
+ "/etc/ferm/conf.d/me.conf":
content => template("ferm/me.conf.erb"),
require => Package["ferm"],
notify => Exec["ferm restart"];
+ "/etc/ferm/conf.d/defs.conf":
+ source => "puppet:///ferm/defs.conf",
+ require => Package["ferm"],
+ notify => Exec["ferm restart"];
+ }
+
+ ferm::rule { "dsa-ssh":
+ description => "Allow SSH from DSA",
+ rule => "domain (ip ip6) proto tcp mod state state (NEW) dport (ssh) @subchain 'ssh' { saddr (\$SSH_SOURCES) ACCEPT; }"
}
exec { "ferm restart":