Kako implementirati ZeroSSL certifikat u Apache i Nginx?

Pogledajmo kako dobiti besplatni SSL / TLS certifikat od ZeroSSL i implementirati ga na web poslužitelje Apache i Nginx..


Uvod

Možda ste čuli mnogo o pojmu poput HTTP i HTTPS. U ranim je danima definiran protokol koji je imenovan kao HyperText Transfer Protocol (HTTP). To je način komuniciranja s preglednika na web poslužitelj. Kad se takva komunikacija dogodi, podaci koji putuju na HTTP protokolu samo putuju u jasnim tekstualnim formatima. Zbog toga je shvaćeno da HTTP komunikacija nije sigurna, pa su hakeri mogli napasti i presresti važne i osjetljive poruke.

Da bi riješio taj problem, HTTPS protokol je ušao u sliku. To je siguran protokol, a skraćenica je za HyperText Transfer Protocol zaštićen. Jednostavno šifrira podatke kada se komunikacija dogodi, a podaci putuju od web preglednika do web poslužitelja. Tako da ako bilo koji haker pokupi te informacije, sve je šifrirano.

Kako funkcionira HTTPS?

HTTPS protokol radi u bilo kojoj od dvije stvari, to je SSL (Secure Socket Layer) ili TLS (Transport Layer Security). Oba alata koriste PKI (infrastrukturu javnog ključa). PKI, zauzvrat, koristi dva ključa, tj. javni i privatni ključevi. Sve što je šifrirano pomoću javnog ključa može se dešifrirati privatnim ključem i obrnuto.

Kada na svoju web stranicu instaliramo SSL / TLS certifikat, ‘enkripcija podatakaZnačajka postaje omogućena. SSL se koristi kao kontrolna točka kako bi se zajamčila sigurnost podataka koji se putem Interneta razmjenjuju između korisničkog preglednika i poslužitelja web mjesta.

Dobijanje ZeroSSL certifikata

ZeroSSL je autoritet za certifikate (CA) koji svima olakšava instalaciju certifikata radi zaštite web stranice. Možete dobiti do 3 certifikata s valjanošću od 90 dana besplatno.

Nula SSL

  • Prijavite se putem ZeroSSL
  • Nakon prijave, pojavit će se stranica u nastavku. Kliknite na ‘Nova potvrda. “

  • Unesite URL koji želite osigurati i kliknite na “Sljedeći korak.

  • Odaberite potvrdu od 90 dana i Dalje

  • Krenimo s automatski generiranom CSR opcijom

  • Nastavite s planom “Besplatno”

Zatim ćete morati potvrditi vlasništvo nad domenom. Postoji nekoliko opcija.

  • DNS – ako možete dodati unos DNS zapisa
  • E-pošta – ako možete primiti e-poštu na [E zaštićeni]
  • Prijenos datoteke – ako možete učitati datoteku u korijenu domene

Odaberite ono što vam najbolje odgovara. Nastavit ću s unosom DNS-a.

  • Dodao sam CNAME i spreman za potvrdu domene.

  • Konačno, nakon provjere, SSL certifikat spreman je za preuzimanje.

Evo mojih preuzetih potvrda.

Vrijeme je za njegovo provođenje.

Implementacija na Apacheu

U nastavku ću instalirati Apache na Ubuntu.

Prijavite se na poslužitelj i instalirajte pomoću apt-get naredbe.

sudo apt-get install apache2

Otkrijmo ima li Apache sustav pomoću naredbe systemctl.

[E zaštićeni]: ~ # systemctl status apache2
● apache2.service – HTTP poslužitelj Apache
Opterećen: učitan (/lib/systemd/system/apache2.service; omogućeno; unaprijed postavljeno dobavljač: omogućeno)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Aktivno: aktivno (u tijeku) od Sub 2020-05-23 16:15:56 UTC; Prije 3 s
Proces: 7852 ExecStop = / usr / sbin / apachectl stop (kod = izašao, status = 0 / USPJEH)
Proces: 14179 ExecStart = / usr / sbin / apachectl start (kod = izašao, status = 0 / SUCCESS)
Glavni PID: 14196 (apache2)
Zadaci: 55 (ograničenje: 2362)
CGroup: /system.slice/apache2.service
├─14196 / usr / sbin / apache2 -k početak
├─14199 / usr / sbin / apache2 -k početak
└─14200 / usr / sbin / apache2 -k početak

23. svibnja 16:15:56 geekflare-lab systemd [1]: Pokretanje Apache HTTP poslužitelja…
23. svibnja 16:15:56 geekflare-lab apachectl [14179]: AH00558: apache2: Nije moguće pouzdano odrediti potpuno kvalificirano ime domene poslužitelja, koristeći 127.0.1.1. Postavite “Posluživanje
23. svibnja 16:15:56 geekflare-lab sustav [1]: Pokrenut Apache HTTP poslužitelj.

Sjajno, to je trčanje.

Moja domena (lab.geekflare.com) već pokazuje na ovaj Apache server.

Ali kao što vidite, nije osigurana i zato ćemo konfigurirati certifikat koji smo dobili od ZeroSSL.

  • Kreirajmo direktoriju zvanu sslCA ispod / etc za pohranu datoteka sa certifikatima.

CD / itd
mkdir sslCA

  • Prenesite datoteke u novostvorenu mapu na poslužitelju

[E zaštićeni]: / etc / sslCA # ll
ukupno 20
drwxr-xr-x 2 korijena korijena 4096. 18. svibnja 12.13 ./
drwxr-xr-x 92 korijen korijena 4096 22. svibnja 06:07 ../
-rw-r – r– 1 korijen korijena 2430. 18. svibnja 05:37 ca_bundle.crt
-rw-r – r– 1 korijen korijena 2292. 18. svibnja 05:37 certifikat.crt
-rw-r – r– 1 korijen korijena 1702 18. svibnja 05:37 privatno.key

  • Omogući SSL modul

sudo a2enmod SSL

  • Morat ćemo ponovo pokrenuti web poslužitelj kako bi promjene mogle biti prepoznate.

ponovno pokrenuti sudo servis apache2

  • Sljedeći je korak konfiguriranje datoteka certifikata u Apache SSL konfiguracijskoj datoteci.

dostupni CD-i / etc / apache2 / mods

  • Ime datoteke je ssl.conf. Moramo dodati sljedeće u direktivu.

SSLEngine na
SSLCertificateFile /etc/SSLCA/certificate.crt
SSLCertificateKeyFile /etc/SSLCA/private.key
SSLCertificateChainFile /etc/SSLCA/ca_bundle.crt

  • Spremite datoteku i izađite: wq!

Nakon izvođenja ponovnog pokretanja, SSL će dobiti mogućnost na web mjestu. Pristupimo web mjestu putem https: //

I, kao što vidite, „Veza je sigurna ”. To znači da je naš SSL certifikat uspješno primijenjen na naš web poslužitelj.

Implementacija na Nginxu

Nginx se nalazi u zadanim spremištima Ubuntua, pa ga je moguće instalirati odavde pomoću odgovarajućeg sustava pakiranja.

  • Naredba u nastavku koristi se za instalaciju „Nginx”.

sudo apt instalirati nginx

  • Nakon što instalacija postigne uspjeh, možemo pokrenuti Nginx pomoću naredbe dolje.

systemctl start nginx

  • Provjerite status Nginx.

[E zaštićeni]: ~ # statusctl status nginx
● nginx.service – web-poslužitelj visokih performansi i obrnuti proxy poslužitelj
Opterećen: učitan (/lib/systemd/system/nginx.service; omogućeno; unaprijed postavljeno dobavljač: omogućeno)
Aktivno: aktivno (traje) od Uto 2020-05-19 06:54:00 UTC; Prije 4 dana
Dokumenti: čovjek: nginx (8)
Proces: 8634 ExecStop = / sbin / start-stop-daemon – miran – stop –retry QUIT / 5 –pidfile /run/nginx.pid (kôd = izašao, status = 0 / USPJEH)
Proces: 8661 ExecStart = / usr / sbin / nginx -g daemon uključen; master_process uključen; (kod = izašao, status = 0 / USPJEH)
Proces: 8653 ExecStartPre = / usr / sbin / nginx -t -q -g daemon uključen; master_process uključen; (kod = izašao, status = 0 / USPJEH)
Glavni PID: 8664 (nginx)
Zadaci: 2 (ograničenje: 2362)
CGroup: /system.slice/nginx.service
├─8664 nginx: master postupak / usr / sbin / nginx -g daemon uključen; master_process uključen;
└─8707 nginx: radnički proces

19. svibnja 06:54:00 geekflare-lab systemd [1]: Pokretanje web poslužitelja visoke performanse i obrnutog proxy poslužitelja…
19. svibnja 06:54:00 geekflare-lab systemd [1]: nginx.service: Nije uspio raščlaniti PID iz datoteke /run/nginx.pid: Nevaljani argument
19. svibnja 06:54:00 geekflare-lab systemd [1]: Započeo web-poslužitelj visoke performanse i obrnuti proxy poslužitelj.

  • Kao što se očekivalo, preglednik će prikazati upozorenje jer veza s ovom web stranicom nije sigurna.

Brzo implementiramo potvrdu da web-lokacija postane sigurna pomoću HTTPS-a.

  • Kreirajmo datoteku example.com.conf na /etc/nginx/conf.d lokaciji. Sadržaj datoteke izgledat će dolje.

poslužitelj {
slušajte 443 SSL default_server;
slušaj [::]: 443 SSL default_server;
server_name lab.geekflare.com lab.geekflare.com;
root / var / www / html;
}

  • Sada je potrebno dodati naziv datoteke certifikata u datoteku nginx.conf koja se nalazi u direktoriju “/ etc / nginx”.
  • U http direktivu dodajte sljedeće

ssl_certificate /etc/sslCA/certificate.crt;
ssl_certificate_key /etc/sslCA/private.key;

  • Ponovno pokrenite Nginx za provjeru promjena

ponovno pokrenuti sustav nginx

I evo nas.

Zainteresirani za učenje Nginxa? Pogledajte ovo tečaj osnova.

Testiranje SSL / TLS konfiguracije

Zadana konfiguracija može biti ranjiva, te toplo predlažem testiranje vaše web lokacije nakon provedbe certifikata. Ovdje možete pregledati brojne alate na mreži.

Zaključak

Nadam se da vam ovo daje ideju o dobivanju certifikata od ZeroSSL i implementaciji na dva najpopularnija web poslužitelja.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map