Як наладзіць Apache HTTP з сертыфікатам SSL?

Давайце абаронім Apache з дапамогай сертыфіката SSL/TLS.

Пасля ўкаранення сертыфіката настроены дамен/IP будзе даступны праз HTTPS.

Давайце пачнем.

На высокім узроўні мы зробім наступнае.

  • Кампілюйце Apache HTTP 2.4.5 з модулем SSL
  • Атрымаць сертыфікат SSL
  • Наладзьце Apache для падтрымкі SSL

Усталюйце Apache з SSL з крыніцы

Каб наладзіць SSL, Apache HTTP павінен быць скампіляваны з mod_ssl. Я буду выкарыстоўваць CentOS 7 VM ад Лічбавы акіян каб прадэманстраваць гэта.

  • Увайдзіце на сервер Linux з правам root і загрузіце апошнюю версію Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .

Заўвага: вы можаце праверыць тут для апошняй версіі.

  • Распакуйце камандай gunzip
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
  • У вас будзе новая папка «httpd-2.4.25»
  • Зайдзіце ўнутр і выканайце наступную каманду configure
./configure --enable-ssl –-enable-so

Заўвага: калі вы робіце гэта на цалкам новым серверы, у вас могуць узнікнуць праблемы, звязаныя з APR, PCRE, OpenSSL, і вы можаце звярнуцца да кіраўніцтва па ліквідацыі непаладак.

Пераканайцеся, што вы не атрымліваеце ніякіх памылак ад прыведзенай вышэй каманды канфігурацыі, а затым вы павінны ўсталяваць з дапамогай каманд make.

make 
make install

Як звычайна, пераканайцеся ў адсутнасці памылак з прыведзеных вышэй каманд. Гэта азначае, што вы ўсталявалі вэб-сервер Apache з падтрымкай SSL.

Атрыманне сертыфіката SSL

Ёсць некалькі спосабаў стварыць і атрымаць сертыфікат SSL, падпісаны цэнтрам сертыфікацыі.

Калі вы жадаеце ўкараніць SSL на вэб-серверы інтрасеткі, у большасці арганізацый ёсць унутраная група выдаўцоў сертыфікатаў, таму вам трэба пракансультавацца з імі. Але вам усё роўна трэба стварыць CSR (запыт на подпіс сертыфіката), і вы можаце зрабіць гэта з дапамогай OpenSSL.

Праверце гэта:  Як стварыць галоўны дакумент і дадаць паддакументы ў MS Word 2016

Аднак, калі вы жадаеце абараніць URL-адрас, які выходзіць у Інтэрнэт, вы можаце купіць сертыфікат у VeriSign, GoDaddy, Namecheap, ZeroSSLі г.д., або атрымаць БЯСПЛАТНЫ сертыфікат ад Давайце зашыфраваць.

Let’s Encrypt – гэта праект супрацоўніцтва Linux Foundation, які прапануе БЯСПЛАТНЫ сертыфікат SSL/TLS. Я буду выкарыстоўваць Let’s Encrypt, каб атрымаць адзін сертыфікат для майго дамена – Chandan.io

Ёсць некалькі спосабаў генерацыі CSR, але самы просты, які я знайшоў, – гэта выкарыстанне “SSL БЯСПЛАТНА» Інтэрнэт-інструмент.

Увядзіце URL, які вы хочаце абараніць

Праверце права ўласнасці на дамен адным з пералічаных метадаў і спампуйце файлы сертыфіката вашага дамена.

Вы атрымаеце тры файла, якія мы будзем выкарыстоўваць для наладжвання вэб-сервера Apache.

  • ключ – гэта ваш ключавы файл, і яго нельга абагульваць ні з кім публічна
  • Сертыфікат – фактычны сертыфікат SSL для вашага дамена
  • Ca_bundle – каранёвы/прамежкавы сертыфікат падпісчыка
  • Перадайце запампаваны файл на вэб-сервер. Яны нам хутка спатрэбяцца.

    Канфігурацыя Apache SSL

    І апошнім крокам было б наладзіць Apache, каб ён мог абслугоўваць запыт праз HTTPS.

    • Увайдзіце на вэб-сервер Apache
    • Зрабіце рэзервовую копію файла httpd.conf (размяшчэнне па змаўчанні /usr/local/apache2/conf/)
    • Адкрыйце файл у рэдактары vi і пераканайцеся, што модуль mod_ssl & httpd-ssl.conf існуе і не каментуецца
    LoadModule ssl_module modules/mod_ssl.so 
    Include conf/extra/httpd-ssl.conf

    Мы будзем выкарыстоўваць файл httpd-ssl.conf для налады дэталяў сертыфіката. Ёсць наступнае, што вам трэба пераканацца, што існуюць правільныя параметры.

  • SSLCertificateFile – шлях да CRT-файла сертыфіката, які вы спампавалі раней
  • SSLCertificateKeyFile – прыватны шлях да файла ключа
  • SSLCertificateChainFile – шлях да файла ca_bundle.crt
  • Праверце гэта:  Як убачыць, якія працэсы спыняюць Mac з сну

    Падказка: вы можаце стварыць новую папку пад назвай «ssl» і захаваць у ёй усе файлы, звязаныя з сертыфікатамі.

    • Пры неабходнасці зрабіце рэзервовую копію і выкарыстоўвайце рэдактар ​​vi, каб змяніць файл.
    SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt"
    SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt"
    SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"

    Далей вам трэба наладзіць дырэктыву «ServerName». Звычайна гэта ваш дамен/URL-імя

    ServerName chandan.io
    • Захавайце файл і перазапусціце вэб-сервер Apache
    cd /usr/local/apache2/bin 
    ./apachectl stop 
    ./apachectl start

    І, нарэшце, вы павінны пераканацца, што ваш дамен супастаўлены з нядаўна сканфігураваным IP-адрасам вэб-сервера. Пасля завяршэння паспрабуйце атрымаць доступ да дамена праз HTTPS.

    І, як бачыце, Chandan.io даступны праз https з сертыфікатам, які я сканфігураваў.

    Вышэйпаказаныя крокі важныя для наладжвання сертыфіката SSL, і вы павінны яшчэ больш наладзіць SSL, каб умацаваць і абараніць, што я растлумачыў тут. Перад пачаткам працы вы таксама можаце праверыць свой вэб-сервер SSL/TLS, каб пераканацца, што ён не падвяргаецца агульным уразлівасцям бяспекі.

    Я спадзяюся, што гэта дасць вам уяўленне аб тым, як укараніць сертыфікат SSL на вэб-серверы Apache, каб URL быў даступны праз HTTPS.

    Спадабалася чытаць артыкул? Як наконт таго, каб падзяліцца з усім светам?