Denne artikel er en del af Apache Server Guide serien:

  • Sikring af Apache på Ubuntu - Del 1
  • Sikring af Apache på Ubuntu - Del 2
  • Optimering af Apache Performance - Del 1
  • Optimering af Apache Performance - Del 2
  • Opsætning af navnebaseret Virtualhost Apache
  • Opsætning af IP og portbaseret Virtualhost i Apache
  • Sådan oprettes adgangskodebeskyttet webkatalog i Apache
  • Opsætning af Apache Server med SSL-support på Ubuntu
  • Opsætning af Fail2ban for at beskytte Apache fra et DDOS-angreb
  • Sådan opsættes Webdav med Apache på Ubuntu
  • Overvåg Apache Web Server ved hjælp af Mod_status
  • Sådan beskytter du mod DDoS med Mod_evasive på Apache Server

SSL er også kendt som Secure Socket Layer-protokollen. Det blev oprettet af Netscape for at sikre transaktioner mellem webservere og browsere. SSL-protokollen anvender en certifikatmyndighed (CA) til at identificere en ende eller begge ender af transaktionerne. Alle meddelelser, der sendes via almindelige HTTP-forbindelser, er i almindelig tekst, og enhver hacker har adgang til forbindelsen mellem din browser og hjemmesiden og læser følsomme oplysninger som kreditkortoplysninger eller dit personnummer. SSL bruges til at holde følsomme oplysninger sendt over internettet krypteret, så informationen bliver uleselig for alle.

Selvsigneret certifikat versus kommercielt certifikat

Selvsigneret certifikat er underskrevet af dets ejer. Det bruges generelt til at teste lokale servere og udviklingsmiljø. Selvom selvsignerede certifikater giver samme sikkerhedsniveau mellem websted og browser, viser de fleste webbrowsere altid en sikkerhedsmeddelelse om, at websitetscertifikatet er selvsigneret og ikke kan stole på, da det ikke er underskrevet af certifikatmyndigheden.

Commercial Certificate er et autoriseret certifikat udstedt af en betroet certifikat myndighed. Signeret certifikat bruges mest i et produktionsmiljø.

I denne artikel vil jeg forklare, hvordan man opretter et selvsigneret SSL-certifikat til Apache, som giver dig mulighed for at kryptere trafik til din Apache webserver.

Konfigurer Apache til at understøtte SSL

Som standard er Openssl installeret i Ubuntu 14.04. Dette modul giver SSL-support til Apache. Det er deaktiveret som standard, så du skal aktivere SSL-modulet først.

Du kan aktivere SSL-modulet ved at køre:

 sudo a2enmod ssl 

Når du har aktiveret SSL, skal du genstarte Apache-tjenesten for at ændringen skal genkendes.

 sudo service apache2 genstart 

Generer et selvsigneret certifikat

Det første trin er oprettelse af certifikater. Til testformål eller til små LAN'er skal du oprette en privat nøgle (ca.key) med 2048 bit kryptering.

For at gøre dette skal du køre:

 sudo openssl genrsa-out ca.key 2048 

Derefter generere en certifikat signatur anmodning (ca.csr) ved hjælp af følgende kommando:

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

Endelig skal du generere et selvsigneret certifikat (ca.crt) af X509 type, der er gyldigt for 365 nøgler.

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

Opret en mappe for at placere de certifikatfiler, vi har oprettet.

 sudo mkdir / etc / apache2 / ssl 

Kopiér derefter alle certifikatfiler til "/ etc / apache2 / ssl" -kataloget.

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

Konfigurer Apache til at bruge SSL-certifikatet:

Nu er alle certifikaterne klar. Den næste ting at gøre er at oprette Apache for at vise det nye certifikat.

Til dette skal du aktivere SSL-support på Apache standard virtuelle værtsfil placeret i /etc/apache2/sites-enable/ directory.

Du kan gøre dette ved at redigere Apache standard virtuelle vært config fil.

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

Kommentér alle linjerne ved at tilføje en "#" foran hver linje og tilføj følgende linjer:

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

Gem og luk filen, og genstart derefter Apache.

 sudo /etc/init.d/apache2 genstart 

Dette skal gøre det muligt for din nye virtuelle vært, som vil tjene krypteret indhold ved hjælp af det SSL-certifikat, du oprettede.

Testning af Apache (HTTPS) Server:

For at bekræfte Apache (HTTPS) webserveren skal du åbne din webbrowser og indtaste din server IP-adresse (med "https: //, " for eksempel: "https://192.168.1.227").

Der skal vises en fejl i din browser, og du skal acceptere certifikatet manuelt. Fejlmeddelelsen vises, fordi vi bruger et selvsigneret certifikat i stedet for certifikat underskrevet af en certifikatmyndighed, som browseren stoler på, og browseren kan ikke bekræfte identiteten af ​​den server, du forsøger at oprette forbindelse til. Når du tilføjer en undtagelse til browserens identitetsbekræftelse, bør du se en Ubuntu testside for dit nyligt sikre websted.

Konklusion

Nu har du SSL aktiveret på din Apache server. Dette vil medvirke til at sikre kommunikation mellem din Apache server og klienter. Hvis du ønsker at være vært for et offentligt websted med SSL-understøttelse, skal du købe et SSL-certifikat fra en betroet certifikatmyndighed.