CA SSL -varmenteen määrittäminen HAProxyssa


HAProxy on laajalti käytetty, luotettava, korkean suorituskyvyn käänteinen välityspalvelin, joka tarjoaa korkean käytettävyyden ja kuormituksen tasapainotusominaisuudet TCP- ja HTTP-sovelluksiin. Oletusarvoisesti se on käännetty OpenSSL:llä, mikä tukee SSL:n lopettamista, jolloin verkkosivustosi/sovelluspino voi salata ja purkaa liikennettä "verkkosyöttöpalvelimesi" tai sovelluksen pääsyyhdyskäytävän välillä. palvelin- ja asiakassovellukset.

Tämä opas näyttää, kuinka CA SSL -varmenne määritetään HAPorxyssa. Tässä oppaassa oletetaan, että olet jo saanut varmenteen CA:lta ja olet valmis asentamaan ja konfiguroimaan sen HAProxy-palvelimelle.

Odotetut tiedostot ovat:

  • Itse todistus.
  • Välisertifikaatteja kutsutaan myös nipuiksi tai ketjuiksi, ja.
  • Päävarmentaja, jos saatavilla, ja.
  • Yksityinen avain.

Luo PEM-muotoinen SSL-varmennetiedosto

Ennen kuin määrität CA-varmenteen HAProxyssa, sinun on ymmärrettävä, että HAProxy vaatii yhden .pem-tiedoston, joka tulee sisältää kaikkien yllä olevien tiedostojen sisältö ketjutettuna seuraavassa järjestyksessä:

  • Yksityinen avain, jonka lopussa on .key (voi olla tiedoston alussa tai lopussa).
  • Sitä seuraa SSL-sertifikaatti (päättyy yleensä .crt).
  • Sitten CA-paketti (päättyy yleensä .ca-bundle) ja
  • Päävarmentaja, jos saatavilla.

Luo .pem-tiedosto siirtymällä hakemistoon, jossa on varmennetiedostot, esim. ~/Downloads, ja suorita cat-komento seuraavasti (korvaa tiedostojen nimet vastaavasti):

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

Määritä PEM SSL -sertifikaatti HAProxyssa

Lataa seuraavaksi juuri luotu .pem-varmennetiedosto HAProxy-palvelimeen käyttämällä scp-komentoa kuvan mukaisesti (korvaa sysadmin ja 192.168. 10.24 etäpalvelimen käyttäjänimellä ja IP-osoitteella:

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

Luo sitten hakemisto, johon varmenne .pem-tiedosto tallennetaan mkdir-komennolla ja kopioi tiedosto siihen:

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

Avaa seuraavaksi HAProxy-määritystiedosto ja määritä varmenne käyttöliittymän kuuntelijaosiossa käyttämällä ssl- ja crt-parametreja: edellinen mahdollistaa SSL:n lopettamisen ja jälkimmäinen määrittää varmennetiedoston sijainnin.

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

Tiettyjä SSL/TLS-versioita ei suositella käytettäväksi nyt, koska niissä on havaittu haavoittuvuuksia. Voit rajoittaa SSL:n tuettua versiota lisäämällä parametrin ssl-min-ver seuraavasti:

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

Määritä HAProxy ohjaamaan HTTP HTTPS:ään

Varmistaaksesi, että verkkosivustoosi pääsee vain HTTPS:n kautta, sinun on otettava HAProxy käyttöön ohjaamaan kaikki HTTP-liikenne HTTPS:ään, jos käyttäjä yrittää käyttää sitä HTTP:n kautta (portti 80).

Lisää seuraava rivi yllä olevaan kokoonpanoon:

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

Käyttöliittymäosiosi pitäisi nyt näyttää samalta kuin tässä esimerkkikokoonpanossa:

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

Tallenna asetustiedosto ja sulje se.

Tarkista sitten, onko sen syntaksi oikea käyttämällä seuraavaa komentoa:

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

Jos määritystiedosto on kelvollinen, siirry eteenpäin ja lataa haproxy-palvelu uudelleen poimimaan viimeisimmät kokoonpanon muutokset käyttämällä systemctl-komentoa:

sudo systemctl reload haproxy

Viimeisenä mutta ei vähäisimpänä, testaa koko asennus siirtymällä verkkosivustollesi verkkoselaimella ja varmista, että varmenne latautuu hyvin ja että selain ilmoittaa, että "Yhteys on turvallinen"!

Siinä kaikki! Toivomme, että tämä opas on auttanut sinua määrittämään SSL-varmenteen HAProxy load balancer -ohjelmistossa. Jos kohtaat virheitä, ilmoita siitä meille alla olevan palautelomakkeen kautta. Autamme sinua mielellämme.