Merge branch 'master' of git+ssh://puppet.debian.org/srv/puppet.debian.org/git/dsa...
[mirror/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,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: {
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     }
132
133     case $hostname { rautavaara,luchesi: {
134         @ferm::rule { "dsa-to-kfreebsd":
135             description     => "Traffic routed to kfreebsd hosts",
136             chain           => 'to-kfreebsd',
137             rule            => 'proto icmp ACCEPT;
138                                 source ($FREEBSD_SSH_ACCESS $HOST_NAGIOS_V4) proto tcp dport 22 ACCEPT;
139                                 source ($HOST_MAILRELAY_V4 $HOST_NAGIOS_V4) proto tcp dport 25 ACCEPT;
140                                 source ($HOST_MUNIN_V4 $HOST_NAGIOS_V4) proto tcp dport 4949 ACCEPT;
141                                 source ($HOST_NAGIOS_V4) proto tcp dport 5666 ACCEPT;
142                                 source ($HOST_NAGIOS_V4) proto udp dport ntp ACCEPT
143                                '
144         }
145         @ferm::rule { "dsa-from-kfreebsd":
146             description     => "Traffic routed from kfreebsd vlan/bridge",
147             chain           => 'from-kfreebsd',
148             rule            => 'proto icmp ACCEPT;
149                                 proto tcp dport (21 22 80 53 443) ACCEPT;
150                                 proto udp dport (53 123) ACCEPT;
151                                 proto tcp dport 8140 daddr 82.195.75.104 ACCEPT; # puppethost
152                                 proto tcp dport 5140 daddr (82.195.75.98 206.12.19.121) ACCEPT; # loghost
153                                 proto tcp dport (25 submission) daddr ($HOST_MAILRELAY_V4) ACCEPT
154                                '
155         }
156     }}
157     case $hostname {
158         rautavaara: {
159             @ferm::rule { "dsa-routing":
160                 description     => "forward chain",
161                 chain           => "FORWARD",
162                 rule            => '
163                                     def $ADDRESS_FASCH=194.177.211.201;
164                                     def $ADDRESS_FIELD=194.177.211.210;
165                                     def $FREEBSD_HOSTS=($ADDRESS_FASCH $ADDRESS_FIELD);
166
167                                     policy ACCEPT;
168                                     mod state state (ESTABLISHED RELATED) ACCEPT;
169                                     interface vlan11 outerface eth0 jump from-kfreebsd;
170                                     interface eth0 destination ($FREEBSD_HOSTS) jump to-kfreebsd;
171                                     ULOG ulog-prefix "REJECT FORWARD: ";
172                                     REJECT reject-with icmp-admin-prohibited
173                                     '
174             }
175         }
176         luchesi: {
177             @ferm::rule { "dsa-routing":
178                 description     => "forward chain",
179                 chain           => "FORWARD",
180                 rule            => '
181                                     def $ADDRESS_FANO=206.12.19.110;
182                                     def $ADDRESS_FINZI=206.12.19.111;
183                                     def $FREEBSD_HOSTS=($ADDRESS_FANO $ADDRESS_FINZI);
184
185                                     policy ACCEPT;
186                                     mod state state (ESTABLISHED RELATED) ACCEPT;
187                                     interface br0 outerface br0 ACCEPT;
188
189                                     interface br2 outerface br0 jump from-kfreebsd;
190                                     interface br0 destination ($FREEBSD_HOSTS) jump to-kfreebsd;
191                                     ULOG ulog-prefix "REJECT FORWARD: ";
192                                     REJECT reject-with icmp-admin-prohibited
193                                     '
194             }
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     }
221 }
222
223 # vim:set et:
224 # vim:set sts=4 ts=4:
225 # vim:set shiftwidth=4: