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:

  1. Bewerk main.cf:

    sudo nano /etc/postfix/main.cf
  2. 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`).
User