Urgent.News

What's breaking now, across thousands of outlets.

Tech

Stop saying SSL: TLS only does three jobs, and your 'SSL cert' is usually not the outage

Runbooks still say "renew the SSL certificate" when the browser warning is obsolete protocol . The certificate can be brand new. The tunnel is still TLS 1.0. This is a shortened English note. The tables, handshake diagram, and OpenSSL CLI checks live on the original post: https://sunshout.tistory.com/2206 SSL vs TLS (the only distinction that matters) SSL is a Netscape protocol from the 1990s.…

Many runbooks still instruct renewing the SSL certificate when encountering a browser warning about an obsolete protocol. However, this new certificate might be brand new; the issue lies within the tunnel using TLS 1.0. The distinction between SSL and TLS is crucial. SSL is an outdated Netscape protocol from the 1990s, now withdrawn due to vulnerabilities like POODLE.

Today, browsers primarily communicate using TLS, currently versions 1.2 or 1.3. The file containing the X.509 certificate remains unchanged; it is still referred to as an SSL certificate. The SSL/TLS handshake remains integral to the secure connection process. Many still use the terms SSL cert, as vendors popularized this terminology. This certificate that people often refer to as an "SSL cert" is actually an X.509 certificate.

The handshake that utilizes this certificate is still TLS, not SSL. The SSL/TLS versions in use could be 2.0/3.0 (disabled), 1.0/1.1 (disabled), or 1.2/1.3 (enabled). The handshake's three primary jobs are confidentiality, integrity, and authentication. Confidentiality is achieved through encryption, preventing unauthorized access to the data.

Integrity ensures that the data has not been tampered with during transmission, often achieved using a MAC (Message Authentication Code) based on AES. Authentication is verified through the certificate, which binds a hostname to a key that the Certificate Authority (CA) vouches for.

The HTTPS tunnel's metaphor is not solely defined by the lock icon indicating safety; it signifies that the bits on the wire are encrypted and unmodified for the specified name. However, trusting the lock does not imply safety from other layers of vulnerabilities like XSS and malicious origins. An outage caused by this scenario involves a new Let's Encrypt leaf certificate being refused by browsers due to still supporting obsolete TLS versions like 1.0 or 1.1.

The cause is often rooted in servers retaining outdated protocols or lacking support for TLS 1.2 or higher. Simply renewing the certificate does not resolve the issue; instead, one must check the configuration thoroughly.

To diagnose these problems, one must employ specific commands. For instance, running `openssl s_client -connect example.com:443 -tls1` should result in failure, while `openssl s_client -connect example.com:443 -tls1_2` should succeed. For web servers like nginx or Apache, ensure that `ssl_protocols` is set to `TLSv1.2 TLSv1.3` and `ssl_prefer_server_ciphers` is disabled. This configuration forces the server to use only TLS 1.2 or TLS 1.3, preventing compatibility issues with older clients.

When securing communications, it is essential to prioritize modern encryption methods. The key exchange method should be ECDHE, which provides forward secrecy. Avoid static RSA key exchange, as it leaves data vulnerable to decryption if the private key is compromised. Utilize strong bulk encryption algorithms like AES-GCM or ChaCha20-Poly1305, which offer robust protection against various attack vectors. Avoid using outdated encryption methods such as CBC + HMAC, 3DES, RC4, MD5, or SHA-1.

It is important to note that OpenSSL versions 1.0.2 and 1.1.1 have reached their end of life, meaning they no longer receive security updates. Therefore, running these versions poses a significant risk. Instead, adopt LTS (Long-Term Support) versions and promptly apply patches when critical security issues are announced. Let's Encrypt issues certificates to secure websites, but securing the handshake involves configuring `ssl_protocols` correctly within OpenSSL or BoringSSL.

Buying a certificate does not inherently enhance security; rather, it is the configuration of `ssl_protocols`, proper key management, and disabling compression that fortifies the connection.

Lastly, the Korean original provides additional details regarding the SSL/TLS handshake process and includes a cipher table. If you encounter situations where sites appear to function but scan tools still flag TLS 1.0, it is advisable to review the output from `openssl s_client -tls1` before considering further actions like certificate renewal.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

More from Tuesday 25 August →