Konfigurer Apache med selvsignert TLS/SSL-sertifikat på Ubuntu 16.04

SSL, og dets etterfølger TLS (Secure Sockets Layer / Transport Layer Security) legger til et lag med kryptering mellom klienten og serveren. Uten denne teknologien sendes data til serveren i ren tekst, slik at tredjeparter kan lese all informasjon som sendes og mottas av serveren din.

Denne opplæringen vil lære deg hvordan du oppretter et SSL/TLS-sertifikat og aktiverer det på Apache 2.4 på Ubuntu 16.04. Jeg antar at Apache allerede er satt opp og kjører. Hvis du vil lære hvordan du installerer en LAMP-stabel, kan du se dette Vultr-dokumentet .

Merk følgende

SSL/TLS certificates are normally generated by a trusted CA (certificate authority). By generating it yourself, you will be the signer, meaning the browser won't be able to verify whether the identity of the certificate should be trusted, and it will warn the user. Although it is possible to bypass this alert, public-facing sites should be using a certificate signed by a trusted CA. Let's encrypt is a CA that offers certificates for free. You can learn how to install their certificate in Apache and Ubuntu 16.04 here.

For internal applications, using a self-signed certificate might be valid, especially if you don't have a domain name.


Trinn 1: Generering av sertifikatet

  1. La oss først lage et sted å lagre filen.

    mkdir ~/certificates
    cd ~/certificates
    
  2. Generer CSR og privat nøkkel.

    openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes
    

    Den vil be om informasjon for sertifikatforespørselen. Fyll ut med riktig informasjon.

    Country Name (2 letter code) [AU]: US
    State or Province Name (full name) [Some-State]: FL
    Locality Name (eg, city) []: Miami
    Organization Name (eg, company) [My Company]: My Company
    Organizational Unit Name (eg, section) []:
    

    Vanlig navn skal være ditt domenenavn eller serverens IP-adresse. Fyll også ut e-posten din.

    Common Name (e.g. server FQDN or YOUR name) []: 203.0.113.122
    Email Address []:webmaster@example.com
    
  3. Flytt nå sertifikatet til Apache-konfigurasjonsmappen.

    mkdir /etc/apache2/ssl
    mv ~/certificates/* /etc/apache2/ssl/.
    
  4. Sertifikatet er klart! Deretter vil vi forberede Apache til å jobbe med sertifikatet.

Trinn 2: Brannmurkonfigurasjon

  1. Vi må sørge for at TCP-port 443 er åpen. Denne porten brukes i SSL-tilkoblinger i stedet for port 80. I denne opplæringen skal vi bruke UFW.

  2. Sørg for at UFW er aktivert.

    sudo ufw enable
    
  3. Tillat nå de forhåndsdefinerte Apache-innstillingene for brannmuren.

    sudo ufw allow 'Apache Full'
    
  4. Ved å skrive " sudo ufw status" kan du se en liste over gjeldende regler. Konfigurasjonen din skal ligne denne:

    To                         Action      From
    --                         ------      ----
    Apache Full                ALLOW       Anywhere
    OpenSSH                    ALLOW       Anywhere
    Apache Full (v6)           ALLOW       Anywhere (v6)
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    
  5. Du bør også tillate OpenSSH her for fremtidige tilkoblinger.

    sudo ufw allow 'OpenSSH'
    

Trinn 3: Apache virtuell vertskonfigurasjon

  1. Naviger til standard Apache-nettstedkonfigurasjonskatalog.

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. Denne filen forteller serveren hvor den skal lete etter SSL-sertifikatet. Med kommentarene fjernet, skal det se ut som følgende konfigurasjon.

    <IfModule mod_ssl.c>
      <VirtualHost _default_:443>
       ServerAdmin webmaster@localhost
    
       DocumentRoot /var/www/html
    
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
    
       SSLEngine on
    
       SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
       SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    
       <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
       </FilesMatch>
       <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
       </Directory>
    
     </VirtualHost>
    </IfModule>
    
  3. Rediger denne linjen:

    ServerAdmin email@example.net
    
  4. Legg til dette rett under ServerAdminlinjen:

    ServerName ADD_YOUR_IP_OR_DOMAIN_NAME_HERE
    
  5. Rediger nå disse linjene med sertifikatplasseringen vår:

    SSLCertificateFile    /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
  6. Den endelige filen vår skal ligne denne:

    <IfModule mod_ssl.c>
     <VirtualHost _default_:443>
      ServerAdmin email@example.net
      ServerName 203.0.113.122
    
      DocumentRoot /var/www/html
    
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
    
      SSLEngine on
    
      SSLCertificateFile    /etc/apache2/ssl/apache.crt
      SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
      <FilesMatch "\.(cgi|shtml|phtml|php)$">
       SSLOptions +StdEnvVars
      </FilesMatch>
      <Directory /usr/lib/cgi-bin>
       SSLOptions +StdEnvVars
      </Directory>
    
     </VirtualHost>
    </IfModule>
    
  7. Lagre og lukk filen.

Trinn 4: Aktivering av Apache SSL-modul

  1. Aktiver SSL-modulen ved å skrive:

    sudo a2enmod ssl
    
  2. Aktiver nå nettstedet vi nettopp har redigert:

    sudo a2ensite default-ssl.conf
    
  3. Start Apache på nytt:

    sudo service apache2 restart
    
  4. La oss få tilgang til det nye sikre nettstedet! Åpne den i nettleseren din (sørg for at du skriver https:// ).

    https://YOUR_SERVER_IP
    

Nettleseren din vil advare deg om at sertifikatet er ugyldig, slik vi forventet. Dette skjer fordi sertifikatet ikke er signert. Følg trinnene som tilbys av nettleseren din for å fortsette til nettstedet ditt.

Trinn 5: Omdiriger all HTTP-trafikk til HTTPS (valgfritt)

  1. Åpne Apaches standard virtuelle vertsfil:

    nano /etc/apache2/sites-available/000-default.conf
    
  2. Legg til denne linjen i <VirtualHost *:80>taggen:

    Redirect / https://YOUR_SERVER_IP_OR_DOMAIN/
    
  3. Last inn Apache-konfigurasjonen på nytt:

    sudo service apache2 reload
    

All nettstedtrafikk vil nå automatisk omdirigere til HTTPS.

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer