]> 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 073b0a4b2eeccc144c757d1ce5e1a19af47ca662..5aee5dedd1bdc158e0e13fa3d78bc2d68e26a8d7 100644 (file)
@@ -3,8 +3,12 @@ class ferm::per-host {
                include ferm::zivit
        }
 
-       if $::hostname in [chopin,franck,gluck,kassia,klecker,lobos,morricone,ravel,ries,rietz,saens,schein,santoro,steffani,valente,villa,wieck,stabile,bizet] {
-               include ferm::ftp
+       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 {
@@ -14,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':
@@ -44,29 +88,7 @@ class ferm::per-host {
                                rule            => '&SERVICE(udp, 69)'
                        }
                }
-               handel: {
-                       @ferm::rule { 'dsa-puppet':
-                               description     => 'Allow puppet access',
-                               rule            => '&SERVICE_RANGE(tcp, 8140, $HOST_DEBIAN_V4)'
-                       }
-                       @ferm::rule { 'dsa-puppet-v6':
-                               domain          => 'ip6',
-                               description     => 'Allow puppet access',
-                               rule            => '&SERVICE_RANGE(tcp, 8140, $HOST_DEBIAN_V6)'
-                       }
-               }
-               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'
-                       }
-               }
-               heininen,lotti: {
+               lotti,lully: {
                        @ferm::rule { 'dsa-syslog':
                                description     => 'Allow syslog access',
                                rule            => '&SERVICE_RANGE(tcp, 5140, $HOST_DEBIAN_V4)'
@@ -91,13 +113,6 @@ class ferm::per-host {
                                rule            => '&SERVICE(tcp, 6523)'
                        }
                }
-               bendel,liszt: {
-                       @ferm::rule { 'smtp':
-                               domain          => '(ip ip6)',
-                               description     => 'Allow smtp access',
-                               rule            => '&SERVICE(tcp, 25)'
-                       }
-               }
                draghi: {
                        #@ferm::rule { 'dsa-bind':
                        #    domain          => '(ip ip6)',
@@ -119,14 +134,34 @@ 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: {
-                       file {
-                               '/etc/ferm/conf.d/load_sip_conntrack.conf':
-                                       source => 'puppet:///modules/ferm/conntrack_sip.conf',
-                                       require => Package['ferm'],
-                                       notify  => Exec['ferm restart'];
-                       }
+                       ferm::module { 'nf_conntrack_sip': }
+                       ferm::module { 'nf_conntrack_h323': }
+
                        @ferm::rule { 'dsa-sip':
                                domain          => '(ip ip6)',
                                description     => 'Allow sip access',
@@ -138,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: {}
@@ -167,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
 '
@@ -197,13 +241,17 @@ 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;
 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
@@ -237,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: {}
        }
 }