Konfigūruokite „Apache“ naudodami savarankiškai pasirašytą TLS / SSL sertifikatą „Ubuntu 16.04“

SSL ir jo įpėdinis TLS (Secure Sockets Layer / Transport Layer Security) prideda šifravimo sluoksnį tarp kliento ir serverio. Be šios technologijos duomenys į serverį siunčiami paprastu tekstu, todėl trečiosios šalys gali perskaityti visą jūsų serverio siunčiamą ir gautą informaciją.

Ši pamoka išmokys jus sukurti SSL/TLS sertifikatą ir jį suaktyvinti Apache 2.4 versijoje Ubuntu 16.04. Manau, kad „Apache“ jau nustatyta ir veikia. Jei norite sužinoti, kaip įdiegti LAMP krūvą, žr. šį Vultr dokumentą .

Dėmesio

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 veiksmas: sugeneruokite sertifikatą

  1. Pirmiausia sukurkime vietą failui saugoti.

    mkdir ~/certificates
    cd ~/certificates
    
  2. Sukurkite CSR ir privatų raktą.

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

    Ji paprašys informacijos, reikalingos sertifikato užklausai. Užpildykite atitinkama informacija.

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

    Įprastas pavadinimas turi būti jūsų domeno pavadinimas arba serverio IP adresas. Taip pat užpildykite savo el.

    Common Name (e.g. server FQDN or YOUR name) []: 203.0.113.122
    Email Address []:webmaster@example.com
    
  3. Dabar perkelkite sertifikatą į „Apache“ konfigūracijos aplanką.

    mkdir /etc/apache2/ssl
    mv ~/certificates/* /etc/apache2/ssl/.
    
  4. Sertifikatas paruoštas! Toliau mes paruošime „Apache“ darbui su sertifikatu.

2 veiksmas: ugniasienės konfigūracija

  1. Turime įsitikinti, kad TCP 443 prievadas yra atidarytas. Šis prievadas naudojamas SSL ryšiuose vietoj 80 prievado. Šioje pamokoje naudosime UFW.

  2. Įsitikinkite, kad UFW įjungtas.

    sudo ufw enable
    
  3. Dabar leiskite ugniasienės iš anksto nustatytus Apache nustatymus.

    sudo ufw allow 'Apache Full'
    
  4. Įvesdami " sudo ufw status", galite pamatyti galiojančių taisyklių sąrašą. Jūsų konfigūracija turėtų būti panaši į šią:

    To                         Action      From
    --                         ------      ----
    Apache Full                ALLOW       Anywhere
    OpenSSH                    ALLOW       Anywhere
    Apache Full (v6)           ALLOW       Anywhere (v6)
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    
  5. Čia taip pat turėtumėte leisti OpenSSH būsimiems ryšiams.

    sudo ufw allow 'OpenSSH'
    

3 veiksmas: „Apache“ virtualaus pagrindinio kompiuterio konfigūracija

  1. Eikite į numatytąjį „Apache“ svetainės konfigūracijos katalogą.

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. Šis failas nurodo serveriui, kur ieškoti SSL sertifikato. Pašalinus komentarus, ji turėtų atrodyti taip, kaip ši konfigūracija.

    <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. Redaguoti šią eilutę:

    ServerAdmin email@example.net
    
  4. Pridėkite tai tiesiai po ServerAdmineilute:

    ServerName ADD_YOUR_IP_OR_DOMAIN_NAME_HERE
    
  5. Dabar redaguokite šias eilutes naudodami sertifikato vietą:

    SSLCertificateFile    /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
  6. Mūsų galutinis failas turėtų būti panašus į šį:

    <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. Išsaugokite ir uždarykite failą.

4 veiksmas: įjunkite Apache SSL modulį

  1. Įjunkite SSL modulį įvesdami:

    sudo a2enmod ssl
    
  2. Dabar įgalinkite svetainę, kurią ką tik redagavome:

    sudo a2ensite default-ssl.conf
    
  3. Iš naujo paleiskite „Apache“:

    sudo service apache2 restart
    
  4. Prisijunkite prie naujos saugios svetainės! Atidarykite jį savo naršyklėje (būtinai įveskite https:// ).

    https://YOUR_SERVER_IP
    

Jūsų naršyklė įspės jus, kad sertifikatas netinkamas, kaip ir tikėjomės. Taip atsitinka todėl, kad sertifikatas nepasirašytas. Norėdami pereiti į savo svetainę, atlikite naršyklės siūlomus veiksmus.

5 veiksmas: peradresuokite visą HTTP srautą į HTTPS (pasirenkama)

  1. Atidarykite „Apache“ numatytąjį virtualaus pagrindinio kompiuterio failą:

    nano /etc/apache2/sites-available/000-default.conf
    
  2. Pridėkite šią eilutę <VirtualHost *:80>žymos viduje :

    Redirect / https://YOUR_SERVER_IP_OR_DOMAIN/
    
  3. Iš naujo įkelti „Apache“ konfigūraciją:

    sudo service apache2 reload
    

Visas svetainės srautas dabar bus automatiškai nukreiptas į HTTPS.

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį