]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/ferm/manifests/per-host.pp
rautavaara nfs and router for mgmt net
[dsa-puppet.git] / modules / ferm / manifests / per-host.pp
index de13cb6879202c41dd6e35aa9d8a2d9b61c74b7a..3fe2d09ce29bf568694a44d2a421e6cb81ee0b75 100644 (file)
@@ -3,7 +3,7 @@ class ferm::per-host {
                include ferm::zivit
        }
 
-       if $::hostname in [klecker,merikanto,powell,ravel,rietz,senfl,sibelius,stabile] {
+       if $::hostname in [glinka,klecker,merikanto,ravel,rietz,senfl,sibelius,stabile] {
                ferm::rule { 'dsa-rsync':
                        domain      => '(ip ip6)',
                        description => 'Allow rsync access',
@@ -18,11 +18,61 @@ class ferm::per-host {
                                rule         => '&SERVICE_RANGE(tcp, http-alt, ( 192.25.206.16 70.103.162.29 217.196.43.134 ))'
                        }
                }
+               ullmann: {
+                       @ferm::rule { 'dsa-postgres-udd':
+                               description     => 'Allow postgress access',
+                               # quantz, wagner, master
+                               rule            => '&SERVICE_RANGE(tcp, 5452, ( 206.12.19.122/32 217.196.43.134/32 217.196.43.132/32 82.195.75.110/32 ))'
+                       }
+                       @ferm::rule { 'dsa-postgres-udd6':
+                               domain          => '(ip6)',
+                               description     => 'Allow postgress access',
+                               # quantz
+                               rule            => '&SERVICE_RANGE(tcp, 5452, ( 2607:f8f0:610:4000:216:36ff:fe40:3860/128 2001:41b8:202:deb:216:36ff:fe40:4001/128 ))'
+                       }
+               }
+               grieg: {
+                       @ferm::rule { 'dsa-postgres-ullmann':
+                               description     => 'Allow postgress access',
+                               rule            => '&SERVICE_RANGE(tcp, 5433, ( 206.12.19.141/32 ))'
+                       }
+                       @ferm::rule { 'dsa-postgres-ullmann6':
+                               domain          => '(ip6)',
+                               description     => 'Allow postgress access',
+                               rule            => '&SERVICE_RANGE(tcp, 5433, ( 2607:f8f0:610:4000:6564:a62:ce0c:138d/128 ))'
+                       }
+               }
+               czerny,clementi: {
+                       @ferm::rule { 'dsa-upsmon':
+                               description     => 'Allow upsmon access',
+                               rule            => '&SERVICE_RANGE(tcp, 3493, ( 82.195.75.64/26 192.168.43.0/24 ))'
+                       }
+               }
+               bendel: {
+                       @ferm::rule { 'listmaster-ontp-in':
+                               description     => 'ONTP has a broken mail setup',
+                               table           => 'filter',
+                               chain           => 'INPUT',
+                               rule            => 'source 188.165.23.89/32 proto tcp dport 25 jump DROP',
+                       }
+                       @ferm::rule { 'listmaster-ontp-out':
+                               description     => 'ONTP has a broken mail setup',
+                               table           => 'filter',
+                               chain           => 'OUTPUT',
+                               rule            => 'destination 78.8.208.246/32 proto tcp dport 25 jump DROP',
+                       }
+               }
                danzi: {
                        @ferm::rule { 'dsa-postgres-danzi':
                                description     => 'Allow postgress access',
                                rule            => '&SERVICE_RANGE(tcp, 5433, ( 206.12.19.0/24 ))'
                        }
+                       @ferm::rule { 'dsa-postgres-danzi6':
+                               domain          => 'ip6',
+                               description     => 'Allow postgress access',
+                               rule            => '&SERVICE_RANGE(tcp, 5433, ( 2607:f8f0:610:4000::/64 ))'
+                       }
+
                        @ferm::rule { 'dsa-postgres2-danzi':
                                description     => 'Allow postgress access2',
                                rule            => '&SERVICE_RANGE(tcp, 5437, ( 206.12.19.0/24 ))'
@@ -35,6 +85,16 @@ class ferm::per-host {
                                description     => 'Allow postgress access4',
                                rule            => '&SERVICE_RANGE(tcp, 5438, ( 206.12.19.0/24 ))'
                        }
+
+                       @ferm::rule { 'dsa-postgres-bacula-danzi':
+                               description     => 'Allow postgress access1',
+                               rule            => '&SERVICE_RANGE(tcp, 5434, ( 206.12.19.139/32 ))'
+                       }
+                       @ferm::rule { 'dsa-postgres-bacula-danzi6':
+                               domain          => 'ip6',
+                               description     => 'Allow postgress access1',
+                               rule            => '&SERVICE_RANGE(tcp, 5434, ( 2607:f8f0:610:4000:6564:a62:ce0c:138b/128 ))'
+                       }
                }
                abel,alwyn,rietz: {
                        @ferm::rule { 'dsa-tftp':
@@ -52,17 +112,6 @@ class ferm::per-host {
                                rule            => '&SERVICE(udp, 69)'
                        }
                }
-               powell: {
-                       @ferm::rule { 'dsa-powell-v6-tunnel':
-                               description     => 'Allow powell to use V6 tunnel broker',
-                               rule            => 'proto ipv6 saddr 212.227.117.6 jump ACCEPT'
-                       }
-                       @ferm::rule { 'dsa-powell-btseed':
-                               domain          => '(ip ip6)',
-                               description     => 'Allow powell to seed BT',
-                               rule            => 'proto tcp dport 8000:8100 jump ACCEPT'
-                       }
-               }
                lotti,lully: {
                        @ferm::rule { 'dsa-syslog':
                                description     => 'Allow syslog access',
@@ -109,6 +158,29 @@ class ferm::per-host {
                                description     => 'Allow ldaps access',
                                rule            => '&SERVICE(tcp, 636)'
                        }
+                       @ferm::rule { 'dsa-vpn':
+                               description     => 'Allow openvpn access',
+                               rule            => '&SERVICE(udp, 17257)'
+                       }
+                       @ferm::rule { 'dsa-routing':
+                               description     => 'forward chain',
+                               chain           => 'FORWARD',
+                               rule            => 'policy ACCEPT;
+mod state state (ESTABLISHED RELATED) ACCEPT;
+interface tun+ ACCEPT;
+REJECT reject-with icmp-admin-prohibited
+'
+                       }
+                       @ferm::rule { 'dsa-vpn-mark':
+                               table           => 'mangle',
+                               chain           => 'PREROUTING',
+                               rule            => 'interface tun+ MARK set-mark 1',
+                       }
+                       @ferm::rule { 'dsa-vpn-nat':
+                               table           => 'nat',
+                               chain           => 'POSTROUTING',
+                               rule            => 'outerface !tun+ mod mark mark 1 MASQUERADE',
+                       }
                }
                cilea: {
                        ferm::module { 'nf_conntrack_sip': }
@@ -125,83 +197,47 @@ class ferm::per-host {
                                rule            => '&TCP_UDP_SERVICE(5080)'
                        }
                }
-               scelsi: {
-                       @ferm::rule { 'dc11-icecast':
-                               domain          => '(ip ip6)',
-                               description     => 'Allow icecast access',
-                               rule            => '&SERVICE(tcp, 8000)'
+               unger: {
+                       @ferm::rule { 'dsa-notrack-dns-diamond-in':
+                               domain      => 'ip',
+                               description => 'NOTRACK for nameserver traffic',
+                               table       => 'raw',
+                               chain       => 'PREROUTING',
+                               rule        => 'destination 82.195.75.108 proto (tcp udp) dport 53 jump NOTRACK'
+                       }
+                       @ferm::rule { 'dsa-notrack-dns-diamond-out':
+                               domain      => 'ip',
+                               description => 'NOTRACK for nameserver traffic',
+                               table       => 'raw',
+                               chain       => 'PREROUTING',
+                               rule        => 'source 82.195.75.108 proto (tcp udp) sport 53 jump NOTRACK'
+                       }
+               }
+               sonntag: {
+                       @ferm::rule { 'dsa-bugs-search':
+                               description  => 'port 1978 for bugs-search from bug web frontends',
+                               rule         => '&SERVICE_RANGE(tcp, 1978, ( 140.211.166.26 206.12.19.140 ))'
                        }
                }
                default: {}
        }
 
-       if $::hostname in [rautavaara,luchesi] {
-               @ferm::rule { 'dsa-to-kfreebsd':
-                       description     => 'Traffic routed to kfreebsd hosts',
-                       chain           => 'to-kfreebsd',
-                       rule            => 'proto icmp ACCEPT;
-source ($FREEBSD_SSH_ACCESS $HOST_NAGIOS_V4) proto tcp dport 22 ACCEPT;
-source ($HOST_MAILRELAY_V4 $HOST_NAGIOS_V4) proto tcp dport 25 ACCEPT;
-source ($HOST_MUNIN_V4 $HOST_NAGIOS_V4) proto tcp dport 4949 ACCEPT;
-source ($HOST_NAGIOS_V4) proto tcp dport 5666 ACCEPT;
-source ($HOST_NAGIOS_V4) proto udp dport ntp ACCEPT
-'
+       if $::hostname in [rautavaara] {
+               @ferm::rule { 'dsa-from-mgmt':
+                       description     => 'Traffic routed from mgmt net vlan/bridge',
+                       chain           => 'from-mgmt',
+                       rule            => 'interface eth1 ACCEPT'
                }
-               @ferm::rule { 'dsa-from-kfreebsd':
-                       description     => 'Traffic routed from kfreebsd vlan/bridge',
-                       chain           => 'from-kfreebsd',
-                       rule            => 'proto icmp ACCEPT;
-proto tcp dport (21 22 80 53 443) ACCEPT;
-proto udp dport (53 123) ACCEPT;
-proto tcp dport 8140 daddr 82.195.75.104 ACCEPT; # puppethost
-proto tcp dport 5140 daddr (82.195.75.99 206.12.19.121) ACCEPT; # loghost
-proto tcp dport 11371 daddr 82.195.75.107 ACCEPT; # keyring host
-proto tcp dport (25 submission) daddr ($HOST_MAILRELAY_V4) ACCEPT
-'
+               @ferm::rule { 'dsa-mgmt-mark':
+                       table           => 'mangle',
+                       chain           => 'PREROUTING',
+                       rule            => 'interface eth1 MARK set-mark 1',
                }
-       }
-       case $::hostname {
-               rautavaara: {
-                       @ferm::rule { 'dsa-routing':
-                               description     => 'forward chain',
-                               chain           => 'FORWARD',
-                               rule            => 'def $ADDRESS_FASCH=194.177.211.201;
-def $ADDRESS_FIELD=194.177.211.210;
-def $FREEBSD_HOSTS=($ADDRESS_FASCH $ADDRESS_FIELD);
-
-policy ACCEPT;
-mod state state (ESTABLISHED RELATED) ACCEPT;
-interface vlan11 outerface eth0 jump from-kfreebsd;
-interface eth0 destination ($FREEBSD_HOSTS) jump to-kfreebsd;
-ULOG ulog-prefix "REJECT FORWARD: ";
-REJECT reject-with icmp-admin-prohibited
-'
-                       }
+               @ferm::rule { 'dsa-mgmt-nat':
+                       table           => 'nat',
+                       chain           => 'POSTROUTING',
+                       rule            => 'outerface eth1 mod mark mark 1 MASQUERADE',
                }
-               luchesi: {
-                       @ferm::rule { 'dsa-routing':
-                               description     => 'forward chain',
-                               chain           => 'FORWARD',
-                               rule            => 'def $ADDRESS_FANO=206.12.19.110;
-def $ADDRESS_FINZI=206.12.19.111;
-def $ADDRESS_FISCHER=206.12.19.112;
-def $ADDRESS_FALLA=206.12.19.117;
-def $FREEBSD_HOSTS=($ADDRESS_FANO $ADDRESS_FINZI $ADDRESS_FISCHER $ADDRESS_FALLA);
-
-policy ACCEPT;
-mod state state (ESTABLISHED RELATED) ACCEPT;
-interface br0 outerface br0 ACCEPT;
-interface br1 outerface br1 ACCEPT;
-
-interface br2 outerface br0 jump from-kfreebsd;
-interface br0 destination ($ADDRESS_FISCHER $ADDRESS_FALLA) proto tcp dport 22 ACCEPT;
-interface br0 destination ($FREEBSD_HOSTS) jump to-kfreebsd;
-ULOG ulog-prefix "REJECT FORWARD: ";
-REJECT reject-with icmp-admin-prohibited
-'
-                       }
-               }
-               default: {}
        }
 
        # redirect snapshot into varnish
@@ -228,14 +264,15 @@ REJECT reject-with icmp-admin-prohibited
                }
                default: {}
        }
-
-
-       # live ganeti migration
        case $::hostname {
-               tristano: { @ferm::rule { 'dsa-ganeti-migrate': rule => 'interface br1 proto tcp dport 8102 src 192.168.2.217 ACCEPT'; } }
-               pasquini: { @ferm::rule { 'dsa-ganeti-migrate': rule => 'interface br1 proto tcp dport 8102 src 192.168.2.213 ACCEPT'; } }
-               bertali:  { @ferm::rule { 'dsa-ganeti-migrate': rule => 'interface br1 proto tcp dport 8102 src 192.168.2.216 ACCEPT'; } }
-               boito:    { @ferm::rule { 'dsa-ganeti-migrate': rule => 'interface br1 proto tcp dport 8102 src 192.168.2.212 ACCEPT'; } }
+               bm-bl1,bm-bl2: {
+                       @ferm::rule { 'dsa-vrrp':
+                               rule            => 'proto vrrp daddr 224.0.0.18 jump ACCEPT',
+                       }
+                       @ferm::rule { 'dsa-conntrackd':
+                               rule            => 'interface vlan2 daddr 225.0.0.50 jump ACCEPT',
+                       }
+               }
                default: {}
        }
 }