Kif tikkonfigura Ċertifikat SSL CA f'HAProxy
L-HAProxy huwa prokura inversa użata ħafna, affidabbli, ta 'prestazzjoni għolja, li toffri kapaċitajiet ta' disponibbiltà għolja u ta 'ibbilanċjar tat-tagħbija għal applikazzjonijiet TCP u HTTP. B'mod awtomatiku, hija kkompilata b'OpenSSL, u b'hekk tappoġġja t-terminazzjoni SSL, li tippermetti lill-websajt/il-munzell tal-applikazzjonijiet tiegħek biex jikkripta u jiddeċifra t-traffiku bejn \web entry server tiegħek jew is-server tal-gateway tal-aċċess għall-applikazzjoni u l-applikazzjonijiet tal-klijenti.
Din il-gwida turi kif tikkonfigura ċertifikat CA SSL f'HAPorxy. Din il-gwida tassumi li diġà rċevejt iċ-ċertifikat tiegħek mill-CA u lest biex tinstallah u tikkonfigurah fuq server HAProxy.
Il-fajls mistennija huma:
- Iċ-ċertifikat innifsu.
- Iċ-ċertifikati intermedji imsejħa wkoll qatet jew ktajjen, u.
- L-għerq CA, jekk disponibbli, u.
- Iċ-ċavetta privata.
Oħloq Fajl taċ-Ċertifikat SSL ifformattjat bil-PEM
Qabel ma tikkonfigura ċ-ċertifikat CA tiegħek f'HAProxy, trid tifhem li HAProxy jeħtieġ fajl wieħed .pem
li għandu jkun fih il-kontenut tal-fajls kollha ta' hawn fuq, magħqudin fl-ordni li ġejja:
- Iċ-ċavetta privata li tispiċċa b'
.key
, (tista' tiġi fil-bidu jew fit-tmiem tal-fajl). - Segwit miċ-Ċertifikat SSL (normalment jispiċċa b'
.crt
). - Imbagħad il-CA-Bundle (ġeneralment jispiċċa b'
.ca-bundle
), u - L-għerq CA, jekk disponibbli.
Biex toħloq il-fajl .pem
, imxi fid-direttorju li għandu l-fajls taċ-ċertifikati tiegħek eż. ~/Downloads, imbagħad mexxi l-kmand tal-qtates bħal dan (ibdel l-ismijiet tal-fajls kif xieraq):
$ cat example.com.key STAR_example_com/STAR_example_com.crt STAR_example_com/STAR_example_com.ca-bundle > example.com.pem
Ikkonfigura Ċertifikat SSL PEM f'HAProxy
Sussegwentement, ittella' l-fajl taċ-ċertifikat .pem
li għadu kif inħoloq fuq is-server HAProxy billi tuża l-kmand scp kif muri (issostitwixxi sysadmin u 192.168.10.24 bl-isem tal-utent tas-server remot u l-indirizz IP rispettivament):
$ scp example.com.pem [email :/home/sysadmin/
Imbagħad oħloq direttorju fejn il-fajl taċ-ċertifikat .pem
se jinħażen bl-użu tal-kmand mkdir u kkopja l-fajl fih:
$ sudo mkdir -p /etc/ssl/example.com/ $ sudo cp example.com.pem /etc/ssl/example.com/
Sussegwentement, iftaħ il-fajl tal-konfigurazzjoni HAProxy tiegħek u kkonfigura ċ-ċertifikat taħt is-sezzjoni tas-semmiegħ tal-frontend, billi tuża l-parametri ssl u crt: l-ewwel jippermetti t-terminazzjoni SSL u l-aħħar jispeċifika l-post tal-fajl taċ-ċertifikat.
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
Ċerti verżjonijiet ta' SSL/TLS mhumiex rakkomandati għall-użu issa minħabba vulnerabbiltajiet li ġew skoperti fihom. Biex tillimita l-verżjoni appoġġjata ta 'SSL, tista' żżid il-parametru ssl-min-ver bħal dan:
bind *:443 ssl crt /etc/ssl/example.com/example.com.pem alpn h2,http/1.1 ssl-min-ver TLSv1.2
Ikkonfigura HAProxy biex tirriindirizza HTTP għal HTTPS
Biex tiżgura li l-websajt tiegħek tkun aċċessibbli biss permezz ta' HTTPS, trid tippermetti lil HAProxy biex terġa' tindirizza t-traffiku HTTP kollu għal HTTPS f'każ li utent jipprova jaċċessah fuq HTTP (port 80).
Żid il-linja li ġejja mal-konfigurazzjoni ta' hawn fuq:
redirect scheme https code 301 if !{ ssl_fc } OR http-request redirect scheme https unless { ssl_fc }
Is-sezzjoni tal-frontend tiegħek issa għandha tidher bħal dik f'din il-konfigurazzjoni tal-kampjun:
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
Issejvja l-fajl tal-konfigurazzjoni u agħlaq.
Imbagħad iċċekkja jekk is-sintassi tagħha hijiex korretta billi tuża l-kmand li ġej:
$ sudo haproxy -f /etc/haproxy/haproxy.cfg -c
Jekk il-fajl tal-konfigurazzjoni huwa validu, kompli u erġa' tagħbija s-servizz haproxy biex ttella' l-bidliet riċenti fil-konfigurazzjoni, billi tuża l-kmand systemctl:
$ sudo systemctl reload haproxy
Fl-aħħar iżda mhux l-inqas, ittestja s-setup kollu billi taċċessa l-websajt tiegħek minn web browser u kun żgur li ċ-ċertifikat qed jgħabbi tajjeb u l-browser jindika li l-\Konnessjoni hija sigura!
Dak kollox! Nittamaw li din il-gwida għenet biex tikkonfigura ċertifikat SSL fis-softwer tal-bilanċjar tat-tagħbija HAProxy. Jekk tiltaqa' ma' xi żbalji, għarrafna permezz tal-formola ta' feedback hawn taħt. Inkunu ferħanin li ngħinuk.