SSL-certifikaternes maksimale levetid reduceres til 200 dage fra marts 2026. Læs mere →
HAProxy / Linux Advanced ~6 min. læsetid

HAProxy SSL Administration

SSL-certifikatinstallation og konfiguration i HAProxy load balancer.

HAProxy SSL Administration

Introduktion

Ved bestilling af et SSL-certifikat kræves en Certificate Signing Request (CSR), denne genereres ud fra en privat nøgle.


Ønsker du selv at oprette den private nøgle, skal du generere CSR-filen, følg derfor Generering af CSR og derefter Installation af SSL-certifikat


Har du privatnøgle og certifikat klar skal du følge Installation af SSL-certifikat.


Denne guide er lavet med OpenSSL 1.1.1f med en HA-Proxy 2.0.13 med standard opsætning.

Denne vejledning beskriver hvordan man opretter, installerer og konfigurerer SSL i Nginx på Linux.

Vejledningen passer bl.a. til Ubuntu, Redhat, CentOS. Der kan være mindre forskellige i stier og kommandoer, til andre linux udgaver.


  1. For at se hvilken version af OpenSSL der er installeret, kør følgende kommando:


openssl version


Openssl Version


  1. For at se hvilken version af apache2 der er installeret, kør følgende kommando:


haproxy -v


Version HA Proxy


  1. Mozilla SSL Configuration Generator kan du generere en SSL konfigurationstekst, som du skal tilpasse din server.

Du vil kunne vælge imellem følgende niveauer. Vi anbefaler Intermediate hvis ikke der er en speciel grund til at vælge andet, og at du ikke slår HSTS til, medmindre du er helt sikker på hvad du laver.



    • Modern: Giver højere sikkerhed men lavere kompatibilitet da den udelukker en del ældre browsere og andre enheder.

Anbefalet hvis alle klienter er kendte, f.eks. på et website der kun anvendes internt.


    • Intermediate: En balance af mellem-høj sikkerhed og høj kompatibilitet.

Generelt anbefalet til servere hvor ukendte klienter tilgår, f.eks. en webshop. Den optimerer sikkerheden, men tillader stadig lidt ældre klienter at tilgå websitet.


    • Old: Lav sikkerhed, højeste kompatibilitet.

Denne indstilling kan kun anbefales hvis sikkerheden ikke er nær så vigtig som kompatibiliteten, da den åbner for udfasede SSL standarder der har kendte huller.


    • HSTS: (HTTP Strict Transport Security) er en header fra serveren, der fortæller klienten at DNS domænet kun må tilgås via HTTPS fremover. Dette huskes af klienter i den max-age der sættes, uanset om det fjernes fra serveren igen, så der er ingen vej tilbage hvis det fejler.

Følg en grundig vejledning, vær konservativ og anvend 300 sekunder (5 min) i mindst en uge, inden der skrues gradvist op.

Pas på med subdomains og preload, med mindre alt på domænet allerede kører HTTPS.


    • OCSP Stapling: Det er helt klart en fordel at slå OCSP til. Det gør at serveren henter status for certifikatet en gang imellem og afleverer det til klienter, i stedet for at samtlige klienter skal kontrollere status hver gang de forbinder til dit website.


Mozilla Ssl Configuration Generator

Generering af CSR til certifikat bestilling

I dette eksempel har vi anvendt et enkelt DNS-navn som virker både til standard og SAN certifikater, til et wildcard skal Common Name skiftes til *.fairssl.dk


For at gennemføre en bestilling og genereringen af CSR koden, har du brug for at samle følgende oplysninger til certifikatet:


  • Common Name (CN): Det primære fulde internet domænenavn. F.eks.: www.fairssl.dk
  • Organization Name (O): Det fulde gyldige firmanavn, præcis som det står i CVR. F.eks.: FairSSL A/S
  • Organizational Unit (OU): Afdelingen som skal bruge certifikatet. Må ikke kunne forveksles med et andet firma. Kan anbefales at efterlade den tom, eller at bruge firmanavnet. F. eks. FairSSL A/S
  • Locality (L): Bynavn. F.eks.: Ørum Djurs
  • State (S): Stat eller kommune, i Danmark anvendes kommunen. F.eks.: Norddjurs
  • Country (C): ISO-standard to-bogstavs landekode, skal være store bogstaver. F.eks.: DK


For både oprettelse af den private nøgle og CSR forespørgslen, beskriver vi her anvendelsen af OpenSSL værktøjet. OpenSSL værktøjet er installeret under /usr/local/ssl/bin hvis du har en standard installation.

Oprettelse af privat nøgle

  1. Log ind på serveren med root adgang.


  1. Kør følgende kommando for at oprette et 2048-bit Diffie-Hellman parameter:


sudo openssl dhparam -out /etc/ssl/private/dhparam.pem 2048


Dh Param Generation


  1. Kør følgende kommando for at oprette en privat nøgle uden password:


sudo openssl genrsa -out /etc/ssl/private/www.fairssl.dk.key 2048


Key No Password


Vi opretter den private nøgle i /etc/ssl/private/ fordi det er en sikret mappe specifikt lavet til dette formål.


Send aldrig nøglen til os via e-mail.

Nøglefilen skal opbevares sikkert og bør ikke forlade serveren. Det er ikke muligt at anvende mindre nøgler som f.eks. RSA 1024 bit.

Oprettelse af CSR

  1. Kør følgende kommando for at oprette en CSR med den private nøgle du lavede tidligere:


sudo openssl req -new -key /etc/ssl/private/www.fairssl.dk.key -out /etc/ssl/private/www.fairssl.dk.csr


Indtast de informationer du indsamlede tidligere til certifikatet efterfulgt af [ENTER], husk at sørge for at Country Name er med store bogstaver. Derudover skal du ikke skrive noget i de sidste tre felter, se følgende eksempel:


Country Name: DK

State or Province Name: Norddjurs

Locality Name: Ørum Djurs

Organization Name: FairSSL A/S

Organizational Unit Name: FairSSL A/S

Common Name: www.fairssl.dk

Email Address:

A Challenge Password:

An Optional Company Name:


Create Csr Command


  1. Du kan nu bekræfte at din CSR er oprettet korrekt med følgende kommando:


sudo openssl req -noout -text -in /etc/ssl/private/www.fairssl.dk.csr


Confirm Csr


  1. Åben CSR-filen med en teksteditor (f.eks sudo nano /etc/ssl/private/www.fairssl.dk.csr), kopier hele teksten, inkl. alle bindestreger før og efter.

Under certifikat bestillingen skal du indsætte teksten i CSR-feltet.

følgende er et eksempel på en komplet CSR-tekst:


Csr Text


En CSR indeholder ingen fortrolige oplysninger og der er ingen sikkerhedsrisiko ved f.eks. at sende en CSR via ukrypteret e-mail.

Installation af SSL-certifikat

  1. I den mappe hvor du har din CSR-fil liggende (f.eks.: /etc/ssl/private), opret en fil kaldet www.fairssl.dk.pem

Åben filen i en text editor (f.eks. sudo nano www.fairssl.dk.pem).

Kopier teksten med dit SSL certifikat fra mailen ind i filen, inkl. alle bindestreger.

Åben din private nøgle med en teksteditor (f.eks sudo nano /etc/ssl/private/www.fairssl.dk.key) Kopier teksten fra nøglen ind i filen.

Til slut sæt certifikatets mellemudsteder (intermediate certificate) ind i filen og gem den.


Combined Pem Files


  1. Lav en backup af din haproxy.cfg fil:


sudo cp /usr/local/etc/haproxy/haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg.bak


  1. Åben haproxy.cfg med en text editor (f.eks. sudo nano haproxy.cfg)

Ret filen til med de indstillinger du fandt i Introduktionen

Her er et eksempel på en opdateret fil (kommentarer er fjernet for overskuelighed)


Update Cfg File


  1. Test at konfigurationen af HA Proxy stadigt virker korrekt:


sudo services haproxy configtest


Opstår der fejl under testen, skal de rettes før du går videre. Se logfilerne for mere information.


  1. Genindlæs HA Proxy:


sudo services haproxy reload


Vi anbefaler at du tester installationen med vores server tester på: https://www.fairssl.dk/da/ssltest

Mellemudstedercertifikater

Her kan du finde mellemudstedercertifikater fra de forskellige udstedere.

Vi anbefaler at du bruger det medsendte mellemudstedercertifikat, og kun henter herfra hvis du mister det, da det medsendte altid vil være det korrekte til det bestilte servercertifikat.


Mellemudstedercertifikater

Styrk din TLS-sikkerhed

Brug Mozilla SSL Configuration Generator til at generere en sikker TLS-konfiguration med moderne cipher suites og protokolindstillinger.

Mozilla SSL Configuration Generator guide

Klar til at oprette en gratis konto?

Opret en gratis konto og udsted dit første certifikat på under 10 minutter.