Schakel door de klant geïnitieerde heronderhandeling uit in Postfix
Handleiding voor het uitschakelen van door de client geïnitieerde SSL/TLS-heronderhandeling in Postfix ter bescherming tegen DoS-aanvallen.
Het veiligheidsrisico
Door clients op elk moment opnieuw te laten onderhandelen over de SSL-handshake kan worden gebruikt voor een Denial of Service (DoS)-aanval, aangezien de handshake CPU-intensief is voor de server, maar goedkoop voor de client.
Configuratie
In Postfix kun je dit regelen via de smtpd_tls_eecdh_grade en andere TLS-instellingen, maar specifiek voor heronderhandeling is het afhankelijk van de gekoppelde OpenSSL-versie.
Moderne Postfix-versies en OpenSSL-standaarden kunnen dit echter meestal wel aan. Om expliciet te zijn:
-
Bewerk main.cf:
sudo nano /etc/postfix/main.cf -
Voeg de TLS-instellingen toe of update deze. Opmerking: Postfix heeft geen directe parameter "disable_renegotiation", zoals Apache, maar is afhankelijk van de standaardinstellingen van de OpenSSL-bibliotheek.
U kunt echter sterke cijfers en protocollen afdwingen, waardoor gerelateerde problemen worden beperkt.
# TLS 1.2 of 1.3 afdwingen smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 # Sluit zwakke cijfers uit smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CBC3-SHA, KRB5-DES, CBC3-SHA
Verifiëren
Gebruik openssl om te testen of heronderhandeling mogelijk is.```bash
openssl s_client -connect mail.yourserver.com:25 -starttls smtp
Eenmaal verbonden, typt u `R` en drukt u op Enter.
- Als het `RENEGOTIATING` retourneert, is het **Ingeschakeld** (slecht).
- Als er niets of een foutmelding wordt geretourneerd, is deze **Uitgeschakeld** (Goed).
## Legacy-notitie voor oudere systemen
Op zeer oude OpenSSL (<0.9.8l) was dit een kritieke kwetsbaarheid (CVE-2009-3555). Zorg ervoor dat uw OpenSSL up-to-date is (`apt upgrade openssl`).
