]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/ferm/manifests/per-host.pp
Allow pg access to bmdb1 from coccia
[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,merikanto,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                 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                 ullmann: {
22                         @ferm::rule { 'dsa-postgres-udd':
23                                 description     => 'Allow postgress access',
24                                 # quantz, wagner, master
25                                 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 ))'
26                         }
27                         @ferm::rule { 'dsa-postgres-udd6':
28                                 domain          => '(ip6)',
29                                 description     => 'Allow postgress access',
30                                 # quantz
31                                 rule            => '&SERVICE_RANGE(tcp, 5452, ( 2607:f8f0:610:4000:216:36ff:fe40:3860/128 2001:41b8:202:deb:216:36ff:fe40:4001/128 ))'
32                         }
33                 }
34                 czerny,clementi: {
35                         @ferm::rule { 'dsa-upsmon':
36                                 description     => 'Allow upsmon access',
37                                 rule            => '&SERVICE_RANGE(tcp, 3493, ( 82.195.75.64/26 192.168.43.0/24 ))'
38                         }
39                 }
40                 bendel: {
41                         @ferm::rule { 'listmaster-ontp-in':
42                                 description     => 'ONTP has a broken mail setup',
43                                 table           => 'filter',
44                                 chain           => 'INPUT',
45                                 rule            => 'source 188.165.23.89/32 proto tcp dport 25 jump DROP',
46                         }
47                         @ferm::rule { 'listmaster-ontp-out':
48                                 description     => 'ONTP has a broken mail setup',
49                                 table           => 'filter',
50                                 chain           => 'OUTPUT',
51                                 rule            => 'destination 78.8.208.246/32 proto tcp dport 25 jump DROP',
52                         }
53                 }
54                 abel,alwyn,rietz: {
55                         @ferm::rule { 'dsa-tftp':
56                                 description     => 'Allow tftp access',
57                                 rule            => '&SERVICE(udp, 69)'
58                         }
59                 }
60                 paganini: {
61                         @ferm::rule { 'dsa-dhcp':
62                                 description     => 'Allow dhcp access',
63                                 rule            => '&SERVICE(udp, 67)'
64                         }
65                         @ferm::rule { 'dsa-tftp':
66                                 description     => 'Allow tftp access',
67                                 rule            => '&SERVICE(udp, 69)'
68                         }
69                 }
70                 lotti,lully: {
71                         @ferm::rule { 'dsa-syslog':
72                                 description     => 'Allow syslog access',
73                                 rule            => '&SERVICE_RANGE(tcp, 5140, $HOST_DEBIAN_V4)'
74                         }
75                         @ferm::rule { 'dsa-syslog-v6':
76                                 domain          => 'ip6',
77                                 description     => 'Allow syslog access',
78                                 rule            => '&SERVICE_RANGE(tcp, 5140, $HOST_DEBIAN_V6)'
79                         }
80                 }
81                 kaufmann: {
82                         @ferm::rule { 'dsa-hkp':
83                                 domain          => '(ip ip6)',
84                                 description     => 'Allow hkp access',
85                                 rule            => '&SERVICE(tcp, 11371)'
86                         }
87                 }
88                 gombert: {
89                         @ferm::rule { 'dsa-infinoted':
90                                 domain          => '(ip ip6)',
91                                 description     => 'Allow infinoted access',
92                                 rule            => '&SERVICE(tcp, 6523)'
93                         }
94                 }
95                 draghi: {
96                         #@ferm::rule { 'dsa-bind':
97                         #    domain          => '(ip ip6)',
98                         #    description     => 'Allow nameserver access',
99                         #    rule            => '&TCP_UDP_SERVICE(53)'
100                         #}
101                         @ferm::rule { 'dsa-finger':
102                                 domain          => '(ip ip6)',
103                                 description     => 'Allow finger access',
104                                 rule            => '&SERVICE(tcp, 79)'
105                         }
106                         @ferm::rule { 'dsa-ldap':
107                                 domain          => '(ip ip6)',
108                                 description     => 'Allow ldap access',
109                                 rule            => '&SERVICE(tcp, 389)'
110                         }
111                         @ferm::rule { 'dsa-ldaps':
112                                 domain          => '(ip ip6)',
113                                 description     => 'Allow ldaps access',
114                                 rule            => '&SERVICE(tcp, 636)'
115                         }
116                         @ferm::rule { 'dsa-vpn':
117                                 description     => 'Allow openvpn access',
118                                 rule            => '&SERVICE(udp, 17257)'
119                         }
120                         @ferm::rule { 'dsa-routing':
121                                 description     => 'forward chain',
122                                 chain           => 'FORWARD',
123                                 rule            => 'policy ACCEPT;
124 mod state state (ESTABLISHED RELATED) ACCEPT;
125 interface tun+ ACCEPT;
126 REJECT reject-with icmp-admin-prohibited
127 '
128                         }
129                         @ferm::rule { 'dsa-vpn-mark':
130                                 table           => 'mangle',
131                                 chain           => 'PREROUTING',
132                                 rule            => 'interface tun+ MARK set-mark 1',
133                         }
134                         @ferm::rule { 'dsa-vpn-nat':
135                                 table           => 'nat',
136                                 chain           => 'POSTROUTING',
137                                 rule            => 'outerface !tun+ mod mark mark 1 MASQUERADE',
138                         }
139                 }
140                 cilea: {
141                         ferm::module { 'nf_conntrack_sip': }
142                         ferm::module { 'nf_conntrack_h323': }
143
144                         @ferm::rule { 'dsa-sip':
145                                 domain          => '(ip ip6)',
146                                 description     => 'Allow sip access',
147                                 rule            => '&TCP_UDP_SERVICE(5060)'
148                         }
149                         @ferm::rule { 'dsa-sipx':
150                                 domain          => '(ip ip6)',
151                                 description     => 'Allow sipx access',
152                                 rule            => '&TCP_UDP_SERVICE(5080)'
153                         }
154                 }
155                 unger: {
156                         @ferm::rule { 'dsa-notrack-dns-diamond-in':
157                                 domain      => 'ip',
158                                 description => 'NOTRACK for nameserver traffic',
159                                 table       => 'raw',
160                                 chain       => 'PREROUTING',
161                                 rule        => 'destination 82.195.75.108 proto (tcp udp) dport 53 jump NOTRACK'
162                         }
163                         @ferm::rule { 'dsa-notrack-dns-diamond-out':
164                                 domain      => 'ip',
165                                 description => 'NOTRACK for nameserver traffic',
166                                 table       => 'raw',
167                                 chain       => 'PREROUTING',
168                                 rule        => 'source 82.195.75.108 proto (tcp udp) sport 53 jump NOTRACK'
169                         }
170                 }
171                 sonntag: {
172                         @ferm::rule { 'dsa-bugs-search':
173                                 description  => 'port 1978 for bugs-search from bug web frontends',
174                                 rule         => '&SERVICE_RANGE(tcp, 1978, ( 140.211.166.26 206.12.19.140 ))'
175                         }
176                 }
177                 default: {}
178         }
179
180         if $::hostname in [rautavaara] {
181                 @ferm::rule { 'dsa-from-mgmt':
182                         description     => 'Traffic routed from mgmt net vlan/bridge',
183                         chain           => 'INPUT',
184                         rule            => 'interface eth1 ACCEPT'
185                 }
186                 @ferm::rule { 'dsa-mgmt-mark':
187                         table           => 'mangle',
188                         chain           => 'PREROUTING',
189                         rule            => 'interface eth1 MARK set-mark 1',
190                 }
191                 @ferm::rule { 'dsa-mgmt-nat':
192                         table           => 'nat',
193                         chain           => 'POSTROUTING',
194                         rule            => 'outerface eth1 mod mark mark 1 MASQUERADE',
195                 }
196         }
197
198         # redirect snapshot into varnish
199         case $::hostname {
200                 sibelius: {
201                         @ferm::rule { 'dsa-snapshot-varnish':
202                                 rule            => '&SERVICE(tcp, 6081)',
203                         }
204                         @ferm::rule { 'dsa-nat-snapshot-varnish':
205                                 table           => 'nat',
206                                 chain           => 'PREROUTING',
207                                 rule            => 'proto tcp daddr 193.62.202.30 dport 80 REDIRECT to-ports 6081',
208                         }
209                 }
210                 stabile: {
211                         @ferm::rule { 'dsa-snapshot-varnish':
212                                 rule            => '&SERVICE(tcp, 6081)',
213                         }
214                         @ferm::rule { 'dsa-nat-snapshot-varnish':
215                                 table           => 'nat',
216                                 chain           => 'PREROUTING',
217                                 rule            => 'proto tcp daddr 206.12.19.150 dport 80 REDIRECT to-ports 6081',
218                         }
219                 }
220                 default: {}
221         }
222         case $::hostname {
223                 bm-bl1,bm-bl2: {
224                         @ferm::rule { 'dsa-vrrp':
225                                 rule            => 'proto vrrp daddr 224.0.0.18 jump ACCEPT',
226                         }
227                         @ferm::rule { 'dsa-conntrackd':
228                                 rule            => 'interface vlan2 daddr 225.0.0.50 jump ACCEPT',
229                         }
230                 }
231                 default: {}
232         }
233
234         # postgres stuff
235         case $::hostname {
236                 grieg: {
237                         @ferm::rule { 'dsa-postgres-ullmann':
238                                 description     => 'Allow postgress access',
239                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 206.12.19.141/32 ))'
240                         }
241                         @ferm::rule { 'dsa-postgres-ullmann6':
242                                 domain          => '(ip6)',
243                                 description     => 'Allow postgress access',
244                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 2607:f8f0:610:4000:6564:a62:ce0c:138d/128 ))'
245                         }
246                 }
247                 franck: {
248                         @ferm::rule { 'dsa-postgres-franck':
249                                 description     => 'Allow postgress access',
250                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 5.153.231.10/32 ))'
251                         }
252                         @ferm::rule { 'dsa-postgres-franck6':
253                                 domain          => 'ip6',
254                                 description     => 'Allow postgress access',
255                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 2001:41c8:1000:21::21:10/128 ))'
256                         }
257                 }
258                 bmdb1: {
259                         @ferm::rule { 'dsa-postgres-dak':
260                                 description     => 'Allow postgress access',
261                                 rule            => '&SERVICE_RANGE(tcp, 5434, ( 5.153.231.11/32 ))'
262                         }
263                         @ferm::rule { 'dsa-postgres-dak':
264                                 domain          => 'ip6',
265                                 description     => 'Allow postgress access',
266                                 rule            => '&SERVICE_RANGE(tcp, 5434, ( 2001:41c8:1000:21::21:11/128 ))'
267                         }
268                 }
269                 danzi: {
270                         @ferm::rule { 'dsa-postgres-danzi':
271                                 description     => 'Allow postgress access',
272                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 206.12.19.0/24 194.177.211.200/32 ))'
273                         }
274                         @ferm::rule { 'dsa-postgres-danzi6':
275                                 domain          => 'ip6',
276                                 description     => 'Allow postgress access',
277                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 2607:f8f0:610:4000::/64 2001:648:2ffc:deb:214:22ff:fe74:1fa/128 ))'
278                         }
279
280                         @ferm::rule { 'dsa-postgres2-danzi':
281                                 description     => 'Allow postgress access2',
282                                 rule            => '&SERVICE_RANGE(tcp, 5437, ( 206.12.19.0/24 ))'
283                         }
284                         @ferm::rule { 'dsa-postgres3-danzi':
285                                 description     => 'Allow postgress access3',
286                                 rule            => '&SERVICE_RANGE(tcp, 5436, ( 206.12.19.0/24 ))'
287                         }
288                         @ferm::rule { 'dsa-postgres4-danzi':
289                                 description     => 'Allow postgress access4',
290                                 rule            => '&SERVICE_RANGE(tcp, 5438, ( 206.12.19.0/24 ))'
291                         }
292
293                         @ferm::rule { 'dsa-postgres-bacula-danzi':
294                                 description     => 'Allow postgress access1',
295                                 rule            => '&SERVICE_RANGE(tcp, 5434, ( 206.12.19.139/32 ))'
296                         }
297                         @ferm::rule { 'dsa-postgres-bacula-danzi6':
298                                 domain          => 'ip6',
299                                 description     => 'Allow postgress access1',
300                                 rule            => '&SERVICE_RANGE(tcp, 5434, ( 2607:f8f0:610:4000:6564:a62:ce0c:138b/128 ))'
301                         }
302                 }
303         }
304 }