XSF Discussion - 2013-12-15


  1. kevin.

    back, after a long time. 8)

  2. Simon

    Where were you Kevin?

  3. Simon

    oh not the Kev. There is more than one.

  4. kevin.

    There are two.

  5. Kev

    There's only one me, though.

  6. Simon

    Kev, how's Doomsong's cert fixing going?

  7. Simon

    Or are you gunning for DNSSEC being widespread enough that you can drop it? :)

  8. kevin.

    yeah, only one kev smith. and i'm not that

  9. Kev

    Simon: I need to sort this out, thanks for reminding me

  10. Kev puts into todo

  11. Kev

    Conveniently, I'm in the middle of capturing todos at the moment :)

  12. Simon

    buddycloud.com/org just completed readiness for Jan 4th.

  13. fippo

    simon: post to operators@ instead

  14. fippo

    91.5% of servers allowing starttls is good.

  15. Simon

    fippo: will do in the future

  16. Simon

    MITM says "I'd rather not startTLS". So still MITM-able.

  17. fippo

    we're not going to stop being MITM-able in january.

  18. Simon

    agreed: 4th Jan will help us understand what breaks.

  19. Simon

    like the ipv6 days.

  20. Simon

    My point is that we have a benchmark and can see if we're increasing.

  21. fippo

    http://mail.jabber.org/pipermail/standards/2007-July/016086.html

  22. fippo

    take that as comparison :-)

  23. Simon

    shocking…

  24. Simon

    makes the http cert world look pristine.

  25. fippo

    sure. nobody seemed to care back then

  26. fippo

    and your 8.5% figure is misleading. tls will typically be used when it's offered, so it's likely used on 91.5% of the connections

  27. fippo

    and 51% are most likely non-mitmable

  28. fippo

    which is not bad

  29. Simon

    how many of that 8.5% are also doing certificate auth?

  30. fippo

    I don't think many people are requiring certificate auth

  31. Simon

    so still mitm-able then.

  32. fippo

    sure.

  33. fippo

    but manifesto is not about changing that

  34. Simon

    I'm going to log a check for that on https://bitbucket.org/xnyhps/xmppoke/issues?status=new&status=open

  35. fippo

    there is no safe way to tell if a remote server enforces your cert

  36. Simon

    https://bitbucket.org/xnyhps/xmppoke/issue/12/test-for-invalid-certificates-certificate

  37. fippo

    simon: I like that ;-)

  38. fippo

    kev: just pushed updated jingle-grouping/jingle-sources :-)

  39. Kev

    fippo: There is for C2S, mind.

  40. Simon

    kev: cert checking or Jingle?

  41. Kev

    A way to check that the other end's connection to you isn't MITMable.

  42. Simon

    yeah - imho this is important. (ref: one of DWD's speeches on certs and authenticity etc etc)

  43. Kev

    Simon: So, do you use -PLUS? :)

  44. Kev

    fippo: So, ready for a revote on Wednesday, then?

  45. Simon

    g+?

  46. fippo

    kev: yes please

  47. Kev

    Simon: No, SCRAM-SHA-1-PLUS.

  48. Kev

    That's the only way the server can check that the client's not going to be MITMd.

  49. Simon

    kev - yes.

  50. Kev

    And even that's not perfect.

  51. Simon

    I'm more concerned about s2s in this case.

  52. fippo

    kev: but that doesn't allow you to tell if the remote server is using your cert to auth either (actually, why would it request scram from you?)

  53. Kev

    fippo: -PLUS doesn't help with S2S, but it helps greatly with C2S.

  54. Kev

    But only if a client doesn't allow a downgrade to PLAIN.

  55. Kev

    Which ~=everyone does.

  56. MattJ

    Kev, and Swift? :)

  57. Kev

    Swift doesn't do mech pinning.

  58. MattJ

    "Yet"?

  59. MattJ

    I've been considering taking a client and making it "totally secure", and re-releasing it

  60. Kev

    Yet, indeed.

  61. MattJ

    Swift is obviously a good candidate

  62. Kev

    There are a number of sensible things to do there, and motivation to do them.

  63. MattJ

    I'm talking about removing support for anything but TLS 1.2, SCRAM-PLUS, etc.

  64. MattJ

    No certificate validation bypass

  65. Kev

    This doesn't sound like fun

  66. MattJ

    For whom? :)

  67. Kev

    Well - what's the motivation?

  68. Kev

    Protection against downgrades is very sensible, and doesn't stop users using the client.

  69. Kev

    But stripping out widely used things because they're not deemed to be maximally secure doesn't seem altogether helpful.

  70. Kev

    How many TLS 1.1 vulnerabilities are we seeing?

  71. MattJ

    Just because we aren't seeing them doesn't mean they aren't there

  72. Kev

    And there's no point forking Swift for this, BTW. We have a mechanism for enforcing policies by sysadmins.

  73. MattJ

    Everyone should realise that by now :)

  74. MattJ

    Kev, then I'd repackage it at least

  75. Kev

    Why?

  76. MattJ

    and you probably wouldn't want me calling it just "Swift" at that point

  77. MattJ

    then how do I configure it?

  78. MattJ

    brb

  79. Kev

    Linux: Install an extra make-Swift-paranoid package, Windows you can have such a checkbox in the installer, and I'm sure something can be worked out for Mac.

  80. Simon

    the node-XMPP guys are doing some good work to move their code to nicely support TLSv.1.2

  81. MattJ

    Kev, are there docs on this?

  82. Kev

    MattJ: No.

  83. Kev

    But happy to chat about it over <- there in swift@.

  84. MattJ

    Ok, when I have some time :)

  85. Simon

    oops - didn't mean to dredge up the digest beast in members@

  86. MattJ

    Too late, it is awake

  87. Simon

    Hopefully it's died out by the time I'm back (10th Jan)

  88. Kev

    I'm not sure bringing up requirements for TLS is necessarily staying on-message at the moment.

  89. Kev

    While there's simultaneously the opportunistic TLS days happening.

  90. MattJ

    For folks not in the Prosody room, I'm currently working on a mod_manifesto

  91. MattJ

    https://matthewwild.co.uk/uploads/mod_manifesto_1.png

  92. Simon

    That's really nice MattJ

  93. Simon

    In terms of the text - it might put it in context to describe the problem/why at the start.

  94. MattJ

    It's configurable by the admin, but this is the default message - I'm happy to take suggested amendments

  95. MattJ

    I don't want it t o get too verbose

  96. Simon

    yes.

  97. MattJ

    I should clarify that the list is completely automated - it is only sent to users who have contacts on unencrypted s2s links

  98. Simon

    I'd expect nothing less from the Prosody team.

  99. MattJ

    I'm going to implement the actual test days into the module too if I can - overriding the config to allow only encrypted connections for the 24h period

  100. MattJ

    which also means I'm aiming for UTC...

  101. MattJ

    unless people think that's a bad idea

  102. Simon

    TZ of least confusion.

  103. waqas

    MattJ: Do we have good error responses on lack of TLS?

  104. MattJ

    waqas, as good as could be expected

  105. waqas

    Both for local users, and for remote

  106. MattJ

    I'm thinking of having mod_manifesto rewrite them for the test day though

  107. MattJ

    waqas, yes, the error message says that the delivery failure was due to lack of encryption

  108. waqas

    The folks we probably want to make the most aware of this are the people on servers without good encryption

  109. waqas

    Not the local users, who are already on a good server

  110. MattJ

    Yep

  111. MattJ

    I considered spamming them, but... ;)

  112. Simon is impressed with Prosody's preparedness.

  113. Simon

    I expect all users will get a notification until jabber.org gets ready.

  114. Kev

    jabber.org /is/ ready, is it not?

  115. Kev

    In that the only thing that's needed to be ready is to have a cert.

  116. fippo

    kev: i think it would be good to have jabber.org reject non-tls connection

  117. Simon

    https://xmpp.net/result.php?domain=jabber.org&type=server

  118. fippo

    otherwise "but it works with jabber.org!!!!" is true

  119. Simon

    and fix it's cipherlist

  120. Kev

    Simon: Nothing on that page looks incompatible with servers participating in the event.

  121. Kev

    To me.

  122. Kev

    fippo: Yes, I expect we will.

  123. fippo

    i wonder why jabber.orgs pubkey score is sooo low

  124. Kev

    Because it bundles the root (Which is a pretty sensible thing to do)?

  125. MattJ

    Why is it a sensible thing to do?

  126. Kev

    MattJ: Because if you're going to do leap of faith, having the root gives you a better basis for future upgrades.

  127. Simon

    Presumably the root should come from outside the connections / OS /Browser.

  128. Simon

    intermediate should be included though

  129. Simon

    also the cert is for conference.jabber.org.

  130. Kev

    The cname is c.j.o, which isn't the same thing.

  131. Kev

    It has the right SANs in it as far as I know.

  132. fippo

    there is a bug for xmpp.net that it should show SANs

  133. fippo

    i even have code for it but can't get the tool itself to work for me

  134. Simon

    fippo: this one https://bitbucket.org/xnyhps/xmppoke/issue/3/show-certificate-subjectalternativenames ?

  135. fippo

    simon: yeah

  136. Simon

    If anyone is looking for a well considered, peer reviewed ciphersuite, Mozilla Opsec have a good writeup: https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_Ciphersuite

  137. Simon

    fippo: solved you cert problem a different way https://xmpp.net/result.php?domain=estos.de&type=server ?

  138. fippo

    simon: huh? it has always shown as valid

  139. fippo

    it just doesn't show why this one is valid :-)

  140. Simon

    reread your xmpppoke issue. Makes sense now.

  141. Simon

    interestingly buddycloud.com refuses to speak to jabber.org too with the current cert.

  142. Simon

    Dec 15 21:34:43 s2sout22aafc0 info Beginning new connection attempt to jabber.org. ([208.68.163.218]:5269) Dec 15 21:34:44 mod_s2s warn Forbidding insecure connection to/from jabber.org. Dec 15 21:34:44 s2sout22aafc0 info outgoing s2s stream buddycloud.com->jabber.org. closed: stream closed Dec 15 21:34:44 s2sout22aafc0 info sending error replies for 2 queued stanzas because of failed outgoing connection to jabber.org.

  143. Simon

    s2s_secure_auth = true s2s_require_encryption = true

  144. MattJ

    I don't know why that would be

  145. MattJ

    Haaa

  146. MattJ

    I know what the issue is, there is a '.' at the end of the hostname

  147. Simon

    the cert or the contact?

  148. MattJ

    Someone is trying to send something to "jabber.org."

  149. Simon

    right

  150. MattJ

    I vaguely recall something about this in the RFC

  151. MattJ

    Yes, it's in 6122

  152. MattJ

    It must be stripped, but it doesn't say where

  153. MattJ

    well, it says: "this character MUST be stripped from the domainpart before the JID of which it is a part is used for the purpose of routing an XML stanza, comparing against another JID, or constructing an [XMPP‑URI]. "

  154. MattJ

    So it's a client bug for allowing it and a server bug for not stripping it either I suppose

  155. Simon

    server bug for storing it in the roster table too?

  156. MattJ

    Not necessarily storing it

  157. MattJ

    I don't know if roster entries must be in normalized form

  158. Zash

    Let's blame jabber.org for answering to "jabber.org."

  159. Zash

    Prosody says host-unknown