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 mod state state (NEW) dport (ssh) @subchain "ssh" { saddr ($SSH_SOURCES) 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,
}
+
}