]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/ferm/manifests/per-host.pp
dc11 icecast on scelsi
[dsa-puppet.git] / modules / ferm / manifests / per-host.pp
1 class ferm::per-host {
2     case $hostname {
3         ancina,zandonai,zelenka: {
4             include ferm::zivit
5         }
6     }
7
8     case $hostname {
9         chopin,franck,gluck,kassia,klecker,lobos,morricone,ravel,ries,rietz,saens,schein,santoro,steffani,valente,villa,wieck,stabile: {
10             include ferm::ftp
11         }
12     }
13
14     case $hostname {
15         piatti,samosa: {
16             @ferm::rule { "dsa-udd-stunnel":
17                 description  => "port 8080 for udd stunnel",
18                 rule         => "&SERVICE_RANGE(tcp, http-alt, ( 192.25.206.16 70.103.162.29 217.196.43.134 ))"
19             }
20         }
21         danzi: {
22                 @ferm::rule { "dsa-postgres-danzi":
23                     description     => "Allow postgress access",
24                     rule            => "&SERVICE_RANGE(tcp, 5433, ( 206.12.19.0/24 ))"
25                 }
26
27         }
28         abel,alwyn,rietz: {
29             @ferm::rule { "dsa-tftp":
30                 description     => "Allow tftp access",
31                 rule            => "&SERVICE(udp, 69)"
32             }
33         }
34         paganini: {
35             @ferm::rule { "dsa-dhcp":
36                 description     => "Allow dhcp access",
37                 rule            => "&SERVICE(udp, 67)"
38             }
39             @ferm::rule { "dsa-tftp":
40                 description     => "Allow tftp access",
41                 rule            => "&SERVICE(udp, 69)"
42             }
43         }
44         handel: {
45             @ferm::rule { "dsa-puppet":
46                 description     => "Allow puppet access",
47                 rule            => "&SERVICE_RANGE(tcp, 8140, \$HOST_DEBIAN_V4)"
48             }
49             @ferm::rule { "dsa-puppet-v6":
50                 domain          => 'ip6',
51                 description     => "Allow puppet access",
52                 rule            => "&SERVICE_RANGE(tcp, 8140, \$HOST_DEBIAN_V6)"
53             }
54         }
55         powell: {
56             @ferm::rule { "dsa-powell-v6-tunnel":
57                 description     => "Allow powell to use V6 tunnel broker",
58                 rule            => "proto ipv6 saddr 212.227.117.6 jump ACCEPT"
59             }
60             @ferm::rule { "dsa-powell-btseed":
61                 domain          => "(ip ip6)",
62                 description     => "Allow powell to seed BT",
63                 rule            => "proto tcp dport 8000:8100 jump ACCEPT"
64             }
65         }
66         heininen,lotti: {
67             @ferm::rule { "dsa-syslog":
68                 description     => "Allow syslog access",
69                 rule            => "&SERVICE_RANGE(tcp, 5140, \$HOST_DEBIAN_V4)"
70             }
71             @ferm::rule { "dsa-syslog-v6":
72                 domain          => 'ip6',
73                 description     => "Allow syslog access",
74                 rule            => "&SERVICE_RANGE(tcp, 5140, \$HOST_DEBIAN_V6)"
75             }
76         }
77         kaufmann: {
78             @ferm::rule { "dsa-hkp":
79                 domain          => "(ip ip6)",
80                 description     => "Allow hkp access",
81                 rule            => "&SERVICE(tcp, 11371)"
82             }
83         }
84         liszt: {
85             @ferm::rule { "smtp":
86                 domain          => "(ip ip6)",
87                 description     => "Allow smtp access",
88                 rule            => "&SERVICE(tcp, 25)"
89             }
90         }
91         draghi: {
92             #@ferm::rule { "dsa-bind":
93             #    domain          => "(ip ip6)",
94             #    description     => "Allow nameserver access",
95             #    rule            => "&TCP_UDP_SERVICE(53)"
96             #}
97             @ferm::rule { "dsa-finger":
98                 domain          => "(ip ip6)",
99                 description     => "Allow finger access",
100                 rule            => "&SERVICE(tcp, 79)"
101             }
102             @ferm::rule { "dsa-ldap":
103                 domain          => "(ip ip6)",
104                 description     => "Allow ldap access",
105                 rule            => "&SERVICE(tcp, 389)"
106             }
107             @ferm::rule { "dsa-ldaps":
108                 domain          => "(ip ip6)",
109                 description     => "Allow ldaps access",
110                 rule            => "&SERVICE(tcp, 636)"
111             }
112         }
113         cilea: {
114             file {
115                 "/etc/ferm/conf.d/load_sip_conntrack.conf":
116                     source => "puppet:///modules/ferm/conntrack_sip.conf",
117                     require => Package["ferm"],
118                     notify  => Exec["ferm restart"];
119             }
120             @ferm::rule { "dsa-sip":
121                 domain          => "(ip ip6)",
122                 description     => "Allow sip access",
123                 rule            => "&TCP_UDP_SERVICE(5060)"
124             }
125             @ferm::rule { "dsa-sipx":
126                 domain          => "(ip ip6)",
127                 description     => "Allow sipx access",
128                 rule            => "&TCP_UDP_SERVICE(5080)"
129             }
130         }
131         scelsi: {
132             @ferm::rule { "dc11-icecast":
133                 domain          => "(ip ip6)",
134                 description     => "Allow icecast access",
135                 rule            => "&SERVICE(tcp, 8000)"
136             }
137         }
138     }
139
140     case $hostname { rautavaara,luchesi: {
141         @ferm::rule { "dsa-to-kfreebsd":
142             description     => "Traffic routed to kfreebsd hosts",
143             chain           => 'to-kfreebsd',
144             rule            => 'proto icmp ACCEPT;
145                                 source ($FREEBSD_SSH_ACCESS $HOST_NAGIOS_V4) proto tcp dport 22 ACCEPT;
146                                 source ($HOST_MAILRELAY_V4 $HOST_NAGIOS_V4) proto tcp dport 25 ACCEPT;
147                                 source ($HOST_MUNIN_V4 $HOST_NAGIOS_V4) proto tcp dport 4949 ACCEPT;
148                                 source ($HOST_NAGIOS_V4) proto tcp dport 5666 ACCEPT;
149                                 source ($HOST_NAGIOS_V4) proto udp dport ntp ACCEPT
150                                '
151         }
152         @ferm::rule { "dsa-from-kfreebsd":
153             description     => "Traffic routed from kfreebsd vlan/bridge",
154             chain           => 'from-kfreebsd',
155             rule            => 'proto icmp ACCEPT;
156                                 proto tcp dport (21 22 80 53 443) ACCEPT;
157                                 proto udp dport (53 123) ACCEPT;
158                                 proto tcp dport 8140 daddr 82.195.75.104 ACCEPT; # puppethost
159                                 proto tcp dport 5140 daddr (82.195.75.98 206.12.19.121) ACCEPT; # loghost
160                                 proto tcp dport 11371 daddr 82.195.75.107 ACCEPT; # keyring host
161                                 proto tcp dport (25 submission) daddr ($HOST_MAILRELAY_V4) ACCEPT
162                                '
163         }
164     }}
165     case $hostname {
166         rautavaara: {
167             @ferm::rule { "dsa-routing":
168                 description     => "forward chain",
169                 chain           => "FORWARD",
170                 rule            => '
171                                     def $ADDRESS_FASCH=194.177.211.201;
172                                     def $ADDRESS_FIELD=194.177.211.210;
173                                     def $FREEBSD_HOSTS=($ADDRESS_FASCH $ADDRESS_FIELD);
174
175                                     policy ACCEPT;
176                                     mod state state (ESTABLISHED RELATED) ACCEPT;
177                                     interface vlan11 outerface eth0 jump from-kfreebsd;
178                                     interface eth0 destination ($FREEBSD_HOSTS) jump to-kfreebsd;
179                                     ULOG ulog-prefix "REJECT FORWARD: ";
180                                     REJECT reject-with icmp-admin-prohibited
181                                     '
182             }
183         }
184         luchesi: {
185             @ferm::rule { "dsa-routing":
186                 description     => "forward chain",
187                 chain           => "FORWARD",
188                 rule            => '
189                                     def $ADDRESS_FANO=206.12.19.110;
190                                     def $ADDRESS_FINZI=206.12.19.111;
191                                     def $FREEBSD_HOSTS=($ADDRESS_FANO $ADDRESS_FINZI);
192
193                                     policy ACCEPT;
194                                     mod state state (ESTABLISHED RELATED) ACCEPT;
195                                     interface br0 outerface br0 ACCEPT;
196
197                                     interface br2 outerface br0 jump from-kfreebsd;
198                                     interface br0 destination ($FREEBSD_HOSTS) jump to-kfreebsd;
199                                     ULOG ulog-prefix "REJECT FORWARD: ";
200                                     REJECT reject-with icmp-admin-prohibited
201                                     '
202             }
203         }
204     }
205
206     # redirect snapshot into varnish
207     case $hostname {
208         sibelius: {
209             @ferm::rule { "dsa-snapshot-varnish":
210                 rule            => '&SERVICE(tcp, 6081)',
211             }
212             @ferm::rule { "dsa-nat-snapshot-varnish":
213                 table           => 'nat',
214                 chain           => 'PREROUTING',
215                 rule            => 'proto tcp daddr 193.62.202.30 dport 80 REDIRECT to-ports 6081',
216             }
217         }
218         stabile: {
219             @ferm::rule { "dsa-snapshot-varnish":
220                 rule            => '&SERVICE(tcp, 6081)',
221             }
222             @ferm::rule { "dsa-nat-snapshot-varnish":
223                 table           => 'nat',
224                 chain           => 'PREROUTING',
225                 rule            => 'proto tcp daddr 206.12.19.150 dport 80 REDIRECT to-ports 6081',
226             }
227         }
228     }
229 }
230
231 # vim:set et:
232 # vim:set sts=4 ts=4:
233 # vim:set shiftwidth=4: