]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/ferm/manifests/per-host.pp
powell is dead. long live powell
[dsa-puppet.git] / modules / ferm / manifests / per-host.pp
index 13980a162f607a89293b07dcc7d432be80dc4c82..5aee5dedd1bdc158e0e13fa3d78bc2d68e26a8d7 100644 (file)
@@ -3,6 +3,14 @@ class ferm::per-host {
                include ferm::zivit
        }
 
+       if $::hostname in [glinka,klecker,merikanto,ravel,rietz,senfl,sibelius,stabile] {
+               ferm::rule { 'dsa-rsync':
+                       domain      => '(ip ip6)',
+                       description => 'Allow rsync access',
+                       rule        => '&SERVICE(tcp, 873)'
+               }
+       }
+
        case $::hostname {
                piatti,samosa: {
                        @ferm::rule { 'dsa-udd-stunnel':
@@ -10,19 +18,59 @@ 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 ))'
+                       }
+               }
                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 ))'
                        }
                        @ferm::rule { 'dsa-postgres3-danzi':
-                               description     => 'Allow postgress access2',
+                               description     => 'Allow postgress access3',
                                rule            => '&SERVICE_RANGE(tcp, 5436, ( 206.12.19.0/24 ))'
                        }
+                       @ferm::rule { 'dsa-postgres4-danzi':
+                               description     => 'Allow postgress access4',
+                               rule            => '&SERVICE_RANGE(tcp, 5438, ( 206.12.19.0/24 ))'
+                       }
                }
                abel,alwyn,rietz: {
                        @ferm::rule { 'dsa-tftp':
@@ -40,17 +88,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',
@@ -97,6 +134,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': }
@@ -113,11 +173,20 @@ 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'
                        }
                }
                default: {}
@@ -142,7 +211,7 @@ source ($HOST_NAGIOS_V4) proto udp dport ntp 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.98 206.12.19.121) ACCEPT; # loghost
+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
 '
@@ -172,7 +241,9 @@ REJECT reject-with icmp-admin-prohibited
                                chain           => 'FORWARD',
                                rule            => 'def $ADDRESS_FANO=206.12.19.110;
 def $ADDRESS_FINZI=206.12.19.111;
-def $FREEBSD_HOSTS=($ADDRESS_FANO $ADDRESS_FINZI);
+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;
@@ -180,6 +251,7 @@ 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
@@ -213,8 +285,23 @@ REJECT reject-with icmp-admin-prohibited
                }
                default: {}
        }
-
-       if $::rsyncd {
-               include ferm::rsync
+       case $::hostname {
+               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: {}
+       }
+       case $::hostname {
+               bm-bl1,bm-bl2,bm-bl3,bm-bl4,bm-bl5,bm-bl6,bm-bl7,bm-bl8,bm-bl9,bm-bl10,bm-bl11,bm-bl12,bm-bl13,bm-bl14: {
+                       @ferm::rule { 'dsa-hwnet-vlan20':
+                               rule            => 'interface vlan20 jump ACCEPT',
+                       }
+               }
+               default: {}
        }
 }