]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/ferm/manifests/per-host.pp
massive style guide fixups
[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 [chopin,franck,gluck,kassia,klecker,lobos,morricone,ravel,ries,rietz,saens,schein,santoro,steffani,valente,villa,wieck,stabile,bizet] {
7                 include ferm::ftp
8         }
9
10         case $::hostname {
11                 piatti,samosa: {
12                         @ferm::rule { 'dsa-udd-stunnel':
13                                 description  => 'port 8080 for udd stunnel',
14                                 rule         => '&SERVICE_RANGE(tcp, http-alt, ( 192.25.206.16 70.103.162.29 217.196.43.134 ))'
15                         }
16                 }
17                 danzi: {
18                         @ferm::rule { 'dsa-postgres-danzi':
19                                 description     => 'Allow postgress access',
20                                 rule            => '&SERVICE_RANGE(tcp, 5433, ( 206.12.19.0/24 ))'
21                         }
22                         @ferm::rule { 'dsa-postgres2-danzi':
23                                 description     => 'Allow postgress access2',
24                                 rule            => '&SERVICE_RANGE(tcp, 5437, ( 206.12.19.0/24 ))'
25                         }
26                         @ferm::rule { 'dsa-postgres3-danzi':
27                                 description     => 'Allow postgress access2',
28                                 rule            => '&SERVICE_RANGE(tcp, 5436, ( 206.12.19.0/24 ))'
29                         }
30                 }
31                 abel,alwyn,rietz: {
32                         @ferm::rule { 'dsa-tftp':
33                                 description     => 'Allow tftp access',
34                                 rule            => '&SERVICE(udp, 69)'
35                         }
36                 }
37                 paganini: {
38                         @ferm::rule { 'dsa-dhcp':
39                                 description     => 'Allow dhcp access',
40                                 rule            => '&SERVICE(udp, 67)'
41                         }
42                         @ferm::rule { 'dsa-tftp':
43                                 description     => 'Allow tftp access',
44                                 rule            => '&SERVICE(udp, 69)'
45                         }
46                 }
47                 handel: {
48                         @ferm::rule { 'dsa-puppet':
49                                 description     => 'Allow puppet access',
50                                 rule            => '&SERVICE_RANGE(tcp, 8140, \$HOST_DEBIAN_V4)'
51                         }
52                         @ferm::rule { 'dsa-puppet-v6':
53                                 domain          => 'ip6',
54                                 description     => 'Allow puppet access',
55                                 rule            => '&SERVICE_RANGE(tcp, 8140, \$HOST_DEBIAN_V6)'
56                         }
57                 }
58                 powell: {
59                         @ferm::rule { 'dsa-powell-v6-tunnel':
60                                 description     => 'Allow powell to use V6 tunnel broker',
61                                 rule            => 'proto ipv6 saddr 212.227.117.6 jump ACCEPT'
62                         }
63                         @ferm::rule { 'dsa-powell-btseed':
64                                 domain          => '(ip ip6)',
65                                 description     => 'Allow powell to seed BT',
66                                 rule            => 'proto tcp dport 8000:8100 jump ACCEPT'
67                         }
68                 }
69                 heininen,lotti: {
70                         @ferm::rule { 'dsa-syslog':
71                                 description     => 'Allow syslog access',
72                                 rule            => '&SERVICE_RANGE(tcp, 5140, \$HOST_DEBIAN_V4)'
73                         }
74                         @ferm::rule { 'dsa-syslog-v6':
75                                 domain          => 'ip6',
76                                 description     => 'Allow syslog access',
77                                 rule            => '&SERVICE_RANGE(tcp, 5140, \$HOST_DEBIAN_V6)'
78                         }
79                 }
80                 kaufmann: {
81                         @ferm::rule { 'dsa-hkp':
82                                 domain          => '(ip ip6)',
83                                 description     => 'Allow hkp access',
84                                 rule            => '&SERVICE(tcp, 11371)'
85                         }
86                 }
87                 gombert: {
88                         @ferm::rule { 'dsa-infinoted':
89                                 domain          => '(ip ip6)',
90                                 description     => 'Allow infinoted access',
91                                 rule            => '&SERVICE(tcp, 6523)'
92                         }
93                 }
94                 bendel,liszt: {
95                         @ferm::rule { 'smtp':
96                                 domain          => '(ip ip6)',
97                                 description     => 'Allow smtp access',
98                                 rule            => '&SERVICE(tcp, 25)'
99                         }
100                 }
101                 draghi: {
102                         #@ferm::rule { 'dsa-bind':
103                         #    domain          => '(ip ip6)',
104                         #    description     => 'Allow nameserver access',
105                         #    rule            => '&TCP_UDP_SERVICE(53)'
106                         #}
107                         @ferm::rule { 'dsa-finger':
108                                 domain          => '(ip ip6)',
109                                 description     => 'Allow finger access',
110                                 rule            => '&SERVICE(tcp, 79)'
111                         }
112                         @ferm::rule { 'dsa-ldap':
113                                 domain          => '(ip ip6)',
114                                 description     => 'Allow ldap access',
115                                 rule            => '&SERVICE(tcp, 389)'
116                         }
117                         @ferm::rule { 'dsa-ldaps':
118                                 domain          => '(ip ip6)',
119                                 description     => 'Allow ldaps access',
120                                 rule            => '&SERVICE(tcp, 636)'
121                         }
122                 }
123                 cilea: {
124                         file {
125                                 '/etc/ferm/conf.d/load_sip_conntrack.conf':
126                                         source => 'puppet:///modules/ferm/conntrack_sip.conf',
127                                         require => Package['ferm'],
128                                         notify  => Exec['ferm restart'];
129                         }
130                         @ferm::rule { 'dsa-sip':
131                                 domain          => '(ip ip6)',
132                                 description     => 'Allow sip access',
133                                 rule            => '&TCP_UDP_SERVICE(5060)'
134                         }
135                         @ferm::rule { 'dsa-sipx':
136                                 domain          => '(ip ip6)',
137                                 description     => 'Allow sipx access',
138                                 rule            => '&TCP_UDP_SERVICE(5080)'
139                         }
140                 }
141                 scelsi: {
142                         @ferm::rule { 'dc11-icecast':
143                                 domain          => '(ip ip6)',
144                                 description     => 'Allow icecast access',
145                                 rule            => '&SERVICE(tcp, 8000)'
146                         }
147                 }
148                 default: {}
149         }
150
151         if $::hostname in [rautavaara,luchesi] {
152                 @ferm::rule { 'dsa-to-kfreebsd':
153                         description     => 'Traffic routed to kfreebsd hosts',
154                         chain           => 'to-kfreebsd',
155                         rule            => 'proto icmp ACCEPT;
156 source ($FREEBSD_SSH_ACCESS $HOST_NAGIOS_V4) proto tcp dport 22 ACCEPT;
157 source ($HOST_MAILRELAY_V4 $HOST_NAGIOS_V4) proto tcp dport 25 ACCEPT;
158 source ($HOST_MUNIN_V4 $HOST_NAGIOS_V4) proto tcp dport 4949 ACCEPT;
159 source ($HOST_NAGIOS_V4) proto tcp dport 5666 ACCEPT;
160 source ($HOST_NAGIOS_V4) proto udp dport ntp ACCEPT
161 '
162                 }
163                 @ferm::rule { 'dsa-from-kfreebsd':
164                         description     => 'Traffic routed from kfreebsd vlan/bridge',
165                         chain           => 'from-kfreebsd',
166                         rule            => 'proto icmp ACCEPT;
167 proto tcp dport (21 22 80 53 443) ACCEPT;
168 proto udp dport (53 123) ACCEPT;
169 proto tcp dport 8140 daddr 82.195.75.104 ACCEPT; # puppethost
170 proto tcp dport 5140 daddr (82.195.75.98 206.12.19.121) ACCEPT; # loghost
171 proto tcp dport 11371 daddr 82.195.75.107 ACCEPT; # keyring host
172 proto tcp dport (25 submission) daddr ($HOST_MAILRELAY_V4) ACCEPT
173 '
174                 }
175         }
176         case $::hostname {
177                 rautavaara: {
178                         @ferm::rule { 'dsa-routing':
179                                 description     => 'forward chain',
180                                 chain           => 'FORWARD',
181                                 rule            => 'def $ADDRESS_FASCH=194.177.211.201;
182 def $ADDRESS_FIELD=194.177.211.210;
183 def $FREEBSD_HOSTS=($ADDRESS_FASCH $ADDRESS_FIELD);
184
185 policy ACCEPT;
186 mod state state (ESTABLISHED RELATED) ACCEPT;
187 interface vlan11 outerface eth0 jump from-kfreebsd;
188 interface eth0 destination ($FREEBSD_HOSTS) jump to-kfreebsd;
189 ULOG ulog-prefix "REJECT FORWARD: ";
190 REJECT reject-with icmp-admin-prohibited
191 '
192                         }
193                 }
194                 luchesi: {
195                         @ferm::rule { 'dsa-routing':
196                                 description     => 'forward chain',
197                                 chain           => 'FORWARD',
198                                 rule            => 'def $ADDRESS_FANO=206.12.19.110;
199 def $ADDRESS_FINZI=206.12.19.111;
200 def $FREEBSD_HOSTS=($ADDRESS_FANO $ADDRESS_FINZI);
201
202 policy ACCEPT;
203 mod state state (ESTABLISHED RELATED) ACCEPT;
204 interface br0 outerface br0 ACCEPT;
205
206 interface br2 outerface br0 jump from-kfreebsd;
207 interface br0 destination ($FREEBSD_HOSTS) jump to-kfreebsd;
208 ULOG ulog-prefix "REJECT FORWARD: ";
209 REJECT reject-with icmp-admin-prohibited
210 '
211                         }
212                 }
213                 default: {}
214         }
215
216         # redirect snapshot into varnish
217         case $::hostname {
218                 sibelius: {
219                         @ferm::rule { 'dsa-snapshot-varnish':
220                                 rule            => '&SERVICE(tcp, 6081)',
221                         }
222                         @ferm::rule { 'dsa-nat-snapshot-varnish':
223                                 table           => 'nat',
224                                 chain           => 'PREROUTING',
225                                 rule            => 'proto tcp daddr 193.62.202.30 dport 80 REDIRECT to-ports 6081',
226                         }
227                 }
228                 stabile: {
229                         @ferm::rule { 'dsa-snapshot-varnish':
230                                 rule            => '&SERVICE(tcp, 6081)',
231                         }
232                         @ferm::rule { 'dsa-nat-snapshot-varnish':
233                                 table           => 'nat',
234                                 chain           => 'PREROUTING',
235                                 rule            => 'proto tcp daddr 206.12.19.150 dport 80 REDIRECT to-ports 6081',
236                         }
237                 }
238                 default: {}
239         }
240
241         if $::rsyncd == true {
242                 include ferm::rsync
243         }
244 }