author | Kim Alvefur <zash@zash.se> |
Sat, 14 Nov 2015 14:36:07 +0100 | |
changeset 1954 | f118e419a712 |
parent 1842 | 1c6d04f012e9 |
child 1964 | 5f68a8928722 |
permissions | -rw-r--r-- |
1807 | 1 |
--- |
2 |
labels: |
|
3 |
- 'Stage-Alpha' |
|
4 |
- 'Type-S2SAuth' |
|
5 |
summary: S2S authentication using DANE |
|
6 |
... |
|
7 |
||
8 |
Introduction |
|
1840
5113f8ff6712
mod_s2s_auth_dane/README: Bump heading levels (modules.prosody.im decreases them one step) and fix some missing spaces
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
9 |
============ |
1807 | 10 |
|
1954
f118e419a712
mod_s2s_auth_dane/README: Add missing whitespace
Kim Alvefur <zash@zash.se>
parents:
1842
diff
changeset
|
11 |
This module implements DANE as described in [Using DNS Security |
1807 | 12 |
Extensions (DNSSEC) and DNS-based Authentication of Named Entities |
13 |
(DANE) as a Prooftype for XMPP Domain Name |
|
14 |
Associations](http://tools.ietf.org/html/draft-miller-xmpp-dnssec-prooftype). |
|
15 |
||
16 |
Dependencies |
|
1840
5113f8ff6712
mod_s2s_auth_dane/README: Bump heading levels (modules.prosody.im decreases them one step) and fix some missing spaces
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
17 |
============ |
1807 | 18 |
|
1842
1c6d04f012e9
mod_s2s_auth_dane/README: Note about LuaSec
Kim Alvefur <zash@zash.se>
parents:
1841
diff
changeset
|
19 |
This module requires a DNSSEC aware DNS resolver. Prosodys internal DNS |
1c6d04f012e9
mod_s2s_auth_dane/README: Note about LuaSec
Kim Alvefur <zash@zash.se>
parents:
1841
diff
changeset
|
20 |
module does not support DNSSEC. Therefore, to use this module, a |
1c6d04f012e9
mod_s2s_auth_dane/README: Note about LuaSec
Kim Alvefur <zash@zash.se>
parents:
1841
diff
changeset
|
21 |
replacement is needed, such as [this |
1807 | 22 |
one](https://www.zash.se/luaunbound.html). |
23 |
||
1842
1c6d04f012e9
mod_s2s_auth_dane/README: Note about LuaSec
Kim Alvefur <zash@zash.se>
parents:
1841
diff
changeset
|
24 |
LuaSec 0.5 or later is also required. |
1807 | 25 |
|
26 |
Configuration |
|
1840
5113f8ff6712
mod_s2s_auth_dane/README: Bump heading levels (modules.prosody.im decreases them one step) and fix some missing spaces
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
27 |
============= |
1807 | 28 |
|
29 |
After [installing the |
|
30 |
module](https://prosody.im/doc/installing_modules), just add it to |
|
31 |
`modules_enabled`; |
|
32 |
||
33 |
modules_enabled = { |
|
34 |
... |
|
35 |
"s2s_auth_dane"; |
|
36 |
} |
|
37 |
||
1841
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
38 |
DANE Uses |
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
39 |
--------- |
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
40 |
|
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
41 |
By default, only DANE uses are enabled. |
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
42 |
|
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
43 |
dane_uses = { "DANE-EE", "DANE-TA" } |
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
44 |
|
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
45 |
Use flag Description |
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
46 |
----------- ------------------------------------------------------------------------------------------------------- |
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
47 |
`DANE-EE` Most simple use, usually a fingerprint of the full certificate or public key used the service |
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
48 |
`DANE-TA` Fingerprint of a certificate or public key that has been used to issue the service certificate |
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
49 |
`PKIX-EE` Like `DANE-EE` but the certificate must also pass normal PKIX trust checks (ie standard certificates) |
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
50 |
`PKIX-TA` Like `DANE-TA` but must also pass normal PKIX trust checks (ie standard certificates) |
6a3b48eded35
mod_s2s_auth_dane/README: Describe DANE uses
Kim Alvefur <zash@zash.se>
parents:
1840
diff
changeset
|
51 |
|
1807 | 52 |
DNS Setup |
1840
5113f8ff6712
mod_s2s_auth_dane/README: Bump heading levels (modules.prosody.im decreases them one step) and fix some missing spaces
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
53 |
========= |
1807 | 54 |
|
1842
1c6d04f012e9
mod_s2s_auth_dane/README: Note about LuaSec
Kim Alvefur <zash@zash.se>
parents:
1841
diff
changeset
|
55 |
In order for other services to verify your site using using this plugin, |
1c6d04f012e9
mod_s2s_auth_dane/README: Note about LuaSec
Kim Alvefur <zash@zash.se>
parents:
1841
diff
changeset
|
56 |
you need to publish TLSA records (and they need to have this plugin). |
1c6d04f012e9
mod_s2s_auth_dane/README: Note about LuaSec
Kim Alvefur <zash@zash.se>
parents:
1841
diff
changeset
|
57 |
Here's an example using `DANE-EE Cert SHA2-256` for a host named |
1c6d04f012e9
mod_s2s_auth_dane/README: Note about LuaSec
Kim Alvefur <zash@zash.se>
parents:
1841
diff
changeset
|
58 |
`xmpp.example.com` serving the domain `example.com`. |
1807 | 59 |
|
60 |
$ORIGIN example.com. |
|
61 |
; Your standard SRV record |
|
62 |
_xmpp-server._tcp.example.com IN SRV 0 0 5269 xmpp.example.com. |
|
63 |
; IPv4 and IPv6 addresses |
|
64 |
xmpp.example.com. IN A 192.0.2.68 |
|
65 |
xmpp.example.com. IN AAAA 2001:0db8:0000:0000:4441:4e45:544c:5341 |
|
66 |
||
67 |
; The DANE TLSA records. These three are equivalent, you would use only one of them. |
|
68 |
; First, using symbolic names: |
|
69 |
_5269._tcp.xmpp.example.com. 300 IN TLSA DANE-EE Cert SHA2-256 E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 |
|
70 |
; Using numbers: |
|
71 |
_5269._tcp.xmpp.example.com. 300 IN TLSA 3 0 1 E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 |
|
72 |
; Raw binary format, should work even with very old DNS tools: |
|
73 |
_5269._tcp.xmpp.example.com. 300 IN TYPE52 \# 35 030001E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 |
|
74 |
||
75 |
[List of DNSSEC and DANE |
|
76 |
tools](http://www.internetsociety.org/deploy360/dnssec/tools/) |
|
77 |
||
78 |
Further reading |
|
1840
5113f8ff6712
mod_s2s_auth_dane/README: Bump heading levels (modules.prosody.im decreases them one step) and fix some missing spaces
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
79 |
=============== |
1807 | 80 |
|
81 |
- [DANE TLSA implementation and operational |
|
82 |
guidance](http://tools.ietf.org/html/draft-ietf-dane-ops) |
|
83 |
||
84 |
Compatibility |
|
1840
5113f8ff6712
mod_s2s_auth_dane/README: Bump heading levels (modules.prosody.im decreases them one step) and fix some missing spaces
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
85 |
============= |
1807 | 86 |
|
87 |
Requires 0.9 or above. |