Sådan konfigureres Apache HTTP med SSL-certifikat?

Lad os sikre Apache med SSL/TLS-certifikat.

Når certifikatet er implementeret, vil det konfigurerede domæne/IP være tilgængeligt via HTTPS.

Lad os få det i gang.

På et højt niveau vil vi gøre følgende.

  • Kompiler Apache HTTP 2.4.5 med SSL-modul
  • Få SSL-certifikat
  • Konfigurer Apache til at understøtte SSL

Installer Apache med SSL fra Source

For at konfigurere SSL skal Apache HTTP være kompileret med mod_ssl. Jeg vil bruge CentOS 7 VM fra Digital Ocean at demonstrere dette.

  • Log ind på Linux-serveren med root og download den seneste version af Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .

Bemærk: du kan tjek her for den seneste version.

  • Uddrag ved gunzip-kommando
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
  • Du vil have en ny mappe “httpd-2.4.25”
  • Gå ind og udfør følgende konfigureringskommando
./configure --enable-ssl –-enable-so

Bemærk: Hvis du gør dette på en helt ny server, kan du opleve problemer relateret til APR, PCRE, OpenSSL, og du kan muligvis henvise til fejlfindingsvejledningen.

Sørg for, at du ikke får nogen fejl fra ovenstående configure-kommando, og derefter skal du installere med make-kommandoer.

make 
make install

Sørg som sædvanligt ikke fejl fra ovenstående kommandoer. Dette konkluderer, at du har installeret en Apache-webserver med SSL-understøttelse.

  Sådan skjuler du en besked i en iMessage-tråd

Få et SSL-certifikat

Der er flere måder at generere og få SSL-certifikatet underskrevet af certifikatmyndigheden.

Hvis du ønsker at implementere SSL i intranet-webserveren, så har det meste af organisationen et internt certifikatudsteder-team, så du skal tjekke med dem. Men du skal stadig generere en CSR (Certificate Signing Request), og du kan gøre det ved hjælp af OpenSSL.

Men hvis du ønsker at sikre en internet-vendt URL, kan du enten købe et certifikat fra VeriSign, GoDaddy, Namecheap, NulSSLosv., eller få et GRATIS certifikat fra Lad os kryptere.

Let’s Encrypt er et Linux Foundation Collaboration Project, der tilbyder et GRATIS SSL/TLS-certifikat. Jeg vil bruge Let’s Encrypt til at få ét certifikat til mit domæne – Chandan.io

Der er flere måder at generere CSR på, men den nemmeste, jeg fandt, er at bruge “SSL GRATIS” online værktøj.

  Hvad er billigst: Udskrivning af dine egne fotos eller brug af en udskrivningstjeneste?

Indtast den URL, du vil sikre

Bekræft domæneejerskabet ved hjælp af en af ​​de anførte metoder, og download dine domænecertifikatfiler.

Du får tre filer, som vi vil bruge ved siden af ​​til at konfigurere Apache-webserveren.

  • nøgle – dette er din nøglefil og bør ikke deles med nogen offentligt
  • Certifikat – faktisk SSL-certifikat for dit domæne
  • Ca_bundle – Underskriver rod/mellemcertifikat
  • Overfør den downloadede fil til webserveren. Vi får brug for dem snart.

    Apache SSL-konfiguration

    Og et sidste trin ville være at konfigurere Apache, så den kan betjene anmodningen over HTTPS.

    • Log ind på Apache-webserveren
    • Tag en sikkerhedskopi af filen httpd.conf (standardplacering /usr/local/apache2/conf/)
    • Åbn filen med vi-editoren og sørg for, at mod_ssl-modulet & httpd-ssl.conf eksisterer og ikke kommenteres
    LoadModule ssl_module modules/mod_ssl.so 
    Include conf/extra/httpd-ssl.conf

    Vi vil bruge filen httpd-ssl.conf til at konfigurere certifikatdetaljerne. Der er følgende, du skal bruge for at sikre, at det eksisterer de rigtige parametre.

  • SSLCertificateFile – Certificate CRT-filsti, som du downloadede tidligere
  • SSLCertificateKeyFile – private.en nøglefilsti
  • SSLCertificateChainFile – ca_bundle.crt filsti
  • Tip: Du vil måske oprette en ny mappe kaldet “ssl” og beholde alle de certifikatrelaterede filer i denne.

    • Tag en sikkerhedskopi, hvis det er nødvendigt, og brug vi-editoren til at ændre filen.
    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"

    Dernæst skal du konfigurere “ServerName”-direktivet. Normalt er det dit domæne/URL-navn

    ServerName chandan.io
    • Gem filen og genstart Apache-webserveren
    cd /usr/local/apache2/bin 
    ./apachectl stop 
    ./apachectl start

    Og endelig skal du sikre dig, at dit domæne er knyttet til den nyligt konfigurerede webserver-IP. Når du er færdig, prøv at få adgang til dit domæne med HTTPS.

      Sådan opdaterer du VLC Media Player

    Og som du kan se, er Chandan.io tilgængelig via https med det certifikat, jeg konfigurerede.

    Ovenstående trin er afgørende for at konfigurere et SSL-certifikat, og du skal justere SSL’et yderligere for at hærde og sikre, hvilket jeg forklarede her. Inden du går i gang, vil du måske også teste din webserver SSL/TLS for at sikre, at den ikke er udsat for almindelige sikkerhedssårbarheder.

    Jeg håber, at dette giver dig en idé om, hvordan du implementerer et SSL-certifikat på din Apache-webserver, så URL er tilgængelig via HTTPS.

    Nydt at læse artiklen? Hvad med at dele med verden?