Конфигуришите Апацхе са самопотписаним ТЛС/ССЛ сертификатом на Убунту 16.04

ССЛ и његов наследник ТЛС (Сецуре Соцкетс Лаиер / Транспорт Лаиер Сецурити) додају слој енкрипције између клијента и сервера. Без ове технологије, подаци се шаљу на сервер у облику обичног текста, омогућавајући трећим странама да прочитају све информације које ваш сервер шаље и прима.

Овај водич ће вас научити како да креирате ССЛ/ТЛС сертификат и да га активирате на Апацхе 2.4 на Убунту 16.04. Претпостављам да је Апацхе већ постављен и ради. Ако желите да научите како да инсталирате ЛАМП стек, погледајте овај Вултр документ .

Пажња

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: Генерисање сертификата

  1. Прво, направимо место за чување датотеке.

    mkdir ~/certificates
    cd ~/certificates
    
  2. Генеришите ЦСР и приватни кључ.

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

    Тражиће информације за захтев за сертификат. Употпуните одговарајућим информацијама.

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

    Уобичајено име треба да буде име вашег домена или ИП адреса сервера. Такође, попуните своју е-пошту.

    Common Name (e.g. server FQDN or YOUR name) []: 203.0.113.122
    Email Address []:webmaster@example.com
    
  3. Сада преместите сертификат у Апацхе конфигурациони фолдер.

    mkdir /etc/apache2/ssl
    mv ~/certificates/* /etc/apache2/ssl/.
    
  4. Сертификат је спреман! Затим ћемо припремити Апацхе за рад са сертификатом.

Корак 2: Конфигурација заштитног зида

  1. Морамо да се уверимо да је ТЦП порт 443 отворен. Овај порт се користи у ССЛ конекцијама уместо порта 80. У овом водичу користићемо УФВ.

  2. Уверите се да је УФВ омогућен.

    sudo ufw enable
    
  3. Сада дозволите унапред дефинисана Апацхе подешавања за заштитни зид.

    sudo ufw allow 'Apache Full'
    
  4. Ако унесете " sudo ufw status", можете видети листу тренутних правила. Ваша конфигурација би требало да личи на ово:

    To                         Action      From
    --                         ------      ----
    Apache Full                ALLOW       Anywhere
    OpenSSH                    ALLOW       Anywhere
    Apache Full (v6)           ALLOW       Anywhere (v6)
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    
  5. Такође би требало да дозволите ОпенССХ овде за будуће везе.

    sudo ufw allow 'OpenSSH'
    

Корак 3: Апацхе конфигурација виртуелног хоста

  1. Идите до подразумеваног конфигурационог директоријума Апацхе сајта.

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. Ова датотека говори серверу где да тражи ССЛ сертификат. Са уклоњеним коментарима, требало би да изгледа као следећа конфигурација.

    <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. Уредите овај ред:

    ServerAdmin email@example.net
    
  4. Додајте ово одмах испод ServerAdminлиније:

    ServerName ADD_YOUR_IP_OR_DOMAIN_NAME_HERE
    
  5. Сада уредите ове редове са локацијом нашег сертификата:

    SSLCertificateFile    /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
  6. Наш коначни фајл би требао да личи на ово:

    <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. Сачувајте и затворите датотеку.

Корак 4: Омогућавање Апацхе ССЛ модула

  1. Омогућите ССЛ модул тако што ћете откуцати:

    sudo a2enmod ssl
    
  2. Сада омогућите сајт који смо управо уредили:

    sudo a2ensite default-ssl.conf
    
  3. Поново покрените Апацхе:

    sudo service apache2 restart
    
  4. Приступимо новој безбедној веб страници! Отворите га у свом претраживачу (обавезно укуцајте хттпс:// ).

    https://YOUR_SERVER_IP
    

Ваш претраживач ће вас упозорити да је сертификат неважећи, као што смо очекивали. Ово се дешава зато што сертификат није потписан. Пратите кораке које нуди ваш претраживач да бисте наставили на своју веб локацију.

Корак 5: Преусмерите сав ХТТП саобраћај на ХТТПС (опционо)

  1. Отворите Апацхе подразумевану виртуелну датотеку хоста:

    nano /etc/apache2/sites-available/000-default.conf
    
  2. Додајте ову линију унутар <VirtualHost *:80>ознаке:

    Redirect / https://YOUR_SERVER_IP_OR_DOMAIN/
    
  3. Поново учитај Апацхе конфигурацију:

    sudo service apache2 reload
    

Сав саобраћај на веб локацији ће сада аутоматски преусмеравати на ХТТПС.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више