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
Indholdsfortegnelse
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.
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.
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.
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.
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.
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?