aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Magne Ingebrigtsen2014-12-08 22:51:54 +0100
committerLars Magne Ingebrigtsen2014-12-08 22:51:54 +0100
commite9aaf969661d134fa7e1548817fc9a05fa6b1bfb (patch)
treecfb992af0e59242250b2d328224006249216f86f
parentbe6767d59b9f984ee28d444aada0ecdd0245ec6e (diff)
downloademacs-e9aaf969661d134fa7e1548817fc9a05fa6b1bfb.tar.gz
emacs-e9aaf969661d134fa7e1548817fc9a05fa6b1bfb.zip
Make NSM warn on `high' for older protocols, and document
* doc/emacs/misc.texi (Network Security): Mention the new protocol-level `high' NSM checks. (nsm-check-protocol): Also warn if using SSL3 or older.
-rw-r--r--doc/emacs/ChangeLog5
-rw-r--r--doc/emacs/misc.texi14
-rw-r--r--lisp/ChangeLog1
-rw-r--r--lisp/net/nsm.el13
4 files changed, 32 insertions, 1 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 458a4782ffe..d969b8e2b07 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,8 @@
12014-12-08 Lars Magne Ingebrigtsen <larsi@gnus.org>
2
3 * misc.texi (Network Security): Mention the new protocol-level
4 `high' NSM checks.
5
12014-12-08 Eric S. Raymond <esr@snark.thyrsus.com> 62014-12-08 Eric S. Raymond <esr@snark.thyrsus.com>
2 7
3 * maintaining.texi: Suopport fo Arch has been moved to obolte, 8 * maintaining.texi: Suopport fo Arch has been moved to obolte,
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 39632cbe077..39433056f15 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -329,6 +329,20 @@ to be concerned about. However, if you are worried that your network
329connections are being hijacked by agencies who have access to pliable 329connections are being hijacked by agencies who have access to pliable
330Certificate Authorities which issue new certificates for third-party 330Certificate Authorities which issue new certificates for third-party
331services, you may want to keep track of these changes. 331services, you may want to keep track of these changes.
332
333@item Diffie-Hellman low prime bits
334When doing the public key exchange, the number of ``prime bits''
335should be high to ensure that the channel can't be eavesdropped on by
336third parties. If this number is too low, you will be warned.
337
338@item @acronym{RC4} stream cipher
339The @acronym{RC4} stream cipher is believed to be of low quality and
340may allow eavesdropping by third parties.
341
342@item @acronym{SSL1}, @acronym{SSL2} and @acronym{SSL3}
343The protocols older than @acronym{TLS1.0} are believed to be
344vulnerable to a variety of attacks, and you may want to avoid using
345these if what you're doing requires higher security.
332@end table 346@end table
333 347
334Finally, if @code{network-security-level} is @code{paranoid}, you will 348Finally, if @code{network-security-level} is @code{paranoid}, you will
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c109bc7cab6..2669e07cd15 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -3,6 +3,7 @@
3 * net/nsm.el (nsm-check-protocol): Test for RC4 on `high'. 3 * net/nsm.el (nsm-check-protocol): Test for RC4 on `high'.
4 (nsm-format-certificate): Include more data about the connection. 4 (nsm-format-certificate): Include more data about the connection.
5 (nsm-query): Fill the text to that it looks nicer. 5 (nsm-query): Fill the text to that it looks nicer.
6 (nsm-check-protocol): Also warn if using SSL3 or older.
6 7
72014-12-08 Stefan Monnier <monnier@iro.umontreal.ca> 82014-12-08 Stefan Monnier <monnier@iro.umontreal.ca>
8 9
diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el
index d1de1288ca6..2306894cde3 100644
--- a/lisp/net/nsm.el
+++ b/lisp/net/nsm.el
@@ -181,7 +181,8 @@ unencrypted."
181 (encryption (format "%s-%s-%s" 181 (encryption (format "%s-%s-%s"
182 (plist-get status :key-exchange) 182 (plist-get status :key-exchange)
183 (plist-get status :cipher) 183 (plist-get status :cipher)
184 (plist-get status :mac)))) 184 (plist-get status :mac)))
185 (protocol (plist-get status :protocol)))
185 (cond 186 (cond
186 ((and prime-bits 187 ((and prime-bits
187 (< prime-bits 1024) 188 (< prime-bits 1024)
@@ -203,6 +204,16 @@ unencrypted."
203 host port encryption))) 204 host port encryption)))
204 (delete-process process) 205 (delete-process process)
205 nil) 206 nil)
207 ((and protocol
208 (string-match "SSL" protocol)
209 (not (memq :ssl (plist-get settings :conditions)))
210 (not
211 (nsm-query
212 host port status :ssl
213 "The connection to %s:%s uses the %s protocol, which is believed to be unsafe."
214 host port protocol)))
215 (delete-process process)
216 nil)
206 (t 217 (t
207 process)))) 218 process))))
208 219