Configurați Apache2 HTTP cu certificate SSL / TLS auto-semnate pe serverele Ubuntu 16.04 LTS

  • Eustace Evans
  • 0
  • 1816
  • 498

Când efectuați testări interne în medii de dezvoltare ... este posibil să nu aveți nevoie de certificate SSL / TLS semnate public. Deși v-am arătat cum să obțineți certificate Let's Encrypt gratuite, dacă site-ul dvs. nu este accesibil publicului sau nu i se atribuie un public cu domeniu, Let's Encrypt nu va funcționa pentru dvs. ...

Singura dvs. opțiune este să utilizați certificate auto-semnate ...

Certificatul SSL / TLS este un mecanism care permite comunicarea privată între două dispozitive de rețea. Este un protocol care permite comunicarea sigură între serverele web și clienții web și multe alte servicii de rețea ...

Când vine vorba de implementări SSL / TLS, există practic două tipuri de certificate: Un certificat public și privat ... Certificatele publice sunt acelea care sunt utilizate pe site-uri web și alte resurse cu care se confruntă publicul ... iar cele private sau autosemnate sunt cele care sunt generate intern, mai ales pentru testare ... Când sunteți gata să configurați Apache2 cu certificate auto-semnate, continuați mai jos:

Pasul 1: Instalați Apache2 HTTP Web Server

Dacă nu aveți deja instalat Apache2 HTTP Server, comenzile de mai jos vă pot ajuta să îl instalați pe Ubuntu 16.04 LTS ... Doar copiați și lipiți fiecare linie și rulați-l.

sudo apt update sudo apt install apache2

După instalarea Apache2, treceți la pasul 2 pentru a genera un certificat SSL / TLS autosemnat pentru site-ul web Apache2 ...

Pasul 2: Crearea certificatelor autosemnate

Când nu puteți instala sau permite certificate de încredere de la o autoritate de certificare, puteți trece cu certificate auto-semnate. Atât certificatele de încredere, cât și cele autosemnate sunt aceleași și utilizează aceleași protocoale ... singura diferență este că unul este de încredere de către o terță parte, iar celălalt nu.

Când sunteți gata, rulați comenzile de mai jos pentru a genera cheia privată a serverului, precum și certificatul SSL / TLS autosemnat pentru domeniul example.com… Vei folosi.

sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout /etc/ssl/private/example.com.key -out /etc/ssl/certs/example.com.crt

După executarea comenzilor de mai sus, vi se va solicita să răspundeți la câteva întrebări despre certificatul pe care îl generați ... răspundeți-le și finalizați procesul.

Generarea unei chei private RSA de 2048 biți… +++… +++ scrierea unei noi chei private în „mydomain.key” ----- Vi se va cere să introduceți informații care vor fi încorporate în cererea dvs. de certificat. Ceea ce urmează să introduceți este ceea ce se numește un nume distinct sau un DN. Există destul de multe câmpuri, dar puteți lăsa unele necompletate. Pentru unele câmpuri va exista o valoare implicită, dacă introduceți „.”, Câmpul va fi lăsat necompletat. ----- Nume țară (cod cu 2 litere) [AU]: Numele statului sau provinciei SUA (numele complet) [Unul stat]: Numele localității New York (de exemplu, oraș) []: Nume organizație Brookly (de exemplu, companie ) [Internet Widgits Pty Ltd]: Exemplu de nume de unitate organizațională a companiei (de exemplu, secțiune) []: SSL Nume comun al unității (de ex. Server FQDN sau numele TĂU) []: example.com Adresă de e-mail []: [email protected] Vă rugăm să introduceți următoarele atribute „suplimentare” pentru a fi trimise împreună cu cererea dvs. de certificat O parolă de provocare []: LASĂ BLANK Un nume de companie opțional []:

Când ați terminat mai sus, fișierul cu cheie privată va fi stocat în / etc / ssl / private / folder numit example.com.key și fișierul certificat stocat în / etc / ssl / certs / folder numit example.com.crt așa cum este definit în linia de comandă de mai sus.

Veți avea nevoie ca ambele fișiere să fie menționate în setările de configurare Apache2 ...

Pasul 3: Instalarea certificatelor

După generarea certificatului, următorul pas va fi instalarea acestuia pe serverul Apache2. Pentru aceasta, deschideți fișierul de configurare Apache2 SSL / TLS în Ubuntu și adăugați liniile evidențiate mai jos ...

sudo nano /etc/apache2/sites-available/default-ssl.conf

Apoi, faceți referire la fișierele de certificate din configurația Apache2, așa cum se arată mai jos:

   ServerAdmin webmaster @ localhost ServerName example.com ServerAlias ​​www.example.com DocumentRoot / var / www / html ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combinat #Include conf-available / serve-cgi- bin.conf # Comutator motor SSL: # Activați / dezactivați SSL pentru această gazdă virtuală. SSLEngine on SSLCertificateFile /etc/ssl/certs/example.com.crt SSLCertificateKeyFile /etc/ssl/private/example.com.key # #SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem #SSLCertificateKeyFile / etc / ssl / private / ssl-cert-snakeoil.key ...   

Salvați fișierul și închideți ... .

Apoi, deschideți fișierul de configurare implicit al site-ului Apache2 și asigurați-vă că numele domeniului este definit.

sudo nano /etc/apache2/sites-available/000-default.conf

Și definiți numele serverului așa cum se arată mai jos:

 # Directiva ServerName stabilește schema de solicitare, numele de gazdă și portul pe care # valoarea nu este decisivă, deoarece este utilizată ca gazdă de ultimă instanță, indiferent. # Cu toate acestea, trebuie să o setați în mod explicit pentru orice altă gazdă virtuală. ServerName example.com ServerAlias ​​www.example.com ServerAdmin webmaster @ localhost DocumentRoot / var / www / html ...  

După efectuarea modificărilor de mai sus, rulați comenzile de mai jos pentru a testa setările și pentru a activa modulul SSL Apache2.

sudo apachectl configtest sudo a2enmod ssl sudo a2ensite default-ssl 

Dacă nu vedeți mesaje de eroare, atunci sunteți bine. Reporniți serverul web Apache2 executând comenzile de mai jos.

sudo systemctl reporniți apache2.service

Apoi, navigați la domeniul serverului utilizând https în browserul dvs. și veți primi un avertisment de certificat, deoarece este un autosemnat. Dacă vedeți un avertisment de certificat că certificatul poate fi de încredere, atunci funcționează ...

Continuați site-ul ... deoarece aveți încredere în propriile certificate autosemnate ... Nu este recomandat să mergeți la site-uri în care nu aveți încredere.

Asta e! Acesta este modul în care se creează certificate auto-semnate pentru a suporta serverul HTTP Apache2.

Bucurați-vă!

S-ar putea să vă placă și această postare:

Configurați certificatele SSL / TLS auto-semnate ale serverului HTTP Nginx pe serverele Ubuntu 16.04 LTS




Nimeni nu a comentat acest articol încă.

O colecție de informații utile despre sistemul de operare Linux și noile tehnologii
Articole proaspete, sfaturi practice, recenzii detaliate și ghiduri. Simțiți-vă ca acasă în lumea sistemului de operare Linux