]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/ferm/manifests/per-host.pp
pg access quantz->ullmann
[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 [klecker,merikanto,powell,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                 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                 ullmann: {
22                         @ferm::rule { 'dsa-postgres-quantz':
23                                 description     => 'Allow postgress access',
24                                 rule            => '&SERVICE_RANGE(tcp, 5452, ( 206.12.19.122/32 ))'
25                         }
26                         @ferm::rule { 'dsa-postgres-quantz6':
27                                 domain          => '(ip6)',
28                                 description     => 'Allow postgress access',
29                                 rule            => '&SERVICE_RANGE(tcp, 5452, ( 2607:f8f0:610:4000:216:36ff:fe40:3860/128 ))'
30                         }
31                 }
32                 grieg: {
33                         @ferm::rule { 'dsa-postgres-ullmann':
34                                 description     => 'Allow postgress access',
35                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 206.12.19.141/32 ))'
36                         }
37                         @ferm::rule { 'dsa-postgres-ullmann6':
38                                 domain          => '(ip6)',
39                                 description     => 'Allow postgress access',
40                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 2607:f8f0:610:4000:6564:a62:ce0c:138d/128 ))'
41                         }
42                 }
43                 danzi: {
44                         @ferm::rule { 'dsa-postgres-danzi':
45                                 description     => 'Allow postgress access',
46                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 206.12.19.0/24 ))'
47                         }
48                         @ferm::rule { 'dsa-postgres2-danzi':
49                                 description     => 'Allow postgress access2',
50                                 rule            => '&SERVICE_RANGE(tcp, 5437, ( 206.12.19.0/24 ))'
51                         }
52                         @ferm::rule { 'dsa-postgres3-danzi':
53                                 description     => 'Allow postgress access3',
54                                 rule            => '&SERVICE_RANGE(tcp, 5436, ( 206.12.19.0/24 ))'
55                         }
56                         @ferm::rule { 'dsa-postgres4-danzi':
57                                 description     => 'Allow postgress access4',
58                                 rule            => '&SERVICE_RANGE(tcp, 5438, ( 206.12.19.0/24 ))'
59                         }
60                 }
61                 abel,alwyn,rietz: {
62                         @ferm::rule { 'dsa-tftp':
63                                 description     => 'Allow tftp access',
64                                 rule            => '&SERVICE(udp, 69)'
65                         }
66                 }
67                 paganini: {
68                         @ferm::rule { 'dsa-dhcp':
69                                 description     => 'Allow dhcp access',
70                                 rule            => '&SERVICE(udp, 67)'
71                         }
72                         @ferm::rule { 'dsa-tftp':
73                                 description     => 'Allow tftp access',
74                                 rule            => '&SERVICE(udp, 69)'
75                         }
76                 }
77                 powell: {
78                         @ferm::rule { 'dsa-powell-v6-tunnel':
79                                 description     => 'Allow powell to use V6 tunnel broker',
80                                 rule            => 'proto ipv6 saddr 212.227.117.6 jump ACCEPT'
81                         }
82                         @ferm::rule { 'dsa-powell-btseed':
83                                 domain          => '(ip ip6)',
84                                 description     => 'Allow powell to seed BT',
85                                 rule            => 'proto tcp dport 8000:8100 jump ACCEPT'
86                         }
87                 }
88                 lotti,lully: {
89                         @ferm::rule { 'dsa-syslog':
90                                 description     => 'Allow syslog access',
91                                 rule            => '&SERVICE_RANGE(tcp, 5140, $HOST_DEBIAN_V4)'
92                         }
93                         @ferm::rule { 'dsa-syslog-v6':
94                                 domain          => 'ip6',
95                                 description     => 'Allow syslog access',
96                                 rule            => '&SERVICE_RANGE(tcp, 5140, $HOST_DEBIAN_V6)'
97                         }
98                 }
99                 kaufmann: {
100                         @ferm::rule { 'dsa-hkp':
101                                 domain          => '(ip ip6)',
102                                 description     => 'Allow hkp access',
103                                 rule            => '&SERVICE(tcp, 11371)'
104                         }
105                 }
106                 gombert: {
107                         @ferm::rule { 'dsa-infinoted':
108                                 domain          => '(ip ip6)',
109                                 description     => 'Allow infinoted access',
110                                 rule            => '&SERVICE(tcp, 6523)'
111                         }
112                 }
113                 draghi: {
114                         #@ferm::rule { 'dsa-bind':
115                         #    domain          => '(ip ip6)',
116                         #    description     => 'Allow nameserver access',
117                         #    rule            => '&TCP_UDP_SERVICE(53)'
118                         #}
119                         @ferm::rule { 'dsa-finger':
120                                 domain          => '(ip ip6)',
121                                 description     => 'Allow finger access',
122                                 rule            => '&SERVICE(tcp, 79)'
123                         }
124                         @ferm::rule { 'dsa-ldap':
125                                 domain          => '(ip ip6)',
126                                 description     => 'Allow ldap access',
127                                 rule            => '&SERVICE(tcp, 389)'
128                         }
129                         @ferm::rule { 'dsa-ldaps':
130                                 domain          => '(ip ip6)',
131                                 description     => 'Allow ldaps access',
132                                 rule            => '&SERVICE(tcp, 636)'
133                         }
134                 }
135                 cilea: {
136                         ferm::module { 'nf_conntrack_sip': }
137                         ferm::module { 'nf_conntrack_h323': }
138
139                         @ferm::rule { 'dsa-sip':
140                                 domain          => '(ip ip6)',
141                                 description     => 'Allow sip access',
142                                 rule            => '&TCP_UDP_SERVICE(5060)'
143                         }
144                         @ferm::rule { 'dsa-sipx':
145                                 domain          => '(ip ip6)',
146                                 description     => 'Allow sipx access',
147                                 rule            => '&TCP_UDP_SERVICE(5080)'
148                         }
149                 }
150                 scelsi: {
151                         @ferm::rule { 'dc11-icecast':
152                                 domain          => '(ip ip6)',
153                                 description     => 'Allow icecast access',
154                                 rule            => '&SERVICE(tcp, 8000)'
155                         }
156                 }
157                 default: {}
158         }
159
160         if $::hostname in [rautavaara,luchesi] {
161                 @ferm::rule { 'dsa-to-kfreebsd':
162                         description     => 'Traffic routed to kfreebsd hosts',
163                         chain           => 'to-kfreebsd',
164                         rule            => 'proto icmp ACCEPT;
165 source ($FREEBSD_SSH_ACCESS $HOST_NAGIOS_V4) proto tcp dport 22 ACCEPT;
166 source ($HOST_MAILRELAY_V4 $HOST_NAGIOS_V4) proto tcp dport 25 ACCEPT;
167 source ($HOST_MUNIN_V4 $HOST_NAGIOS_V4) proto tcp dport 4949 ACCEPT;
168 source ($HOST_NAGIOS_V4) proto tcp dport 5666 ACCEPT;
169 source ($HOST_NAGIOS_V4) proto udp dport ntp ACCEPT
170 '
171                 }
172                 @ferm::rule { 'dsa-from-kfreebsd':
173                         description     => 'Traffic routed from kfreebsd vlan/bridge',
174                         chain           => 'from-kfreebsd',
175                         rule            => 'proto icmp ACCEPT;
176 proto tcp dport (21 22 80 53 443) ACCEPT;
177 proto udp dport (53 123) ACCEPT;
178 proto tcp dport 8140 daddr 82.195.75.104 ACCEPT; # puppethost
179 proto tcp dport 5140 daddr (82.195.75.99 206.12.19.121) ACCEPT; # loghost
180 proto tcp dport 11371 daddr 82.195.75.107 ACCEPT; # keyring host
181 proto tcp dport (25 submission) daddr ($HOST_MAILRELAY_V4) ACCEPT
182 '
183                 }
184         }
185         case $::hostname {
186                 rautavaara: {
187                         @ferm::rule { 'dsa-routing':
188                                 description     => 'forward chain',
189                                 chain           => 'FORWARD',
190                                 rule            => 'def $ADDRESS_FASCH=194.177.211.201;
191 def $ADDRESS_FIELD=194.177.211.210;
192 def $FREEBSD_HOSTS=($ADDRESS_FASCH $ADDRESS_FIELD);
193
194 policy ACCEPT;
195 mod state state (ESTABLISHED RELATED) ACCEPT;
196 interface vlan11 outerface eth0 jump from-kfreebsd;
197 interface eth0 destination ($FREEBSD_HOSTS) jump to-kfreebsd;
198 ULOG ulog-prefix "REJECT FORWARD: ";
199 REJECT reject-with icmp-admin-prohibited
200 '
201                         }
202                 }
203                 luchesi: {
204                         @ferm::rule { 'dsa-routing':
205                                 description     => 'forward chain',
206                                 chain           => 'FORWARD',
207                                 rule            => 'def $ADDRESS_FANO=206.12.19.110;
208 def $ADDRESS_FINZI=206.12.19.111;
209 def $ADDRESS_FISCHER=206.12.19.112;
210 def $ADDRESS_FALLA=206.12.19.117;
211 def $FREEBSD_HOSTS=($ADDRESS_FANO $ADDRESS_FINZI $ADDRESS_FISCHER $ADDRESS_FALLA);
212
213 policy ACCEPT;
214 mod state state (ESTABLISHED RELATED) ACCEPT;
215 interface br0 outerface br0 ACCEPT;
216 interface br1 outerface br1 ACCEPT;
217
218 interface br2 outerface br0 jump from-kfreebsd;
219 interface br0 destination ($ADDRESS_FISCHER $ADDRESS_FALLA) proto tcp dport 22 ACCEPT;
220 interface br0 destination ($FREEBSD_HOSTS) jump to-kfreebsd;
221 ULOG ulog-prefix "REJECT FORWARD: ";
222 REJECT reject-with icmp-admin-prohibited
223 '
224                         }
225                 }
226                 default: {}
227         }
228
229         # redirect snapshot into varnish
230         case $::hostname {
231                 sibelius: {
232                         @ferm::rule { 'dsa-snapshot-varnish':
233                                 rule            => '&SERVICE(tcp, 6081)',
234                         }
235                         @ferm::rule { 'dsa-nat-snapshot-varnish':
236                                 table           => 'nat',
237                                 chain           => 'PREROUTING',
238                                 rule            => 'proto tcp daddr 193.62.202.30 dport 80 REDIRECT to-ports 6081',
239                         }
240                 }
241                 stabile: {
242                         @ferm::rule { 'dsa-snapshot-varnish':
243                                 rule            => '&SERVICE(tcp, 6081)',
244                         }
245                         @ferm::rule { 'dsa-nat-snapshot-varnish':
246                                 table           => 'nat',
247                                 chain           => 'PREROUTING',
248                                 rule            => 'proto tcp daddr 206.12.19.150 dport 80 REDIRECT to-ports 6081',
249                         }
250                 }
251                 default: {}
252         }
253 }