Hvernig á að stilla CA SSL vottorð í HAProxy


HAProxy er mikið notað, áreiðanlegt, afkastamikið öfugt umboð, sem býður upp á mikla aðgengi og hleðslujafnvægi fyrir TCP og HTTP forrit. Sjálfgefið er að það er samið með OpenSSL, sem styður þannig SSL-lokun, sem gerir vefsíðunni þinni/forritastafla kleift að dulkóða og afkóða umferð á milli vefinngangsþjónsins þíns eða aðgangsgáttarþjóns og viðskiptavinaforrita.

Þessi handbók sýnir hvernig á að stilla CA SSL vottorð í HAPorxy. Þessi handbók gerir ráð fyrir að þú hafir þegar fengið vottorðið þitt frá CA og sét tilbúinn til að setja það upp og stilla það á HAProxy netþjóni.

Væntanlegar skrár eru:

  • Skírteinið sjálft.
  • Millivottorðin einnig kölluð búnt eða keðjur, og.
  • Rót CA, ef það er tiltækt, og.
  • Persónulykillinn.

Búðu til PEM-sniðið SSL vottorðsskrá

Áður en þú stillir CA vottorðið þitt í HAProxy þarftu að skilja að HAProxy  krefst einni .pem skrá sem ætti að innihalda innihald allra ofangreindra skráa, samtengdar í eftirfarandi röð:

  • Persónulykillinn sem endar á .key, (getur komið í byrjun eða lok skráarinnar).
  • Fylgt eftir af SSL vottorðinu (endar venjulega á .crt).
  • Síðan CA-búntið (endar venjulega á .ca-búnt), og
  • Rót CA, ef það er tiltækt.

Til að búa til .pem skrána, farðu inn í möppuna sem inniheldur vottorðaskrárnar þínar, td ~/Downloads, keyrðu síðan cat skipunina svona (skipta um skráarnöfnin í samræmi við það):

$ cat example.com.key STAR_example_com/STAR_example_com.crt STAR_example_com/STAR_example_com.ca-bundle > example.com.pem

Stilltu PEM SSL vottorð í HAProxy

Næst skaltu hlaða upp .pem vottorðsskránni sem nýlega var búin til á HAProxy netþjóninn með því að nota scp skipunina eins og sýnt er (skipta um sysadmin og 192.168.10.24 með notandanafni ytra netþjóns og IP tölu í sömu röð):

$ scp example.com.pem  [email :/home/sysadmin/

Búðu síðan til möppu þar sem skírteinið .pem verður geymt með því að nota mkdir skipunina og afritaðu skrána inn í hana:

$ sudo mkdir -p /etc/ssl/example.com/
$ sudo cp example.com.pem /etc/ssl/example.com/

Næst skaltu opna HAProxy stillingarskrána þína og stilla skírteinið undir framenda hlustandahlutanum með því að nota ssl og crt færibreyturnar: sú fyrrnefnda gerir SSL lokun kleift og sú síðarnefnda tilgreinir staðsetningu vottorðsskrárinnar.

frontend http_frontend
      mode http
      bind *:80
      bind *:443 ssl crt  /etc/ssl/example.com/example.com.pem alpn h2,http/1.1
     redirect scheme https code 301 if !{ ssl_fc }
      default_backend http_servers

Ekki er mælt með notkun á tilteknum útgáfum af SSL/TLS núna vegna veikleika sem hafa uppgötvast í þeim. Til að takmarka studda útgáfu af SSL geturðu bætt við ssl-min-ver færibreytunni svona:

bind *:443 ssl crt  /etc/ssl/example.com/example.com.pem alpn h2,http/1.1   ssl-min-ver TLSv1.2

Stilltu HAProxy til að beina HTTP til HTTPS

Til að tryggja að vefsíðan þín sé aðeins aðgengileg í gegnum HTTPS þarftu að gera HAProxy kleift að beina allri HTTP umferð yfir á HTTPS ef notandi reynir að fá aðgang að henni yfir HTTP (gátt 80).

Bættu eftirfarandi línu við ofangreinda stillingu:

redirect scheme https code 301 if !{ ssl_fc }
OR
http-request redirect scheme https unless { ssl_fc }

Framendahlutinn þinn ætti nú að líta út eins og sá í þessari sýnishornsstillingu:

frontend http_frontend
      mode http
      bind *:80
      bind *:443 ssl crt  /etc/ssl/example.com/example.com.pem alpn h2,http/1.1  ssl-min-ver TLSv1.2
      redirect scheme https code 301 if !{ ssl_fc }
      default_backend   http_servers

backend http_servers
      mode http
      balance roundrobin
      option httpchk HEAD /
      http-response set-header X-Frame-Options SAMEORIGIN
      http-response set-header X-XSS-Protection 1;mode=block
      http-response set-header X-Content-Type-Options nosniff
      default-server check maxconn 5000
      server http_server1 10.2.1.55:80

Vistaðu stillingarskrána og lokaðu henni.

Athugaðu síðan hvort setningafræði þess sé rétt með því að nota eftirfarandi skipun:

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

Ef stillingarskráin er gild skaltu halda áfram og endurhlaða haproxy þjónustuna til að taka upp nýlegar breytingar á uppsetningunni, með því að nota systemctl skipunina:

$ sudo systemctl reload haproxy

Síðast en ekki síst, prófaðu alla uppsetninguna með því að fara á vefsíðuna þína úr vafra og ganga úr skugga um að skírteinið hleðst vel og vafrinn gefur til kynna að \Tengingin sé örugg!

Það er allt og sumt! Við vonum að þessi handbók hafi hjálpað þér að stilla SSL vottorð í HAProxy hleðslujöfnunarhugbúnaði. Ef þú lendir í einhverjum villum, láttu okkur vita í gegnum athugasemdaformið hér að neðan. Við munum vera fús til að hjálpa þér.