Switch to LE certs for sip / repro
[mirror/dsa-puppet.git] / modules / roles / manifests / rtc.pp
1 class roles::rtc {
2
3         ssl::service { 'debian.org':
4                 tlsaport => [],
5                 notify  => Service['repro'],
6                 key => true,
7         }
8
9         ssl::service { 'sip-ws.debian.org':
10                 key => true,
11         }
12
13         dnsextras::tlsa_record{ 'tlsa-xmpp':
14                 zone     => 'debian.org',
15                 certfile => "/etc/puppet/modules/ssl/files/servicecerts/www.debian.org.crt",
16                 port     => [5061, 5222, 5269],
17                 hostname => $::fqdn,
18         }
19
20         @ferm::rule { 'dsa-xmpp-client-ip4':
21                 domain      => 'ip',
22                 description => 'XMPP connections (client to server)',
23                 rule        => 'proto tcp dport (5222) ACCEPT'
24         }
25         @ferm::rule { 'dsa-xmpp-client-ip6':
26                 domain      => 'ip6',
27                 description => 'XMPP connections (client to server)',
28                 rule        => 'proto tcp dport (5222) ACCEPT'
29         }
30         @ferm::rule { 'dsa-xmpp-server-ip4':
31                 domain      => 'ip',
32                 description => 'XMPP connections (server to server)',
33                 rule        => 'proto tcp dport (5269) ACCEPT'
34         }
35         @ferm::rule { 'dsa-xmpp-server-ip6':
36                 domain      => 'ip6',
37                 description => 'XMPP connections (server to server)',
38                 rule        => 'proto tcp dport (5269) ACCEPT'
39         }
40
41         @ferm::rule { 'dsa-sip-ws-ip4':
42                 domain      => 'ip',
43                 description => 'SIP connections (WebSocket; for WebRTC)',
44                 rule        => 'proto tcp dport (443) ACCEPT'
45         }
46         @ferm::rule { 'dsa-sip-ws-ip6':
47                 domain      => 'ip6',
48                 description => 'SIP connections (WebSocket; for WebRTC)',
49                 rule        => 'proto tcp dport (443) ACCEPT'
50         }
51         @ferm::rule { 'dsa-sip-tls-ip4':
52                 domain      => 'ip',
53                 description => 'SIP connections (TLS)',
54                 rule        => 'proto tcp dport (5061) ACCEPT'
55         }
56         @ferm::rule { 'dsa-sip-tls-ip6':
57                 domain      => 'ip6',
58                 description => 'SIP connections (TLS)',
59                 rule        => 'proto tcp dport (5061) ACCEPT'
60         }
61         @ferm::rule { 'dsa-turn-ip4':
62                 domain      => 'ip',
63                 description => 'TURN connections',
64                 rule        => 'proto udp dport (3478) ACCEPT'
65         }
66         @ferm::rule { 'dsa-turn-ip6':
67                 domain      => 'ip6',
68                 description => 'TURN connections',
69                 rule        => 'proto udp dport (3478) ACCEPT'
70         }
71         @ferm::rule { 'dsa-turn-tls-ip4':
72                 domain      => 'ip',
73                 description => 'TURN connections (TLS)',
74                 rule        => 'proto tcp dport (5349) ACCEPT'
75         }
76         @ferm::rule { 'dsa-turn-tls-ip6':
77                 domain      => 'ip6',
78                 description => 'TURN connections (TLS)',
79                 rule        => 'proto tcp dport (5349) ACCEPT'
80         }
81         @ferm::rule { 'dsa-rtp-ip4':
82                 domain      => 'ip',
83                 description => 'RTP streams',
84                 rule        => 'proto udp dport (49152:65535) ACCEPT'
85         }
86         @ferm::rule { 'dsa-rtp-ip6':
87                 domain      => 'ip6',
88                 description => 'RTP streams',
89                 rule        => 'proto udp dport (49152:65535) ACCEPT'
90         }
91
92         file { '/etc/monit/monit.d/50rtc':
93                 ensure  => absent,
94         }
95
96         service { 'repro':
97                 ensure  => running,
98         }
99 }