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