Cum se configurează Apache HTTP cu certificat SSL?

Să securizăm Apache cu certificat SSL/TLS.

Odată ce certificatul este implementat, domeniul/IP-ul configurat va fi accesibil prin HTTPS.

Hai sa incepem.

La nivel înalt, vom face următoarele.

  • Compilați Apache HTTP 2.4.5 cu modul SSL
  • Obțineți certificat SSL
  • Configurați Apache să accepte SSL

Instalați Apache cu SSL din sursă

Pentru a configura SSL, Apache HTTP trebuie să fie compilat cu mod_ssl. Voi folosi CentOS 7 VM de la Oceanul digital pentru a demonstra acest lucru.

  • Conectați-vă la serverul Linux cu root și descărcați cea mai recentă versiune de Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .

Notă: poți verifica aici pentru cea mai recentă versiune.

  • Extrage prin comanda gunzip
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
  • Veți avea un nou folder „httpd-2.4.25”
  • Intrați înăuntru și executați următoarea comandă de configurare
./configure --enable-ssl –-enable-so

Notă: Dacă faceți acest lucru pe un server nou-nouț, este posibil să aveți probleme legate de APR, PCRE, OpenSSL și puteți consulta ghidul de depanare.

Asigurați-vă că nu primiți nicio eroare de la comanda de mai sus configure și apoi trebuie să instalați cu comenzile make.

make 
make install

Ca de obicei, asigurați-vă că nu există erori de la comenzile de mai sus. Aceasta concluzionează că ați instalat un server web Apache cu suport SSL.

Obținerea unui certificat SSL

Există mai multe moduri de a genera și de a obține certificatul SSL semnat de autoritatea de certificare.

Dacă doriți să implementați SSL în serverul web Intranet, atunci cea mai mare parte a organizației are o echipă internă de emitere a certificatelor, așa că trebuie să verificați cu ei. Dar încă trebuie să generați o CSR (Certificate Signing Request) și o puteți face folosind OpenSSL.

  Nu vă abonați la Discovery+, obțineți (HBO) Max în schimb

Cu toate acestea, dacă doriți să securizați o adresă URL cu acces la Internet, puteți cumpăra un certificat de la VeriSign, GoDaddy, Namecheap, ZeroSSLetc., sau obțineți un certificat GRATUIT de la Să criptăm.

Let’s Encrypt este un proiect de colaborare Linux Foundation care oferă un certificat SSL/TLS GRATUIT. Voi folosi Let’s Encrypt pentru a obține un certificat pentru domeniul meu – Chandan.io

Există mai multe moduri de a genera CSR, dar cea mai ușoară pe care am găsit-o este utilizarea „SSL GRATUIT” instrument online.

Introduceți adresa URL pe care doriți să o securizați

Verificați deținerea domeniului printr-una dintre metodele enumerate și descărcați fișierele cu certificatul de domeniu.

Veți obține trei fișiere pe care le vom folosi în continuare pentru a configura serverul web Apache.

  • cheie – acesta este fișierul cheie și nu ar trebui să fie partajat public nimănui
  • Certificat – certificat SSL real pentru domeniul dvs
  • Ca_bundle – Certificat rădăcină/intermediar de semnatar
  • Transferați fișierul descărcat pe serverul web. Vom avea nevoie de ele în curând.

    Configurare Apache SSL

    Iar un ultim pas ar fi configurarea Apache astfel încât să poată servi cererea prin HTTPS.

    • Conectați-vă la serverul web Apache
    • Faceți o copie de rezervă a fișierului httpd.conf (locația implicită /usr/local/apache2/conf/)
    • Deschideți fișierul cu editorul vi și asigurați-vă că modulul mod_ssl și httpd-ssl.conf există și nu sunt comentate
    LoadModule ssl_module modules/mod_ssl.so 
    Include conf/extra/httpd-ssl.conf

    Vom folosi fișierul httpd-ssl.conf pentru a configura detaliile certificatului. Există următoarele de care aveți nevoie pentru a vă asigura că există parametrii potriviți.

  • SSLCertificateFile – Calea fișierului certificat CRT pe care ați descărcat-o mai devreme
  • SSLCertificateKeyFile – private.o cale a fișierului cheie
  • SSLCertificateChainFile – calea fișierului ca_bundle.crt
  •   Cum să dezactivezi redarea automată a trailerelor Netflix

    Sfat: poate doriți să creați un nou folder numit „ssl” și să păstrați toate fișierele legate de certificat în acesta.

    • Faceți o copie de rezervă dacă este necesar și utilizați editorul vi pentru a modifica fișierul.
    SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt"
    SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt"
    SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"

    Apoi, trebuie să configurați directiva „ServerName”. De obicei, este numele dvs. de domeniu/URL

    ServerName chandan.io
    • Salvați fișierul și reporniți serverul web Apache
    cd /usr/local/apache2/bin 
    ./apachectl stop 
    ./apachectl start

    Și, în sfârșit, trebuie să vă asigurați că domeniul dvs. este mapat la IP-ul serverului web nou configurat. După ce ați terminat, încercați să vă accesați domeniul cu HTTPS.

    Și după cum puteți vedea, Chandan.io este accesibil prin https cu certificatul pe care l-am configurat.

    Pașii de mai sus sunt esențiali pentru configurarea unui certificat SSL și trebuie să modificați SSL-ul în continuare pentru a se întări și a securiza, ceea ce am explicat aici. Înainte de lansare, este posibil să doriți să testați serverul dvs. web SSL/TLS pentru a vă asigura că nu este expus la vulnerabilități comune de securitate.

    Sper că acest lucru vă oferă o idee despre cum să implementați un certificat SSL pe serverul dvs. web Apache, astfel încât URL-ul să fie accesibil prin HTTPS.

    Ți-a plăcut să citești articolul? Ce zici de împărtășirea cu lumea?