Denne artikkelen er en del av Apache Server Guide-serien:

  • Sikre Apache på Ubuntu - Del 1
  • Sikre Apache på Ubuntu - Del 2
  • Optimalisering av Apache Performance - Del 1
  • Optimalisering av Apache Performance - Del 2
  • Sette opp navnbasert Virtualhost Apache
  • Sette opp IP og portbasert Virtualhost i Apache
  • Hvordan sette opp passordbeskytt webkatalogen i Apache
  • Sette opp Apache Server med SSL-støtte på Ubuntu
  • Konfigurere Fail2ban for å beskytte Apache fra et DDOS-angrep
  • Hvordan sette opp Webdav med Apache på Ubuntu
  • Overvåk Apache Web Server ved hjelp av Mod_status
  • Slik beskytter du mot DDoS med Mod_evasive på Apache Server

SSL er også kjent som Secure Socket Layer-protokollen. Det ble opprettet av Netscape for å sikre transaksjoner mellom webservere og nettlesere. SSL-protokollen bruker en sertifikatmyndighet (CA) til å identifisere en ende eller begge ender av transaksjonene. All kommunikasjon sendt over vanlige HTTP-tilkoblinger er i ren tekst, og enhver hacker kan få tilgang til forbindelsen mellom nettleseren din og nettstedet og lese sensitiv informasjon som kredittkortopplysninger eller ditt personnummer. SSL brukes til å holde sensitiv informasjon sendt over Internett kryptert, slik at informasjonen blir uleselig for alle.

Selvsignert sertifikat vs. kommersielt sertifikat

Selvsignert sertifikat er signert av eieren. Det brukes vanligvis til testing av lokale servere og utviklingsmiljø. Selv om selvsignerte sertifikater gir samme sikkerhetsnivå mellom nettside og nettleser, vil de fleste nettlesere alltid vise en sikkerhetsvarselmelding om at nettstedsertifikatet er selvsignert og ikke kan stole på, da det ikke er signert av sertifikatmyndigheten.

Kommersielt sertifikat er et autorisert sertifikat utstedt av en klarert sertifiseringsinstans. Signert sertifikat brukes hovedsakelig i et produksjonsmiljø.

I denne artikkelen skal jeg forklare hvordan du lager et selvsignert SSL-sertifikat for Apache som lar deg kryptere trafikk til Apache-webserveren din.

Konfigurer Apache for å støtte SSL

Som standard er Openssl installert i Ubuntu 14.04. Denne modulen gir SSL-støtte til Apache. Den er deaktivert som standard, så du må aktivere SSL-modulen først.

Du kan aktivere SSL-modulen ved å kjøre:

 sudo a2enmod ssl 

Etter at du har aktivert SSL, må du starte Apache-tjenesten for at endringen skal gjenkjennes.

 sudo service apache2 restart 

Generer et selvsignert sertifikat

Det første trinnet er opprettelse av sertifikat. For testing, eller for små LAN, må du generere en privat nøkkel (ca.key) med 2048 bit kryptering.

For å gjøre dette, kjør:

 sudo openssl genrsa-out cakey 2048 

Deretter genererer du en sertifikatsigneringsforespørsel (ca.csr) ved å bruke følgende kommando:

 sudo openssl req-noder -ny-knapp ca.key -out ca.csr 

Til slutt, generer et selvsignert sertifikat (ca.crt) av X509 type gyldig for 365 nøkler.

 sudo openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt 

Opprett en katalog for å plassere sertifikatfilene vi har opprettet.

 sudo mkdir / etc / apache2 / ssl 

Deretter kopierer du alle sertifikatfiler til katalogen "/ etc / apache2 / ssl".

 sudo cp ca.crt ca.key ca.csr / etc / apache2 / ssl / 

Konfigurer Apache til å bruke SSL-sertifikatet:

Nå er alle sertifikatene klare. Den neste tingen å gjøre er å sette opp Apache for å vise det nye sertifikatet.

For dette må du aktivere SSL-støtte på Apache standard virtuell vertsfil som ligger i /etc/apache2/sites-enable/ directory.

Du kan gjøre dette ved å redigere Apache standard virtuelle vert config fil.

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

Kommentere alle linjene ved å legge til en "#" foran hver linje og legg til følgende linjer:

 ServerAdmin webmaster @ localhost DocumentRoot / var / www / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log kombinert SSLEngine på SSLCertificateFile /etc/apache2/ssl/ca.crt SSLCertificateKeyFile / etc / apache2 / ssl /ca.key 

Lagre og lukk filen, og start deretter Apache.

 sudo /etc/init.d/apache2 restart 

Dette bør aktivere den nye virtuelle verten som vil tjene kryptert innhold ved hjelp av SSL-sertifikatet du opprettet.

Testing av Apache (HTTPS) Server:

For å verifisere Apache (HTTPS) webserveren, åpne nettleseren din og skriv inn serverens IP-adresse (med "https: //, " for eksempel: "https://192.168.1.227").

Det oppstår en feil i nettleseren din, og du må godkjenne sertifikatet manuelt. Feilmeldingen vises fordi vi bruker et selvsignert sertifikat i stedet for sertifikat signert av en sertifikatmyndighet som nettleseren stoler på, og nettleseren kan ikke bekrefte identiteten til serveren du prøver å koble til. Når du legger til et unntak fra nettleserens identitetsbekreftelse, bør du se en Ubuntu-testside for ditt nylig sikre nettsted.

Konklusjon

Nå har du SSL aktivert på Apache-serveren din. Dette vil bidra til å sikre kommunikasjon mellom Apache-serveren og klientene. Hvis du vil være vert for et offentlig nettsted med SSL-støtte, må du kjøpe et SSL-sertifikat fra en klarert sertifiseringsinstans.