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