Switch nrpe firewalling to store/collect
authorPeter Palfrader <peter@palfrader.org>
Fri, 20 Sep 2019 18:33:19 +0000 (20:33 +0200)
committerPeter Palfrader <peter@palfrader.org>
Fri, 20 Sep 2019 18:33:19 +0000 (20:33 +0200)
modules/nagios/manifests/client.pp
modules/nagios/manifests/server.pp
modules/roles/manifests/dns_primary.pp

index 710378c..a2a7c24 100644 (file)
@@ -13,17 +13,7 @@ class nagios::client inherits nagios {
     pattern   => 'nrpe',
   }
 
-  ferm::rule { 'dsa-nagios-v4':
-    description => 'Allow nrpe from nagios master',
-    rule        => 'proto tcp mod state state (NEW) dport (5666) @subchain \'nagios\' { saddr ($HOST_NAGIOS_V4) ACCEPT; }',
-    notarule    => true,
-  }
-  ferm::rule { 'dsa-nagios-v6':
-    description => 'Allow nrpe from nagios master',
-    domain      => 'ip6',
-    rule        => 'proto tcp mod state state (NEW) dport (5666) @subchain \'nagios\' { saddr ($HOST_NAGIOS_V6) ACCEPT; }',
-    notarule    => true,
-  }
+  Ferm::Rule::Simple <<| tag == 'nagios-nrpe::server' |>>
 
   file { '/etc/default/nagios-nrpe-server':
     source  => 'puppet:///modules/nagios/common/default',
index dbd47f9..fc222ae 100644 (file)
@@ -145,4 +145,12 @@ class nagios::server {
     port        => 'domain',
     saddr       => $base::public_addresses,
   }
+
+  # The nagios server wants to connect to the NRPE server on all the hosts
+  @@ferm::rule::simple { "dsa-nrpe-from-${::fqdn}":
+    tag         => 'nagios-nrpe::server',
+    description => 'Allow nagios master access to the nrpe daemon',
+    port        => '5666',
+    saddr       => $base::public_addresses,
+  }
 }
index d846c1b..422db0d 100644 (file)
@@ -51,4 +51,11 @@ class roles::dns_primary(
   }
   Ferm::Rule::Simple <<| tag == 'named::primary::ferm' |>>
 
+  # mini-nag does nrpe queries to check if hosts are still up
+  @@ferm::rule::simple { "dsa-nrpe-from-dnsprimary-${::fqdn}":
+    tag         => 'nagios-nrpe::server',
+    description => 'Allow dns primary running mini-nag access to the nrpe daemon',
+    port        => '5666',
+    saddr       => $base::public_addresses,
+  }
 }