La oss sikre Apache med SSL/TLS-sertifikat.
Når sertifikatet er implementert, vil det konfigurerte domenet/IP-en være tilgjengelig over HTTPS.
La oss få det i gang.
På et høyt nivå vil vi gjøre følgende.
- Kompiler Apache HTTP 2.4.5 med SSL-modul
- Få SSL-sertifikat
- Konfigurer Apache til å støtte SSL
Innholdsfortegnelse
Installer Apache med SSL fra Source
For å konfigurere SSL, må Apache HTTP være kompilert med mod_ssl. Jeg vil bruke CentOS 7 VM fra Digitalt hav å demonstrere dette.
- Logg på Linux-server med root og last ned den nyeste versjonen av Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .
Merk: du kan sjekk her for den nyeste versjonen.
- Pakk ut med gunzip-kommando
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
- Du vil ha en ny mappe «httpd-2.4.25»
- Gå inn og utfør følgende konfigureringskommando
./configure --enable-ssl –-enable-so
Merk: Hvis du gjør dette på en helt ny server, kan du oppleve problemer relatert til APR, PCRE, OpenSSL, og du kan se feilsøkingsveiledningen.
Pass på at du ikke får noen feilmelding fra konfigureringskommandoen ovenfor, og deretter må du installere med make-kommandoer.
make make install
Som vanlig, sørg for at ingen feil fra kommandoene ovenfor. Dette konkluderer med at du har installert en Apache-webserver med SSL-støtte.
Få et SSL-sertifikat
Det er flere måter å generere og få SSL-sertifikatet signert av sertifiseringsmyndigheten.
Hvis du ønsker å implementere SSL i intranett-webserveren, har de fleste av organisasjonen et internt sertifikatutstederteam, så du må sjekke med dem. Men du må fortsatt generere en CSR (Certificate Signing Request), og du kan gjøre det ved å bruke OpenSSL.
Men hvis du ønsker å sikre en Internett-vendt URL, kan du enten kjøpe et sertifikat fra VeriSign, GoDaddy, Namecheap, ZeroSSLetc., eller få et GRATIS sertifikat fra La oss kryptere.
Let’s Encrypt er et Linux Foundation Collaboration Project som tilbyr et GRATIS SSL/TLS-sertifikat. Jeg vil bruke Let’s Encrypt for å få ett sertifikat for domenet mitt – Chandan.io
Det er flere måter å generere CSR på, men den enkleste jeg fant er å bruke «SSL GRATIS«nettverktøy.
Skriv inn URL-en du vil sikre
Bekreft domeneeierskapet ved hjelp av en av de oppførte metodene og last ned domenesertifikatfilene.
Du vil få tre filer som vi vil bruke ved siden av for å konfigurere Apache-nettserveren.
Overfør den nedlastede filen til webserveren. Vi trenger dem snart.
Apache SSL-konfigurasjon
Og et siste trinn ville være å konfigurere Apache slik at den kan betjene forespørselen over HTTPS.
- Logg inn på Apache-nettserveren
- Ta en sikkerhetskopi av httpd.conf-filen (standardplassering /usr/local/apache2/conf/)
- Åpne filen med vi-editoren og sørg for at mod_ssl-modulen og httpd-ssl.conf eksisterer og ikke kommenteres
LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf
Vi vil bruke httpd-ssl.conf-filen til å konfigurere sertifikatdetaljene. Det er følgende du trenger for å sikre at det eksisterer de riktige parameterne.
Tips: Det kan være lurt å opprette en ny mappe kalt «ssl» og beholde alle sertifikatrelaterte filer i denne.
- Ta en sikkerhetskopi om nødvendig og bruk vi-editoren til å endre 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"
Deretter må du konfigurere «ServerName»-direktivet. Vanligvis er det domene-/URL-navnet ditt
ServerName chandan.io
- Lagre filen og start Apache Webserver på nytt
cd /usr/local/apache2/bin ./apachectl stop ./apachectl start
Og til slutt må du sørge for at domenet ditt er tilordnet den nylig konfigurerte webserverens IP. Når du er ferdig, prøv å få tilgang til domenet ditt med HTTPS.
Og som du kan se, er Chandan.io tilgjengelig over https med sertifikatet jeg konfigurerte.
Trinnene ovenfor er avgjørende for å sette opp et SSL-sertifikat, og du må justere SSL ytterligere for å herde og sikre, som jeg forklarte her. Før start kan det også være lurt å teste nettserveren din SSL/TLS for å sikre at den ikke er utsatt for vanlige sikkerhetssårbarheter.
Jeg håper dette gir deg en idé om hvordan du implementerer et SSL-sertifikat på Apache-webserveren din, slik at URL er tilgjengelig over HTTPS.
Likte du å lese artikkelen? Hva med å dele med verden?