Az Apache konfigurálása önaláírt TLS/SSL-tanúsítvánnyal az Ubuntu 16.04 rendszeren

Az SSL és utódja, a TLS (Secure Sockets Layer / Transport Layer Security) titkosítási réteget ad az ügyfél és a kiszolgáló között. E technológia nélkül az adatok egyszerű szövegként kerülnek a szerverre, így a harmadik felek elolvashatják az Ön szervere által küldött és fogadott összes információt.

Ez az oktatóanyag megtanítja Önnek, hogyan hozhat létre SSL/TLS-tanúsítványt, és hogyan aktiválhatja azt Apache 2.4-en az Ubuntu 16.04-en. Feltételezem, hogy az Apache már be van állítva és fut. Ha meg szeretné tudni, hogyan kell LAMP-vermet telepíteni, tekintse meg ezt a Vultr-dokumentumot .

Figyelem

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.


1. lépés: A tanúsítvány létrehozása

  1. Először is hozzunk létre egy helyet a fájl tárolására.

    mkdir ~/certificates
    cd ~/certificates
    
  2. CSR és privát kulcs generálása.

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

    A tanúsítványkéréshez információkat fog kérni. Töltse ki a megfelelő információkkal.

    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) []:
    

    A közönséges név legyen a domain neve vagy a szerver IP-címe. Ezenkívül töltse ki az e-mail címét.

    Common Name (e.g. server FQDN or YOUR name) []: 203.0.113.122
    Email Address []:webmaster@example.com
    
  3. Most helyezze át a tanúsítványt az Apache konfigurációs mappájába.

    mkdir /etc/apache2/ssl
    mv ~/certificates/* /etc/apache2/ssl/.
    
  4. Elkészült a tanúsítvány! Ezután felkészítjük az Apache-t a tanúsítvánnyal való együttműködésre.

2. lépés: A tűzfal beállítása

  1. Meg kell győződnünk arról, hogy a 443-as TCP-port nyitva van. Ezt a portot használják az SSL kapcsolatokban a 80-as port helyett. Ebben az oktatóanyagban UFW-t fogunk használni.

  2. Győződjön meg arról, hogy az UFW engedélyezve van.

    sudo ufw enable
    
  3. Most engedélyezze az előre meghatározott Apache-beállításokat a tűzfal számára.

    sudo ufw allow 'Apache Full'
    
  4. A " sudo ufw status" beírásával megtekintheti az aktuális szabályok listáját. A konfigurációdnak ehhez hasonlónak kell lennie:

    To                         Action      From
    --                         ------      ----
    Apache Full                ALLOW       Anywhere
    OpenSSH                    ALLOW       Anywhere
    Apache Full (v6)           ALLOW       Anywhere (v6)
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    
  5. Itt is engedélyeznie kell az OpenSSH-t a jövőbeni kapcsolatokhoz.

    sudo ufw allow 'OpenSSH'
    

3. lépés: Apache virtuális gazdagép konfigurációja

  1. Keresse meg az alapértelmezett Apache webhely konfigurációs könyvtárát.

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. Ez a fájl közli a szerverrel, hogy hol keresse az SSL-tanúsítványt. A megjegyzések eltávolítása után a következő konfigurációhoz hasonlóan kell kinéznie.

    <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. Szerkessze ezt a sort:

    ServerAdmin email@example.net
    
  4. Add ezt közvetlenül a ServerAdminsor alá:

    ServerName ADD_YOUR_IP_OR_DOMAIN_NAME_HERE
    
  5. Most szerkessze ezeket a sorokat a tanúsítvány helyével:

    SSLCertificateFile    /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
  6. A végső fájlunknak ehhez hasonlónak kell lennie:

    <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. Mentse és zárja be a fájlt.

4. lépés: Az Apache SSL modul engedélyezése

  1. Engedélyezze az SSL modult a következő beírásával:

    sudo a2enmod ssl
    
  2. Most engedélyezze az imént szerkesztett webhelyet:

    sudo a2ensite default-ssl.conf
    
  3. Indítsa újra az Apache-ot:

    sudo service apache2 restart
    
  4. Lépjünk be az új biztonságos weboldalra! Nyissa meg a böngészőben (győződjön meg róla, hogy https:// ) írja be.

    https://YOUR_SERVER_IP
    

A böngészője figyelmeztetni fogja, hogy a tanúsítvány érvénytelen, ahogy azt vártuk. Ez azért történik, mert a tanúsítvány nincs aláírva. Kövesse a böngészője által felkínált lépéseket a webhelyre lépéshez.

5. lépés: Az összes HTTP-forgalom átirányítása HTTPS-re (opcionális)

  1. Nyissa meg az Apache alapértelmezett virtuális gazdagépfájlját:

    nano /etc/apache2/sites-available/000-default.conf
    
  2. Adja hozzá ezt a sort a <VirtualHost *:80>címkén belül :

    Redirect / https://YOUR_SERVER_IP_OR_DOMAIN/
    
  3. Az Apache konfiguráció újratöltése:

    sudo service apache2 reload
    

A webhely összes forgalma automatikusan átirányul a HTTPS-re.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.