HAproxy SSL/TLS-waarschuwing: Standaard wordt tune.ssl.default-dh-param ingesteld op 1024

Introductie

In deze handleiding leert u hoe u een waarschuwingsbericht van HAProxy Setting tune.ssl.default-dh-param to 1024 by default kunt oplossen en verhelpen met behulp van de methoden die worden beschreven in de Hoe u veelvoorkomende HAProxy-fouten kunt oplossen handleiding aan het begin van deze serie. Zodra u hebt bevestigd dat uw server het waarschuwingsbericht genereert, leert u hoe u het kunt oplossen door de ssl-dh-param-file configuratieoptie van HAProxy in te stellen om een aangepast dhparams.pem bestand te gebruiken.

U kunt een waarschuwingsbericht van HAProxy Setting tune.ssl.default-dh-param to 1024 by default tegenkomen wanneer uw HAProxy-server is geconfigureerd met een SSL/TLS-certificaat en de tune.ssl.default-dh-param parameter niet is ingesteld in het haproxy.cfg configuratiebestand van HAProxy. Wanneer de parameter niet is ingesteld, zal HAProxy standaard een waarde van 1024 bits gebruiken voor het gedeelte van de Diffie-Hellman sleutelovereenkomst van de TLS-handshake, wat als onveilig wordt beschouwd.

Uw HAProxy-server kan deze waarschuwing mogelijk activeren zonder dat u hiervan op de hoogte bent. U kunt een SSL/TLS-certificaat configureren en HAProxy zal draaien, maar de server kan u mogelijk waarschuwen voor het probleem op de achtergrond. Als u niet zeker weet of uw HAProxy-server standaard een Diffie-Hellman-parameter van 1024 bits gebruikt, kunt u een tool zoals de SSL Labs Server Test gebruiken om dit voor u te controleren. Als u een rapport ontvangt met de regel Deze server ondersteunt zwakke Diffie-Hellman (DH) sleuteluitwisselingsparameters, dan is uw HAProxy-server getroffen.

Als u al heeft vastgesteld dat uw HAProxy-server een waarschuwing genereert over de instelling tune.ssl.default-dh-param en u het probleem wilt overslaan, legt de sectie Het oplossen van een Secure tune.ssl.default-dh-param Waarschuwing aan het einde van deze handleiding uit hoe u het probleem kunt oplossen.

Controleren op een tune.ssl.default-dh-param Waarschuwing met behulp van systemctl

Volgens de probleemoplossingsstappen uit de Hoe u Gemeenschappelijke HAProxy-fouten kunt oplossen handleiding aan het begin van deze serie, is de eerste stap bij het oplossen van een Instellen tune.ssl.default-dh-param standaard op 1024 waarschuwingsbericht om de status van HAProxy te controleren met systemctl.

De uitvoer van systemctl status kan alle diagnostische informatie bevatten die je nodig hebt om de fout op te lossen. Het is echter belangrijk om de huidige status van de haproxy-service te controleren om ervoor te zorgen dat deze actief is en dat alle services die ervan afhankelijk zijn nog steeds kunnen functioneren terwijl je de waarschuwing oplost.

Gebruik dit systemctl-commando om de status van HAProxy te bekijken op elke Linux-distributie:

  1. sudo systemctl status haproxy.service -l --no-pager

De -l-vlag zorgt ervoor dat systemctl de volledige inhoud van een regel uitvoert, in plaats van ellipsen () in te voegen voor lange regels. De --no-pager-vlag geeft het volledige logboek op je scherm weer zonder een hulpprogramma zoals less te activeren dat slechts één scherm tegelijk weergeeft.

Aangezien je een waarschuwingsbericht krijgt van Setting tune.ssl.default-dh-param to 1024 by default, zou je output moeten ontvangen die vergelijkbaar is met het volgende:

Output
● haproxy.service - HAProxy Load Balancer Loaded: loaded (/usr/lib/systemd/system/haproxy.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2020-10-06 14:31:39 UTC; 2min 31s ago Process: 71406 ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q (code=exited, status=0/SUCCESS) Main PID: 71407 (haproxy) . . . Oct 06 14:31:39 bb9fb4c53743 systemd[1]: Starting HAProxy Load Balancer... Oct 06 14:31:39 bb9fb4c53743 haproxy[71407]: [WARNING] 279/143139 (71407) : parsing [/etc/haproxy/haproxy.cfg:69] : 'bind *:5000' : Oct 06 14:31:39 bb9fb4c53743 haproxy[71407]: unable to load default 1024 bits DH parameter for certificate '/etc/haproxy/fullchain.pem'. Oct 06 14:31:39 bb9fb4c53743 haproxy[71407]: , SSL library will use an automatically generated DH parameter. Oct 06 14:31:39 bb9fb4c53743 haproxy[71407]: [WARNING] 279/143139 (71407) : Setting tune.ssl.default-dh-param to 1024 by default, if your workload permits it you should set it to at least 2048. Please set a value >= 1024 to make this warning disappear. Oct 06 14:31:39 bb9fb4c53743 haproxy[71407]: Proxy main started. Oct 06 14:31:39 bb9fb4c53743 haproxy[71407]: Proxy static started. Oct 06 14:31:39 bb9fb4c53743 haproxy[71407]: Proxy app started. Oct 06 14:31:39 bb9fb4c53743 systemd[1]: Started HAProxy Load Balancer.

Er zijn twee belangrijke gemarkeerde secties om op te merken in deze uitvoer. De eerste is de regel active (running), wat aangeeft dat HAProxy beschikbaar en actief is. Als je server een regel toont zoals Active: failed, dan moet je HAProxy oplossen met behulp van de methoden die worden beschreven in de How to Troubleshoot Common HAProxy Errors handleiding aan het begin van deze serie.

De tweede set gemarkeerde regels zijn afkomstig uit het systemd-journaal en bevatten de waarschuwing tune.ssl.default-dh-param. Deze regels geven alle informatie over de waarschuwing, hoe deze wordt geactiveerd, de stappen die door HAProxy worden genomen, en hoe deze op te lossen.

Als uw systemctl-uitvoer regels bevat met de waarschuwing tune.ssl.default-dh-param, ga dan naar de sectie Oplossen van een tune.ssl.default-dh-param Waarschuwing aan het einde van deze handleiding om te leren hoe u HAProxy kunt configureren met een veiligere waarde.

Als uw systemctl-uitvoer geen specifieke informatie geeft over de waarschuwing, maar u weet dat uw server zwakke Diffie-Hellman-parameters gebruikt, zal het volgende gedeelte van deze handleiding u begeleiden bij het gebruik van journalctl-logs om de waarschuwingsmelding te vinden.

Controleren op een tune.ssl.default-dh-param Waarschuwing met journalctl

Als uw systemctl-uitvoer geen tune.ssl.default-dh-param waarschuwing bevat maar u weet dat uw server wordt beïnvloed, moet u doorgaan met het gebruiken van het journalctl-commando om systemd-logs voor HAProxy te onderzoeken.

Voer de volgende opdracht uit op een willekeurige Linux-distributie om de logboeken van het systemd-journaal voor de haproxy-service te inspecteren:

  1. sudo journalctl -u haproxy.service -l --no-pager | grep tune.ssl.default-dh-param

Het gedeelte | grep tune.ssl.default-dh-param van de opdracht gebruikt een pijp (|) om de uitvoer van journalctl naar het grep-commando te sturen als invoer. Door de pijp te gebruiken worden alleen overeenkomende regels uit het journaal op uw scherm weergegeven.

Als het journaal een tune.ssl.default-dh-param-waarschuwing bevat, ontvangt u output zoals het volgende:

Output
Oct 06 14:31:39 bb9fb4c53743 haproxy[71407]: [WARNING] 279/143139 (71407) : Setting tune.ssl.default-dh-param to 1024 by default, if your workload permits it you should set it to at least 2048. Please set a value >= 1024 to make this warning disappear.

Aangezien deze output de waarschuwing bevat, kunt u doorgaan naar de sectie Instellen van een beveiligde waarde voor tune.ssl.default-dh-param aan het einde van deze handleiding om te leren hoe u HAProxy kunt configureren met een veiligere waarde.

Als u geen output ontvangt na het uitvoeren van het journaltcl-commando, zal de volgende sectie demonstreren hoe u kunt controleren op een tune.ssl.default-dh-param-waarschuwing met behulp van de ingebouwde configuratiecontrolet van HAProxy of logbestanden.

Controleren op een tune.ssl.default-dh-param-waarschuwing met haproxy -c of logbestanden

HAProxy bevat een opdracht die de configuratiebestanden kan onderzoeken en valideren. U kunt de opdracht gebruiken om te controleren op syntaxisfouten of ongeldige instellingen zonder HAProxy opnieuw te starten en het risico op downtime voor uw services te lopen. Bovendien, als uw HAProxy-server is geconfigureerd om uitvoer naar een bestand of de systeemlogboeken te loggen, kunt u de logbestanden onderzoeken om te controleren op een tune.ssl.default-dh-param-waarschuwing.

Om te controleren op een tune.ssl.default-dh-param-waarschuwing met behulp van HAProxy zelf, voert u de volgende opdracht uit op elke Linux-distributie. Als uw HAProxy-configuratiebestand zich op een andere locatie bevindt dan het gemarkeerde /etc/haproxy/haproxy.cfg-pad, zorg er dan voor dat u het juiste pad naar uw bestand vervangt:

  1. sudo haproxy -c -f /etc/haproxy/haproxy.cfg

Als uw server is geconfigureerd met SSL/TLS en geen tune.ssl.default-dh-param heeft ingesteld, ontvangt u een waarschuwingsuitvoer vergelijkbaar met de volgende:

Output
[WARNING] 279/150829 (71512) : parsing [/etc/haproxy/haproxy.cfg:69] : 'bind *:5000' : unable to load default 1024 bits DH parameter for certificate '/etc/haproxy/fullchain.pem'. , SSL library will use an automatically generated DH parameter. [WARNING] 279/150829 (71512) : Setting tune.ssl.default-dh-param to 1024 by default, if your workload permits it you should set it to at least 2048. Please set a value >= 1024 to make this warning disappear. Configuration file is valid

De gemarkeerde regel bevat de tune.ssl.default-dh-param-waarschuwing.

Om te controleren op het waarschuwingsbericht met behulp van de logboeken van HAProxy, kunt u zoeken naar regels die overeenkomen met de string tune.ssl.default-dh-param met behulp van het grep-commando. Voer de volgende opdracht uit om te controleren op waarschuwingen:

  1. sudo grep tune.ssl.default-dh-param /var/log/haproxy.log

Houd er rekening mee dat als u HAProxy hebt geconfigureerd met een andere loglocatie, u uw pad moet vervangen door het gemarkeerde /var/log/haproxy.log-bestand.

Als uw server de waarschuwing genereert, ontvangt u output zoals het volgende:

Output
Oct 6 14:31:39 bb9fb4c53743 haproxy[71407]: [WARNING] 279/143139 (71407) : Setting tune.ssl.default-dh-param to 1024 by default, if your workload permits it you should set it to at least 2048. Please set a value >= 1024 to make this warning disappear.

Opmerking: Uw logbestanden kunnen het waarschuwingsbericht mogelijk niet bevatten, maar het haproxy -c commando genereert nog steeds de waarschuwing. Als dit het geval is, is het waarschijnlijk dat uw HAproxy-service lang genoeg heeft gedraaid zodat het logbestand is geroteerd en het waarschuwingsbericht niet bevat.

Controleren op het bericht met behulp van de haproxy -c methode is de meest betrouwbare manier om te bepalen of uw server is getroffen, dus u kunt ontbrekende logbestandvermeldingen veilig negeren.

Nu u hebt vastgesteld of uw server een tune.ssl.default-dh-param waarschuwing genereert, kunt u doorgaan naar de volgende stap in deze zelfstudie, waarin twee methoden worden uitgelegd die u kunt gebruiken om het probleem op te lossen.

Oplossen van een tune.ssl.default-dh-param Waarschuwing

U kunt een tune.ssl.default-dh-param waarschuwing in HAProxy oplossen met een paar verschillende instellingen. Een optie is om de waarde van tune.ssl.default-dh-param expliciet in te stellen op iets groter dan 1024 in /etc/haproxy/haproxy.cfg volgens het waarschuwingsbericht. Echter, de HAProxy documentatie raadt aan om aangepaste Diffie-Hellman parameters te specificeren, omdat die aanpak veiliger is, dus zullen we die methode gebruiken in plaats daarvan.

Eerst genereert u een dhparams.pem bestand met behulp van het openssl hulpprogramma. Zodra het bestand is aangemaakt, voegt u het toe aan uw globale HAProxy-configuratiegedeelte zodat alle frontend blokken de instelling erven.

Om de aangepaste DH-parameters te genereren, voert u het volgende uit:

  1. sudo openssl dhparam -out /etc/haproxy/dhparams.pem 2048

U ontvangt output zoals de volgende:

Output
Generating DH parameters, 2048 bit long safe prime, generator 2 This is going to take a long time ..............

Zodra de opdracht is voltooid, configureert u HAProxy om het aangepaste DH-parametersbestand te gebruiken. Open /etc/haproxy/haproxy.cfg in vi of uw voorkeurseditor.

sudo vi /etc/haproxy/haproxy.cfg

Zoek het gedeelte in het bestand zoals het volgende:

Output
. . . # turn on stats unix socket stats socket /var/lib/haproxy/stats # utilize system-wide crypto-policies #ssl-default-bind-ciphers PROFILE=SYSTEM ssl-default-server-ciphers PROFILE=SYSTEM

Voeg nu een regel toe na de ssl-default-server-ciphers PROFILE=SYSTEM regel zoals deze:

ssl-dh-param-file /etc/haproxy/dhparams.pem

Het gehele gedeelte zou er als volgt uit moeten zien, inclusief de nieuwe gemarkeerde ssl-dh-param-file regel die u heeft toegevoegd:

/etc/haproxy/haproxy.cfg
. . . # turn on stats unix socket stats socket /var/lib/haproxy/stats # utilize system-wide crypto-policies #ssl-default-bind-ciphers PROFILE=SYSTEM ssl-default-server-ciphers PROFILE=SYSTEM ssl-dh-param-file /etc/haproxy/dhparams.pem

Wanneer u klaar bent met het bewerken van het bestand, slaat u het op en sluit u het af door op ESC te drukken, :wq te typen en op ENTER te drukken.

Test de configuratie met het haproxy -c commando om ervoor te zorgen dat u de juiste instelling heeft toegevoegd en dat HAProxy toegang heeft tot het aangepaste dhparams.pem bestand:

  1. sudo haproxy -c -f /etc/haproxy/haproxy.cfg

U zou output moeten ontvangen waarin wordt aangegeven dat de configuratie geldig is, zoals het volgende:

Output
Configuration file is valid

Als uw configuratie geldig is, start HAProxy dan opnieuw op zodat het het nieuwe Diffie-Hellman-parametersbestand gebruikt:

  1. sudo systemctl restart haproxy.service

U hebt HAProxy nu geconfigureerd met een set van 2048 bits aangepaste Diffie-Hellman-parameters die alle frontends zullen kunnen gebruiken. U hebt ook de waarschuwingen voor tune.ssl.default-dh-param onderdrukt.

Conclusie

In deze tutorial hebt u geleerd hoe u een waarschuwingsbericht van HAProxy Setting tune.ssl.default-dh-param to 1024 by default kunt oplossen. U hebt vier verschillende methoden verkend om de configuratie van HAProxy te onderzoeken om het bericht te vinden. Eerst hebt u systemctl en journalctl gebruikt om de status van de HAProxy-server te bekijken en te proberen het bericht in de systemd-logs te vinden. Vervolgens hebt u het HAProxy-configuratiebestand gecontroleerd met de ingebouwde configuratiecontrole haproxy -c. Ten slotte hebt u gecontroleerd op logboekvermeldingen met behulp van het grep-commando op het logboekbestand van HAProxy.

Nadat u hebt bevestigd dat uw server een waarschuwingsbericht Setting tune.ssl.default-dh-param to 1024 by default genereerde, hebt u een aangepast Diffie-Hellman-parametersbestand gegenereerd en HAProxy geconfigureerd om het te gebruiken door de ssl-dh-param-file-configuratierichtlijn in te stellen.

Nu u die configuratie hebt ingesteld, zal uw HAProxy-server standaard de veiligere Diffie-Hellman-parameters gebruiken en zal het waarschuwingsbericht tune.ssl.default-dh-param niet langer in uw logs verschijnen.

Source:
https://www.digitalocean.com/community/tutorials/haproxy-ssl-tls-warning-setting-tune-ssl-default-dh-param-to-1024-by-default