]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/ferm/manifests/per-host.pp
Access to dedup db
[dsa-puppet.git] / modules / ferm / manifests / per-host.pp
1 class ferm::per-host {
2         if $::hostname in [ancina,zandonai,zelenka] {
3                 include ferm::zivit
4         }
5
6         if $::hostname in [glinka,klecker,ravel,rietz,senfl,sibelius,stabile] {
7                 ferm::rule { 'dsa-rsync':
8                         domain      => '(ip ip6)',
9                         description => 'Allow rsync access',
10                         rule        => '&SERVICE(tcp, 873)'
11                 }
12         }
13
14         case $::hostname {
15                 czerny,clementi: {
16                         @ferm::rule { 'dsa-upsmon':
17                                 description     => 'Allow upsmon access',
18                                 rule            => '&SERVICE_RANGE(tcp, 3493, ( 82.195.75.64/26 192.168.43.0/24 ))'
19                         }
20                 }
21                 bendel: {
22                         @ferm::rule { 'listmaster-ontp-in':
23                                 description => 'ONTP has a broken mail setup',
24                                 table       => 'filter',
25                                 chain       => 'INPUT',
26                                 rule        => 'source 188.165.23.89/32 proto tcp dport 25 jump DROP',
27                         }
28                         @ferm::rule { 'listmaster-ontp-out':
29                                 description => 'ONTP has a broken mail setup',
30                                 table       => 'filter',
31                                 chain       => 'OUTPUT',
32                                 rule        => 'destination 78.8.208.246/32 proto tcp dport 25 jump DROP',
33                         }
34                 }
35                 abel,alwyn,rietz,jenkins: {
36                         @ferm::rule { 'dsa-tftp':
37                                 description     => 'Allow tftp access',
38                                 rule            => '&SERVICE(udp, 69)'
39                         }
40                 }
41                 lotti,lully: {
42                         @ferm::rule { 'dsa-syslog':
43                                 description     => 'Allow syslog access',
44                                 rule            => '&SERVICE_RANGE(tcp, 5140, $HOST_DEBIAN_V4)'
45                         }
46                         @ferm::rule { 'dsa-syslog-v6':
47                                 domain          => 'ip6',
48                                 description     => 'Allow syslog access',
49                                 rule            => '&SERVICE_RANGE(tcp, 5140, $HOST_DEBIAN_V6)'
50                         }
51                 }
52                 kaufmann: {
53                         @ferm::rule { 'dsa-hkp':
54                                 domain          => '(ip ip6)',
55                                 description     => 'Allow hkp access',
56                                 rule            => '&SERVICE(tcp, 11371)'
57                         }
58                 }
59                 gombert: {
60                         @ferm::rule { 'dsa-infinoted':
61                                 domain          => '(ip ip6)',
62                                 description     => 'Allow infinoted access',
63                                 rule            => '&SERVICE(tcp, 6523)'
64                         }
65                 }
66                 draghi: {
67                         @ferm::rule { 'dsa-finger':
68                                 domain          => '(ip ip6)',
69                                 description     => 'Allow finger access',
70                                 rule            => '&SERVICE(tcp, 79)'
71                         }
72                         @ferm::rule { 'dsa-ldap':
73                                 domain          => '(ip ip6)',
74                                 description     => 'Allow ldap access',
75                                 rule            => '&SERVICE(tcp, 389)'
76                         }
77                         @ferm::rule { 'dsa-ldaps':
78                                 domain          => '(ip ip6)',
79                                 description     => 'Allow ldaps access',
80                                 rule            => '&SERVICE(tcp, 636)'
81                         }
82                 }
83                 cilea: {
84                         ferm::module { 'nf_conntrack_sip': }
85                         ferm::module { 'nf_conntrack_h323': }
86
87                         @ferm::rule { 'dsa-sip':
88                                 domain          => '(ip ip6)',
89                                 description     => 'Allow sip access',
90                                 rule            => '&TCP_UDP_SERVICE(5060)'
91                         }
92                         @ferm::rule { 'dsa-sipx':
93                                 domain          => '(ip ip6)',
94                                 description     => 'Allow sipx access',
95                                 rule            => '&TCP_UDP_SERVICE(5080)'
96                         }
97                 }
98                 sonntag: {
99                         @ferm::rule { 'dsa-bugs-search':
100                                 description  => 'port 1978 for bugs-search from bug web frontends',
101                                 rule         => '&SERVICE_RANGE(tcp, 1978, ( 140.211.166.26 206.12.19.140 ))'
102                         }
103                 }
104                 default: {}
105         }
106
107         if $::hostname in [rautavaara] {
108                 @ferm::rule { 'dsa-from-mgmt':
109                         description     => 'Traffic routed from mgmt net vlan/bridge',
110                         chain           => 'INPUT',
111                         rule            => 'interface eth1 ACCEPT'
112                 }
113                 @ferm::rule { 'dsa-mgmt-mark':
114                         table           => 'mangle',
115                         chain           => 'PREROUTING',
116                         rule            => 'interface eth1 MARK set-mark 1',
117                 }
118                 @ferm::rule { 'dsa-mgmt-nat':
119                         table           => 'nat',
120                         chain           => 'POSTROUTING',
121                         rule            => 'outerface eth1 mod mark mark 1 MASQUERADE',
122                 }
123         }
124
125         # redirect snapshot into varnish
126         case $::hostname {
127                 sibelius: {
128                         @ferm::rule { 'dsa-snapshot-varnish':
129                                 rule            => '&SERVICE(tcp, 6081)',
130                         }
131                         @ferm::rule { 'dsa-nat-snapshot-varnish':
132                                 table           => 'nat',
133                                 chain           => 'PREROUTING',
134                                 rule            => 'proto tcp daddr 193.62.202.30 dport 80 REDIRECT to-ports 6081',
135                         }
136                 }
137                 stabile: {
138                         @ferm::rule { 'dsa-snapshot-varnish':
139                                 rule            => '&SERVICE(tcp, 6081)',
140                         }
141                         @ferm::rule { 'dsa-nat-snapshot-varnish':
142                                 table           => 'nat',
143                                 chain           => 'PREROUTING',
144                                 rule            => 'proto tcp daddr 206.12.19.150 dport 80 REDIRECT to-ports 6081',
145                         }
146                 }
147                 default: {}
148         }
149         case $::hostname {
150                 bm-bl1,bm-bl2: {
151                         @ferm::rule { 'dsa-vrrp':
152                                 rule            => 'proto vrrp daddr 224.0.0.18 jump ACCEPT',
153                         }
154                         @ferm::rule { 'dsa-conntrackd':
155                                 rule            => 'interface vlan2 daddr 225.0.0.50 jump ACCEPT',
156                         }
157                         @ferm::rule { 'dsa-bind-notrack-in':
158                                 domain      => 'ip',
159                                 description => 'NOTRACK for nameserver traffic',
160                                 table       => 'raw',
161                                 chain       => 'PREROUTING',
162                                 rule        => 'proto (tcp udp) daddr 5.153.231.24 dport 53 jump NOTRACK'
163                         }
164
165                         @ferm::rule { 'dsa-bind-notrack-out':
166                                 domain      => 'ip',
167                                 description => 'NOTRACK for nameserver traffic',
168                                 table       => 'raw',
169                                 chain       => 'OUTPUT',
170                                 rule        => 'proto (tcp udp) saddr 5.153.231.24 sport 53 jump NOTRACK'
171                         }
172
173                         @ferm::rule { 'dsa-bind-notrack-in6':
174                                 domain      => 'ip6',
175                                 description => 'NOTRACK for nameserver traffic',
176                                 table       => 'raw',
177                                 chain       => 'PREROUTING',
178                                 rule        => 'proto (tcp udp) daddr 2001:41c8:1000:21::21:24 dport 53 jump NOTRACK'
179                         }
180
181                         @ferm::rule { 'dsa-bind-notrack-out6':
182                                 domain      => 'ip6',
183                                 description => 'NOTRACK for nameserver traffic',
184                                 table       => 'raw',
185                                 chain       => 'OUTPUT',
186                                 rule        => 'proto (tcp udp) saddr 2001:41c8:1000:21::21:24 sport 53 jump NOTRACK'
187                         }
188                 }
189                 default: {}
190         }
191
192         # solr stuff
193         case $::hostname {
194                 stockhausen: {
195                         @ferm::rule { 'dsa-solr-jetty':
196                                 description     => 'Allow jetty access',
197                                 rule            => '&SERVICE_RANGE(tcp, 8080, ( 82.195.75.100/32 ))'
198                         }
199                 }
200         }
201
202         # postgres stuff
203         case $::hostname {
204                 ullmann: {
205                         @ferm::rule { 'dsa-postgres-udd':
206                                 description     => 'Allow postgress access',
207                                 # quantz, moszumanska, master, couper, coccia, franck
208                                 rule            => '&SERVICE_RANGE(tcp, 5452, ( 206.12.19.122/32 5.153.231.21/32 82.195.75.110/32 5.153.231.14/32 5.153.231.11/32 138.16.160.12/32 ))'
209                         }
210                         @ferm::rule { 'dsa-postgres-udd6':
211                                 domain          => '(ip6)',
212                                 description     => 'Allow postgress access',
213                                 rule            => '&SERVICE_RANGE(tcp, 5452, ( 2607:f8f0:610:4000:216:36ff:fe40:3860/128 2001:41b8:202:deb:216:36ff:fe40:4001/128 2001:41c8:1000:21::21:14/128 2001:41c8:1000:21::21:11/32 2001:41c8:1000:21::21:21/128 ))'
214                         }
215                 }
216                 franck: {
217                         @ferm::rule { 'dsa-postgres-franck':
218                                 description     => 'Allow postgress access',
219                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 5.153.231.10/32 ))'
220                         }
221                         @ferm::rule { 'dsa-postgres-franck6':
222                                 domain          => 'ip6',
223                                 description     => 'Allow postgress access',
224                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 2001:41c8:1000:21::21:10/128 ))'
225                         }
226
227                         @ferm::rule { 'dsa-postgres-backup':
228                                 description     => 'Allow postgress access',
229                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 5.153.231.12/32 ))'
230                         }
231                         @ferm::rule { 'dsa-postgres-backup6':
232                                 domain          => 'ip6',
233                                 description     => 'Allow postgress access',
234                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 2001:41c8:1000:21::21:12/128 ))'
235                         }
236                 }
237                 bmdb1: {
238                         @ferm::rule { 'dsa-postgres-main':
239                                 description     => 'Allow postgress access',
240                                 rule            => '&SERVICE_RANGE(tcp, 5435, ( 5.153.231.14/32 5.153.231.23/32 5.153.231.25/32 206.12.19.141/32 ))'
241                         }
242                         @ferm::rule { 'dsa-postgres-main6':
243                                 domain          => 'ip6',
244                                 description     => 'Allow postgress access',
245                                 rule            => '&SERVICE_RANGE(tcp, 5435, ( 2001:41c8:1000:21::21:14/128 2001:41c8:1000:21::21:23/128 2001:41c8:1000:21::21:25/128 2607:f8f0:610:4000:6564:a62:ce0c:138d/128 ))'
246                         }
247                         @ferm::rule { 'dsa-postgres-dak':
248                                 description     => 'Allow postgress access',
249                                 rule            => '&SERVICE_RANGE(tcp, 5434, ( 5.153.231.11/32 206.12.19.122/32 206.12.19.123/32 206.12.19.134/32 5.153.231.21/32 ))'
250                         }
251                         @ferm::rule { 'dsa-postgres-dak6':
252                                 domain          => 'ip6',
253                                 description     => 'Allow postgress access',
254                                 rule            => '&SERVICE_RANGE(tcp, 5434, ( 2001:41c8:1000:21::21:11/128 2607:f8f0:610:4000:216:36ff:fe40:3860/128 2607:f8f0:610:4000:216:36ff:fe40:3861/128 2607:f8f0:610:4000:6564:a62:ce0c:1386/128 2001:41c8:1000:21::21:21/128 ))'
255                         }
256                         @ferm::rule { 'dsa-postgres-wanna-build':
257                                 # wuiet, ullmann, franck
258                                 description     => 'Allow postgress access',
259                                 rule            => '&SERVICE_RANGE(tcp, 5436, ( 5.153.231.18/32 206.12.19.141/32 138.16.160.12/32 ))'
260                         }
261                         @ferm::rule { 'dsa-postgres-wanna-build6':
262                                 domain          => 'ip6',
263                                 description     => 'Allow postgress access',
264                                 rule            => '&SERVICE_RANGE(tcp, 5436, ( 2001:41c8:1000:21::21:18/128 2607:f8f0:610:4000:6564:a62:ce0c:138d/128 ))'
265                         }
266                         @ferm::rule { 'dsa-postgres-bacula':
267                                 # dinis
268                                 description     => 'Allow postgress access1',
269                                 rule            => '&SERVICE_RANGE(tcp, 5437, ( 5.153.231.19/32 ))'
270                         }
271                         @ferm::rule { 'dsa-postgres-bacula6':
272                                 domain          => 'ip6',
273                                 description     => 'Allow postgress access1',
274                                 rule            => '&SERVICE_RANGE(tcp, 5437, ( 2001:41c8:1000:21::21:19/128 ))'
275                         }
276
277                         @ferm::rule { 'dsa-postgres-backup':
278                                 # ubc, wuit
279                                 description     => 'Allow postgress access',
280                                 rule            => '&SERVICE_RANGE(tcp, (5435 5436), ( 5.153.231.12/32 ))'
281                         }
282                         @ferm::rule { 'dsa-postgres-backup6':
283                                 domain          => 'ip6',
284                                 description     => 'Allow postgress access',
285                                 rule            => '&SERVICE_RANGE(tcp, (5435 5436), ( 2001:41c8:1000:21::21:12/128 ))'
286                         }
287
288                         @ferm::rule { 'dsa-postgres-dedup':
289                                 # ubc, wuit
290                                 description     => 'Allow postgress access',
291                                 rule            => '&SERVICE_RANGE(tcp, (5439), ( 5.153.231.17/32 ))'
292                         }
293                         @ferm::rule { 'dsa-postgres-dedup':
294                                 domain          => 'ip6',
295                                 description     => 'Allow postgress access',
296                                 rule            => '&SERVICE_RANGE(tcp, (5439), ( 2001:41c8:1000:21::21:17/128 ))'
297                         }
298                 }
299                 danzi: {
300                         @ferm::rule { 'dsa-postgres-danzi':
301                                 # ubc, wuit
302                                 description     => 'Allow postgress access',
303                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 206.12.19.0/24 5.153.231.18/32 ))'
304                         }
305                         @ferm::rule { 'dsa-postgres-danzi6':
306                                 domain          => 'ip6',
307                                 description     => 'Allow postgress access',
308                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 2607:f8f0:610:4000::/64 2001:41c8:1000:21::21:18/128 ))'
309                         }
310
311                         @ferm::rule { 'dsa-postgres2-danzi':
312                                 description     => 'Allow postgress access2',
313                                 rule            => '&SERVICE_RANGE(tcp, 5437, ( 206.12.19.0/24 ))'
314                         }
315                         @ferm::rule { 'dsa-postgres3-danzi':
316                                 description     => 'Allow postgress access3',
317                                 rule            => '&SERVICE_RANGE(tcp, 5436, ( 206.12.19.0/24 ))'
318                         }
319                         @ferm::rule { 'dsa-postgres4-danzi':
320                                 description     => 'Allow postgress access4',
321                                 rule            => '&SERVICE_RANGE(tcp, 5438, ( 206.12.19.0/24 ))'
322                         }
323
324                         @ferm::rule { 'dsa-postgres-backup':
325                                 description     => 'Allow postgress access',
326                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 5.153.231.12/32 ))'
327                         }
328                         @ferm::rule { 'dsa-postgres-backup6':
329                                 domain          => 'ip6',
330                                 description     => 'Allow postgress access',
331                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 2001:41c8:1000:21::21:12/128 ))'
332                         }
333                 }
334                 chopin: {
335                         @ferm::rule { 'dsa-postgres-backup':
336                                 description     => 'Allow postgress access',
337                                 rule            => '&SERVICE_RANGE(tcp, 5432, ( 5.153.231.12/32 ))'
338                         }
339                         @ferm::rule { 'dsa-postgres-backup6':
340                                 domain          => 'ip6',
341                                 description     => 'Allow postgress access',
342                                 rule            => '&SERVICE_RANGE(tcp, 5432, ( 2001:41c8:1000:21::21:12/128 ))'
343                         }
344                 }
345                 sibelius: {
346                         @ferm::rule { 'dsa-postgres-backup':
347                                 description     => 'Allow postgress access',
348                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 5.153.231.12/32 ))'
349                         }
350                         @ferm::rule { 'dsa-postgres-backup6':
351                                 domain          => 'ip6',
352                                 description     => 'Allow postgress access',
353                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 2001:41c8:1000:21::21:12/128 ))'
354                         }
355                 }
356                 default: {}
357         }
358         # vpn fu
359         case $::hostname {
360                 draghi,eysler: {
361                         @ferm::rule { 'dsa-vpn':
362                                 description     => 'Allow openvpn access',
363                                 rule            => '&SERVICE(udp, 17257)'
364                         }
365                         @ferm::rule { 'dsa-routing':
366                                 description     => 'forward chain',
367                                 chain           => 'FORWARD',
368                                 rule            => 'policy ACCEPT;
369 mod state state (ESTABLISHED RELATED) ACCEPT;
370 interface tun+ ACCEPT;
371 REJECT reject-with icmp-admin-prohibited
372 '
373                         }
374                         @ferm::rule { 'dsa-vpn-mark':
375                                 table           => 'mangle',
376                                 chain           => 'PREROUTING',
377                                 rule            => 'interface tun+ MARK set-mark 1',
378                         }
379                         @ferm::rule { 'dsa-vpn-nat':
380                                 table           => 'nat',
381                                 chain           => 'POSTROUTING',
382                                 rule            => 'outerface !tun+ mod mark mark 1 MASQUERADE',
383                         }
384                 }
385                 default: {}
386         }
387 }