Logjam Ruined My Saturday

Logjam Ruined My Saturday

Tech News https logjam security sysadmin tls

So there's a new vulnerability with a name and a logo again. This one's called Logjam, it dropped earlier this week (around the 20th), and unlike some of the recent crypto scares this one actually made me get up on a Saturday afternoon and go touch a server config instead of just reading about it over coffee.

Quick version for anyone who skipped the writeups: a group of researchers (University of Michigan folks are behind a lot of this, same general crowd that did the FREAK research back in March) found a way to force a TLS connection down to old 1990s-era "export grade" Diffie-Hellman key exchange, the kind of crypto that used to be legally capped at 512 bits because the US government didn't want strong encryption leaving the country. That law's been gone for almost two decades but the code paths never fully went away, so a man-in-the-middle attacker with enough compute (which by 2015 standards is not that much) can downgrade the connection and then break it. They put together a test site at weakdh.org where you punch in your domain and it tells you if you're exposed. I ran techpad's domain through it out of curiosity more than worry, half expecting a clean pass.

It wasn't clean. Not broken exactly, but the report flagged that my Apache config was still offering the export cipher suites, which is basically leaving a door unlocked that nobody's supposed to use anymore but that a determined person absolutely can. So that ate my Saturday.

If you're running your own box (and I know a chunk of people reading this still are, because you email me about it), the fix is pretty mechanical. Generate a proper 2048-bit DH group instead of relying on whatever your OpenSSL build defaults to:

openssl dhparam -out dhparams.pem 2048

That command takes a while, by the way. Mine sat there for something like six minutes on a cheap Linode box before it finished, which is long enough that I got up, made a second coffee, came back and it was still chugging. Then you point Apache at the file with SSLOpenSSLConfCmd DHParameters (or the nginx equivalent, ssl_dhparam), disable the export and low-bit cipher strings in your cipher list, restart, and re-test.

What actually bugs me about this whole thing isn't the vulnerability itself, it's the pattern. This is the second one of these this year with a dedicated website and a cute name. FREAK in March, Logjam now. I get why researchers do it, a memorable name and a logo gets the story picked up by outlets that would otherwise ignore a paper about export-grade DHE ciphersuites, and that coverage is genuinely how the fix propagates out to random people running WordPress on shared hosting. But it also means every few weeks now there's a fresh wave of "the internet is broken again" posts, and I think it trains people to tune it out. My mother-in-law asked me last week if she needs to change all her passwords because of "that thing on the news," and no, not really, but try explaining the difference between a key-exchange downgrade attack and a password leak to someone who just wants to check her email.

Anyway. If you administer anything with TLS on it, go run it through weakdh.org, it takes ten seconds. If you're just a regular reader who doesn't run a server, the practical upshot is: keep your browser updated, since Chrome, Firefox, and the others are all pushing patches on their end too, and there's honestly not a lot else for you to do about this one personally.

One more small thing while I've got the terminal open anyway. I finally switched this blog's own SSL setup over to using a real cert renewal script instead of the manual dance I've been doing every year since I first turned HTTPS on here, and it is a relief to not have that looming reminder on my calendar every February. Small win buried inside an otherwise annoying weekend of cipher suite archaeology.