Skip to content

docs: update SSL config — ECDSA keys, TLS 1.2+, Let's Encrypt - #220

Open
somethingwithproof wants to merge 2 commits into
Cacti:developfrom
somethingwithproof:fix/ssl-config-key-size-tls
Open

docs: update SSL config — ECDSA keys, TLS 1.2+, Let's Encrypt#220
somethingwithproof wants to merge 2 commits into
Cacti:developfrom
somethingwithproof:fix/ssl-config-key-size-tls

Conversation

@somethingwithproof

Copy link
Copy Markdown
Contributor

Summary

The existing SSL configuration guide prescribed RSA 2048-bit keys and provided no TLS protocol or cipher guidance, leaving users with insecure defaults.

Key changes:

  • Replace RSA 2048 with ECDSA secp384r1 (recommended) and RSA 4096 (alternative); add note that 2048-bit is below NIST SP 800-131A Rev 2 guidance
  • Add Apache SSLProtocol directive restricting to TLS 1.2+ (TLS 1.0/1.1 prohibited by RFC 8996)
  • Add SSLCipherSuite with modern AEAD suites; remove 3DES (Sweet32 vulnerability)
  • Add HTTP→HTTPS redirect <VirtualHost> block
  • Add Let's Encrypt section for both RHEL/Rocky/AlmaLinux and Debian/Ubuntu
  • Add post-install verification using openssl s_client and testssl.sh
  • Replace yum (with duplicate -y) with dnf
  • Fix "HTTP" → "HTTPS" in description text

Test plan

  • Verify Apache config blocks are syntactically valid
  • Confirm openssl commands produce keys in expected locations
  • Verify Let's Encrypt certbot commands are current

Copilot AI review requested due to automatic review settings March 9, 2026 09:31

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Cacti SSL configuration guide to provide more secure, modern HTTPS defaults (stronger key types/sizes, TLS 1.2+ guidance, modern cipher guidance) and adds a Let’s Encrypt workflow plus verification steps.

Changes:

  • Refresh self-signed certificate instructions (ECDSA P-384 recommended; RSA 4096 alternative) and replace yum with dnf.
  • Add an Apache HTTPS vhost example with TLS 1.2+ protocol restriction, cipher guidance, and an HTTP→HTTPS redirect example.
  • Add Let’s Encrypt (certbot) steps for RHEL-family and Debian/Ubuntu, plus post-install verification commands.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Cacti-SSL-Configuration.md Outdated
Comment thread Cacti-SSL-Configuration.md Outdated
Comment thread Cacti-SSL-Configuration.md
Comment thread Cacti-SSL-Configuration.md Outdated
Comment thread Cacti-SSL-Configuration.md Outdated
somethingwithproof added a commit to somethingwithproof/documentation that referenced this pull request Mar 10, 2026
Refs Cacti#220

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
@somethingwithproof
somethingwithproof force-pushed the fix/ssl-config-key-size-tls branch from e9d79ad to 0e352ef Compare March 10, 2026 20:57
Refs Cacti#220

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
@somethingwithproof
somethingwithproof force-pushed the fix/ssl-config-key-size-tls branch from 0e352ef to a7f5b3e Compare March 15, 2026 05:20
certbot ships only in EPEL on RHEL/Rocky/AlmaLinux, so the dnf install fails
on a stock host without epel-release first. The self-signed commands use the
RHEL /etc/pki paths while the Apache block references Debian /etc/ssl paths;
add a note so Debian/Ubuntu users write the cert where Apache expects it.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
@somethingwithproof

Copy link
Copy Markdown
Contributor Author

All 5 review threads are already addressed by the follow-up commit on this branch (docs(ssl): fix RHEL certbot install and note Debian cert paths): the HTTP->HTTPS redirect block is commented out by default, TLS 1.3 ciphers get their own SSLOpenSSLConfCmd line, the Apache example now uses Debian/Ubuntu paths with a note on the RHEL alternative, and both the ECDSA and RSA self-signed cert commands include a SAN via -addext subjectAltName. No further changes needed; resolving.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants