<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Jul 7, 2013, at 11:09 AM, zooko <<a href="mailto:zooko@zooko.com">zooko@zooko.com</a>> wrote:</div><div><br></div><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Oh, there are some potential security problems, too, with Twisted Web! In its<br>default configuration it offers to use single-DES for encryption, which is a<br>bad idea even though it isn't clear (to me) whether an attacker could take<br>advantage of that.<br><br><a href="http://twistedmatrix.com/trac/ticket/5514">http://twistedmatrix.com/trac/ticket/5514</a><br><br>It also has compression turned on, apparently, which could lead to a<br>vulnerability in very specific circumstances (called "CRIME"), and it by<br>default supports RC4, which has recently been condemned by cryptographers as<br>potentially unsafe.<br><br>Also, it does not, at least with default configuration, support forward<br>secrecy.</div></blockquote><br></div><div>As far as I understand it, these are all just bad defaults that Twisted inherits from OpenSSL, and whoever built your particular OpenSSL.  (I'm pretty sure there are compile-time options for OpenSSL to not include DES, or at least to disable it by default.)  That's not to say that we shouldn't offer *better* defaults, but Twisted is not a cryptography library, and for better or worse we rely on OpenSSL's judgement because it's currently the only crypto library we support.</div><div><br></div><div>Twisted should have a better cipher-suite defaults and some better command-line options for 'twistd web' (probably in the form of better options for the SSL string endpoint syntax) for modifying those defaults if the user has a good reason to.  But really, it would be nicer to just defer to the judgement of a transport layer security library that has *good* judgement about defaults rather than re-hashing every questionable decision that OpenSSL makes.</div><div><br></div><div>-glyph</div><div><br></div><br></body></html>