Nakonfigurujte Apache s certifikátom TLS/SSL s vlastným podpisom na Ubuntu 16.04

SSL a jeho nástupca TLS (Secure Sockets Layer / Transport Layer Security) pridávajú vrstvu šifrovania medzi klientom a serverom. Bez tejto technológie sa údaje odosielajú na server ako obyčajný text, čo umožňuje tretím stranám čítať všetky informácie odoslané a prijaté vaším serverom.

Tento tutoriál vás naučí, ako vytvoriť certifikát SSL/TLS a aktivovať ho na Apache 2.4 na Ubuntu 16.04. Predpokladám, že Apache je už nastavený a spustený. Ak sa chcete dozvedieť, ako nainštalovať zásobník LAMP, pozrite si tento dokument Vultr .

Pozornosť

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.


Krok 1: Generovanie certifikátu

  1. Najprv si vytvorte miesto na uloženie súboru.

    mkdir ~/certificates
    cd ~/certificates
    
  2. Vygenerujte CSR a súkromný kľúč.

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

    Požiada o informácie pre žiadosť o certifikát. Doplňte príslušnými informáciami.

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

    Bežný názov by mal byť názov vašej domény alebo adresa IP servera. Vyplňte aj svoj email.

    Common Name (e.g. server FQDN or YOUR name) []: 203.0.113.122
    Email Address []:webmaster@example.com
    
  3. Teraz presuňte certifikát do konfiguračného priečinka Apache.

    mkdir /etc/apache2/ssl
    mv ~/certificates/* /etc/apache2/ssl/.
    
  4. Certifikát je pripravený! Ďalej pripravíme Apache na prácu s certifikátom.

Krok 2: Konfigurácia brány firewall

  1. Musíme sa uistiť, že port TCP 443 je otvorený. Tento port sa používa v pripojeniach SSL namiesto portu 80. V tomto návode budeme používať UFW.

  2. Uistite sa, že je povolené UFW.

    sudo ufw enable
    
  3. Teraz povoľte preddefinované nastavenia Apache pre bránu firewall.

    sudo ufw allow 'Apache Full'
    
  4. Zadaním „ sudo ufw status“ zobrazíte zoznam aktuálnych pravidiel. Vaša konfigurácia by mala vyzerať takto:

    To                         Action      From
    --                         ------      ----
    Apache Full                ALLOW       Anywhere
    OpenSSH                    ALLOW       Anywhere
    Apache Full (v6)           ALLOW       Anywhere (v6)
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    
  5. Tu by ste mali povoliť aj OpenSSH pre budúce pripojenia.

    sudo ufw allow 'OpenSSH'
    

Krok 3: Konfigurácia virtuálneho hostiteľa Apache

  1. Prejdite do predvoleného konfiguračného adresára lokality Apache.

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. Tento súbor informuje server, kde má hľadať certifikát SSL. Po odstránení komentárov by to malo vyzerať ako nasledujúca konfigurácia.

    <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. Upravte tento riadok:

    ServerAdmin email@example.net
    
  4. Pridajte toto priamo pod ServerAdminriadok:

    ServerName ADD_YOUR_IP_OR_DOMAIN_NAME_HERE
    
  5. Teraz upravte tieto riadky s umiestnením nášho certifikátu:

    SSLCertificateFile    /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
  6. Náš konečný súbor by mal vyzerať takto:

    <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. Uložte a zatvorte súbor.

Krok 4: Povolenie modulu Apache SSL

  1. Povoľte modul SSL zadaním:

    sudo a2enmod ssl
    
  2. Teraz povoľte stránku, ktorú sme práve upravili:

    sudo a2ensite default-ssl.conf
    
  3. Reštartujte Apache:

    sudo service apache2 restart
    
  4. Poďme na novú zabezpečenú webovú stránku! Otvorte ho vo svojom prehliadači (nezabudnite zadať https:// ).

    https://YOUR_SERVER_IP
    

Váš prehliadač vás upozorní, že certifikát je neplatný, ako sme očakávali. Stáva sa to preto, že certifikát nie je podpísaný. Ak chcete prejsť na svoju stránku, postupujte podľa krokov, ktoré ponúka váš prehliadač.

Krok 5: Presmerujte všetku návštevnosť HTTP na HTTPS (voliteľné)

  1. Otvorte predvolený súbor virtuálneho hostiteľa Apache:

    nano /etc/apache2/sites-available/000-default.conf
    
  2. Pridajte tento riadok do <VirtualHost *:80>značky:

    Redirect / https://YOUR_SERVER_IP_OR_DOMAIN/
    
  3. Znovu načítať konfiguráciu Apache:

    sudo service apache2 reload
    

Všetka návštevnosť webových stránok sa teraz automaticky presmeruje na HTTPS.

Zanechať komentár

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac