<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Dmytro Spivak Blog]]></title><description><![CDATA[Full Stack Developer since 2018. Writing about Node.js, TypeScript, microservices, AWS, and what usually goes unspoken in dev work.]]></description><link>https://blog.dispivak.com</link><image><url>https://cdn.hashnode.com/uploads/logos/69f702610ab374db9990b282/50957429-3964-46ca-a714-8704272d9fac.png</url><title>Dmytro Spivak Blog</title><link>https://blog.dispivak.com</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 03 May 2026 12:43:29 GMT</lastBuildDate><atom:link href="https://blog.dispivak.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[SSL/TLS Certificates: Why They Matter — and Why They're Not Enough]]></title><description><![CDATA[What Is an SSL/TLS Certificate
When your browser shows a padlock next to the address, it means the connection between you and the server is encrypted. Behind that padlock is an SSL/TLS certificate: a digital document that binds a domain name to a pub...]]></description><link>https://blog.dispivak.com/ssl-tls-certificate-why-its-not-enough-en</link><guid isPermaLink="true">https://blog.dispivak.com/ssl-tls-certificate-why-its-not-enough-en</guid><category><![CDATA[Quietls]]></category><category><![CDATA[Security]]></category><category><![CDATA[SSL]]></category><category><![CDATA[TLS]]></category><dc:creator><![CDATA[Dmytro]]></dc:creator><pubDate>Sun, 03 May 2026 10:28:35 GMT</pubDate><content:encoded><![CDATA[<h2 id="heading-what-is-an-ssltls-certificate">What Is an SSL/TLS Certificate</h2>
<p>When your browser shows a padlock next to the address, it means the connection between you and the server is encrypted. Behind that padlock is an <strong>SSL/TLS certificate</strong>: a digital document that binds a domain name to a public key and verifies that the server is who it claims to be.</p>
<p>The SSL protocol was long ago superseded by TLS, but the name "SSL certificate" stuck — even the certificates you buy today operate over TLS 1.2 or TLS 1.3.</p>
<h2 id="heading-how-it-works">How It Works</h2>
<p>In brief:</p>
<ol>
<li>The browser initiates a TLS handshake with the server.</li>
<li>The server sends its certificate, signed by a Certificate Authority (CA).</li>
<li>The browser verifies the CA's signature and the certificate's validity period.</li>
<li>The browser and server agree on a session key — from then on, all traffic is encrypted.</li>
</ol>
<p>The result: no one between the client and the server can intercept or alter the data.</p>
<h2 id="heading-why-certificates-matter">Why Certificates Matter</h2>
<p><strong>Encryption in transit.</strong> Without TLS, passwords, tokens, and payment data travel as plain text.</p>
<p><strong>User trust.</strong> Browsers label HTTP sites as "Not Secure." Most users will leave a site that appears untrustworthy.</p>
<p><strong>SEO.</strong> Google has used HTTPS as a ranking signal since 2014.</p>
<p><strong>Platform requirements.</strong> Apple App Transport Security, Android Network Security Configuration, HTTP/2 — all require TLS.</p>
<h2 id="heading-why-ssl-is-only-part-of-the-picture">Why SSL Is Only Part of the Picture</h2>
<p>Here is what a certificate does <strong>not</strong> do:</p>
<ul>
<li><strong>Does not protect against SQL injection, XSS, or CSRF.</strong> Encrypting traffic doesn't make your code safe. Application-level attacks work the same — over HTTPS or not.</li>
<li><strong>Does not protect the server from being compromised.</strong> A certificate doesn't close open ports, update software, or block brute-force attacks.</li>
<li><strong>Does not guarantee security of data at rest.</strong> Data is encrypted in transit, but on the server it often sits in a database in plain text.</li>
<li><strong>Does not guarantee that port 443 is the only entry point.</strong> Phishing sites also have SSL, but the key point is that a certificate only secures one channel. If other ports or attack vectors remain open, the certificate doesn't close them. The goal is to make the protected TLS channel the sole path of communication with your users.</li>
<li><strong>Does not configure TLS automatically.</strong> A certificate can be installed with a vulnerable configuration: outdated protocols (TLS 1.0), weak ciphers, or missing HSTS.</li>
</ul>
<blockquote>
<p>:warning: 
  The padlock in your browser says one thing only: the connection is encrypted. It does not mean the site is secure.</p>
</blockquote>
<h2 id="heading-key-security-parameters-beyond-the-certificate">Key Security Parameters Beyond the Certificate</h2>
<p>An SSL certificate is the foundation, but genuine site security requires additional configuration:</p>
<ul>
<li><strong>Security headers</strong> — HSTS, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy. They protect against XSS, clickjacking, and MIME-sniffing.</li>
<li><strong>Proper TLS configuration</strong> — TLS 1.2+ only, modern ciphers, no weak algorithms.</li>
<li><strong>DNS security</strong> — CAA records, DNSSEC, multiple nameservers.</li>
<li><strong>Certificate Transparency</strong> — monitoring crt.sh logs to detect unauthorised certificates issued for your domain.</li>
<li><strong>CORS policy</strong> — controlling which Origins may access your API.</li>
<li><strong>Port monitoring</strong> — unexpectedly open ports can serve as attack vectors.</li>
<li><strong>Configuration drift detection</strong> — tracking changes to your web server's settings.</li>
</ul>
<h2 id="heading-how-quietls-helps">How QuietLS Helps</h2>
<p><a target="_blank" href="https://quietls.com">QuietLS</a> is a tool for self-hosted developers that automates certificate management <strong>and</strong> checks the broader security picture.</p>
<p>For certificates, QuietLS handles:</p>
<ul>
<li>Automatic ordering, installation, and renewal of certificates (Let's Encrypt and commercial CAs).</li>
<li>Support for DV, OV, EV, wildcard, and multi-domain certificates.</li>
<li>Private keys never leave your server — the agent installs certificates locally.</li>
</ul>
<p>But the certificate is only the beginning. QuietLS computes a <strong>Security Score</strong> — a composite rating from 0 to 100 that includes:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Check</td><td>Weight</td><td>What It Evaluates</td></tr>
</thead>
<tbody>
<tr>
<td>SSL</td><td>35%</td><td>Chain validity, expiry, OCSP status</td></tr>
<tr>
<td>Security Headers</td><td>25%</td><td>HSTS, CSP, X-Frame-Options and others</td></tr>
<tr>
<td>TLS Protocol</td><td>15%</td><td>TLS version, presence of weak ciphers</td></tr>
<tr>
<td>DNS Health</td><td>15%</td><td>CAA, DNSSEC, number of nameservers</td></tr>
<tr>
<td>Certificate Transparency</td><td>10%</td><td>Monitoring crt.sh for unauthorised certificates</td></tr>
</tbody>
</table>
</div><p>Additionally, <strong>agent-side metrics</strong> run directly on your server:</p>
<ul>
<li><strong>TLS Config Drift</strong> — detects changes to nginx/Apache configuration and alerts on deviations.</li>
<li><strong>Port Scan</strong> — scans common ports and reports any that were not expected.</li>
<li><strong>Local Cert Scan</strong> — checks expiry dates of certificates on disk.</li>
</ul>
<p>When any metric degrades, QuietLS sends an alert to Discord or Telegram.</p>
<blockquote>
<p>:information_source: 
  QuietLS is set-and-forget. Install the agent, connect your domains — and get automatic certificate renewal plus security monitoring that runs itself.</p>
</blockquote>
<h2 id="heading-summary">Summary</h2>
<p>An SSL/TLS certificate is a necessity. Without it, your site is vulnerable to traffic interception and browsers warn users away. But a certificate alone doesn't protect against the most common attacks and doesn't guarantee a correct configuration.</p>
<p>Real security means certificates + headers + TLS config + DNS + monitoring. And that's exactly what QuietLS brings together in one tool.</p>
]]></content:encoded></item></channel></rss>