Ինչպե՞ս միացնել HTTPS-ը լաք քեշի համար՝ օգտագործելով Hitch-ը CentOS/RHEL 8-ում:


Ինտերնետային անվտանգության այսօրվա աշխարհում HTTPS-ի միացումը ձեր կայքում շատ կարևոր է ձեր օգտատերերի տվյալների գաղտնիությունն ու անվտանգությունն ապահովելու համար: Դրան հասնելու ուղիներից մեկը Varnish Cache-ի և Hitch-ի՝ թեթև TLS վստահված անձի օգտագործումն է՝ SSL/TLS մշակումը Varnish-ից բեռնաթափելու համար:

Այս հոդվածում մենք ձեզ կառաջնորդենք HTTPS-ը լաք քեշի համար HTTPS-ի միացման գործընթացում՝ օգտագործելով Hitch-ը CentOS/RHEL 8-ում:

Նախադրյալներ

Նախքան սկսելը, համոզվեք, որ ունեք հետևյալը

  • CentOS/RHEL 8 սերվեր

  • Արմատային մուտք դեպի սերվեր

  • Տեղադրված է լաքի քեշ և կցորդիչ

  • Վավեր SSL/TLS վկայագիր և անձնական բանալի

Եթե դուք չունեք տեղադրված Varnish Cache-ը և Hitch-ը, կարող եք դրանք տեղադրել՝ հետևելով այս հրամաններին.

sudo dnf install varnish hitch

Քայլ 1. Կարգավորել Hitch-ը

Նախ, մենք պետք է կարգավորենք Hitch-ը, որպեսզի լսի մի նավահանգիստ և հարցումները փոխանցի Varnish Cache-ին: Դա անելու համար մենք կստեղծենք նոր կազմաձևման ֆայլ /etc/hitch/hitch.conf:

Բացեք ֆայլը ձեր սիրելի տեքստային խմբագրիչում −

sudo nano /etc/hitch/hitch.conf

Ֆայլին ավելացրեք հետևյալ բովանդակությունը −

# Listen on port 443
frontend = "[*]:443"

# Forward requests to Varnish Cache
backend = "[::1]:6081"

# Use the SSL/TLS certificate and private key
pem-file = "/path/to/your/certificate.pem"

Փոխարինեք /path/to/your/certificate.pem-ը ձեր SSL/TLS վկայագրի և անձնական բանալի տանող ճանապարհով:

Պահպանեք և փակեք ֆայլը:

Քայլ 2. Լաքի քեշի կարգավորում

Հաջորդը, մենք պետք է կարգավորենք Varnish Cache-ը, որպեսզի օգտագործենք Hitch-ը որպես իր SSL/TLS վստահված անձ:

Բացեք Varnish Cache-ի կազմաձևման ֆայլը /etc/varnish/varnish.params ձեր տեքստային խմբագրիչում −

sudo nano /etc/varnish/varnish.params

Ֆայլին ավելացրեք հետևյալ բովանդակությունը −

# Use Hitch as the SSL/TLS proxy
VARNISH_BACKEND_PORT=8443
VARNISH_BACKEND_SSL=on
VARNISH_BACKEND_SSL_VERIFY_PEER=on
VARNISH_BACKEND_TLS_CERT=/path/to/your/certificate.pem
VARNISH_BACKEND_TLS_KEY=/path/to/your/certificate.pem

Փոխարինեք /path/to/your/certificate.pem-ը ձեր SSL/TLS վկայագրի և անձնական բանալի տանող ճանապարհով:

Պահպանեք և փակեք ֆայլը:

Քայլ 3. Վերագործարկեք ծառայությունները

Վերջապես, վերագործարկեք Hitch և Varnish Cache ծառայությունները՝ նոր կոնֆիգուրացիաները կիրառելու համար

sudo systemctl restart hitch
sudo systemctl restart varnish

Թեև վերը նշված քայլերը բավարար են HTTPS-ը լաք քեշի համար՝ օգտագործելով Hitch-ը CentOS/RHEL 8-ի համար, կան մի քանի լրացուցիչ բաներ, որոնք կարող եք անել՝ ձեր վեբ կայքի անվտանգությունն էլ ավելի բարձրացնելու համար:

Օգտագործեք հավաստագրման մարմին (CA)

Ինքնաստորագրված SSL/TLS վկայագիր օգտագործելու փոխարեն, հաշվի առեք վստահելի վկայականի (CA) կողմից տրված վկայագիր: Սա կբարելավի ձեր կայքի վստահելիությունը ձեր օգտատերերի աչքում և կկանխի նախազգուշական հաղորդագրությունների հայտնվելը նրանց բրաուզերում:

Դուք կարող եք վկայագիր ստանալ վստահելի CA-ից՝ գնելով այն առևտրային մատակարարից կամ օգտագործելով Let's Encrypt-ի նման անվճար CA:

Իրականացնել HSTS

HTTP Strict Transport Security (HSTS) անվտանգության հատկանիշ է, որը վեբ բրաուզերներին հրահանգում է շփվել ձեր կայքի հետ միայն HTTPS-ի միջոցով որոշակի ժամանակահատվածում: Սա կարող է կանխել վարկանիշի իջեցման հարձակումները և բարելավել ձեր կայքի ընդհանուր անվտանգությունը:

HSTS-ն իրականացնելու համար ավելացրեք հետևյալ վերնագիրը ձեր Hitch կազմաձևման ֆայլում −

# Enable HSTS for 1 year
tls-protos = TLSv1.2
ciphers = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"
hsts = on
hsts-max-age = 31536000
hsts-include-subdomains = on

Սա հնարավորություն կտա HSTS-ին 1 տարով և կներառի բոլոր ենթադոմեյնները:

Իրականացնել OCSP Stapling

Առցանց վկայականի կարգավիճակի արձանագրություն (OCSP) Stapling-ը անվտանգության հատկանիշ է, որը թույլ է տալիս սերվերին ստանալ իր SSL/TLS վկայագրի չեղյալ հայտարարման կարգավիճակը CA-ից և տրամադրել այն հաճախորդին: Սա կարող է բարելավել ձեր կայքի աշխատանքը և անվտանգությունը՝ նվազեցնելով վկայագրի չեղյալ հայտարարման կարգավիճակը ստուգելու ժամանակը:

OCSP Stapling-ն իրականացնելու համար ավելացրեք հետևյալ տողերը ձեր Hitch կազմաձևման ֆայլում

# Enable OCSP Stapling
ocsp-dir = "/var/lib/hitch/ocsp"
verify-ocsp = on

Սա հնարավորություն կտա OCSP Stapling-ը և կպահի պատասխանները /var/lib/hitch/ocsp գրացուցակում:

Անվտանգության այս լրացուցիչ առանձնահատկությունների ներդրմամբ դուք կարող եք էլ ավելի բարձրացնել ձեր կայքի անվտանգությունն ու վստահելիությունը:

Ահա մի քանի լրացուցիչ քայլեր, որոնք կարող եք ձեռնարկել Varnish Cache-ի և Hitch-ի աշխատանքը օպտիմալացնելու համար

Օգտագործեք HTTP/2

HTTP/2-ը HTTP արձանագրության հիմնական վերանայումն է, որը զգալիորեն բարելավում է վեբ էջերի աշխատանքը: Այն աջակցում է այնպիսի գործառույթների, ինչպիսիք են սերվերի սեղմումը, մուլտիպլեքսավորումը և վերնագրի սեղմումը, ինչը կարող է նվազեցնել հարցումների քանակը և բարելավել ձեր վեբ կայքի բեռնման արագությունը:

HTTP/2-ն օգտագործելու համար անհրաժեշտ է այն միացնել ինչպես Varnish Cache-ում, այնպես էլ Hitch-ում: Ահա թե ինչպես −

Varnish Cache-ում ավելացրեք հետևյալ տողը /etc/varnish/varnish.params ֆայլին −

# Enable HTTP/2
VARNISH_LISTEN_PORT=80,8080 v1

Hitch-ում ավելացրեք հետևյալ տողը /etc/hitch/hitch.conf ֆայլին −

# Enable HTTP/2
alpn-protos = h2,h2c,http/1.1

Այս փոփոխությունները կատարելուց հետո վերագործարկեք Varnish Cache և Hitch ծառայությունները

sudo systemctl restart varnish
sudo systemctl restart hitch

Քեշի ստատիկ բովանդակություն

Ստատիկ բովանդակության քեշավորումը, ինչպիսիք են պատկերները, CSS և JavaScript ֆայլերը, կարող է զգալիորեն բարելավել ձեր վեբ կայքի աշխատանքը: Քեշավորելով այս ֆայլերը Varnish Cache-ում, դուք կարող եք նվազեցնել հարցումների քանակը և արագացնել ձեր օգտատերերի բեռնման ժամանակը:

Varnish Cache-ում ստատիկ բովանդակությունը քեշավորելու համար դուք պետք է ավելացնեք հետևյալ տողերը ձեր Varnish Cache-ի կազմաձևման ֆայլում (/etc/varnish/default.vcl) -

# Cache static content for 1 day
sub vcl_recv {
   if (req.url ~ "\.(jpg|jpeg|gif|png|bmp|ico|pdf|flv|swf|css|js)(\?.*|)$") {
      unset req.http.Cookie;
      set req.url = regsub(req.url, "\?.*$", "");
      set req.http.static = "YES";
      if (req.request == "GET") {
         return (hash);
      }
      return (pass);
   }
}

sub vcl_backend_response {
   if (bereq.http.static == "YES") {
      set beresp.ttl = 1d;
   }
}

Սա կքեշի ստատիկ բովանդակությունը 1 օր և կշրջանցի քեշը այլ հարցումների համար:

Monitor Performance

Վերջապես, կարևոր է վերահսկել ձեր կայքի աշխատանքը և անհրաժեշտության դեպքում ճշգրտումներ կատարել: Դուք կարող եք օգտագործել այնպիսի գործիքներ, ինչպիսիք են Varnishstat-ը և Hitchstats-ը՝ համապատասխանաբար Varnish Cache-ի և Hitch-ի աշխատանքը վերահսկելու համար:

Varnishstat-ն օգտագործելու համար գործարկեք հետևյալ հրամանը −

varnishstat

Hitchstats-ն օգտագործելու համար գործարկեք հետևյալ հրամանը −

hitch-stats --frontend=127.0.0.1:8443

Այս գործիքները ձեզ արժեքավոր պատկերացումներ կտան ձեր կայքի աշխատանքի վերաբերյալ և կօգնեն ձեզ բացահայտել բարելավման ոլորտները:

Հետևելով այս քայլերին՝ դուք կարող եք օպտիմալացնել Varnish Cache-ի և Hitch-ի աշխատանքը և ձեր օգտատերերին տրամադրել արագ և անվտանգ զննարկման փորձ:

Եզրակացություն

Այս հոդվածում մենք ձեզ ցույց տվեցինք, թե ինչպես միացնել HTTPS-ը լաքի քեշի համար՝ օգտագործելով Hitch-ը CentOS/RHEL 8-ում: SSL/TLS մշակումը Hitch-ում բեռնաթափելով՝ մենք բարելավել ենք մեր կայքի աշխատանքը և անվտանգությունը: Հիշեք, որ ձեր SSL/TLS վկայականը և անձնական բանալին ապահով և արդիական պահեք՝ ձեր օգտատերերի տվյալների շարունակական անվտանգությունն ապահովելու համար: