Давайте захистимо 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, і ви можете звернутися до посібника з усунення несправностей.
Переконайтеся, що ви не отримуєте жодної помилки від наведеної вище команди configure, а потім ви повинні інсталювати за допомогою команд make.
make make install
Як завжди, переконайтеся, що наведені вище команди не викликають помилок. Це означає, що ви встановили веб-сервер Apache із підтримкою SSL.
Отримання SSL-сертифікату
Є кілька способів створити та отримати сертифікат SSL, підписаний центром сертифікації.
Якщо ви бажаєте запровадити SSL на веб-сервері інтрамережі, тоді більшість організацій мають внутрішню групу видавців сертифікатів, тому вам потрібно звернутися до них. Але вам все одно потрібно створити CSR (запит на підписання сертифіката), і ви можете зробити це за допомогою OpenSSL.
Однак, якщо ви хочете захистити URL-адресу, що виходить в Інтернет, ви можете придбати сертифікат у VeriSign, GoDaddy, Namecheap, ZeroSSLтощо, або отримати БЕЗКОШТОВНИЙ сертифікат від Давайте зашифруємо.
Let’s Encrypt — це спільний проект Linux Foundation, який пропонує БЕЗКОШТОВНИЙ сертифікат SSL/TLS. Я буду використовувати Let’s Encrypt, щоб отримати один сертифікат для свого домену – Chandan.io
Є кілька способів генерувати CSR, але найпростіший, який я знайшов, це використання «SSL БЕЗКОШТОВНО» онлайн-інструмент.
Введіть URL-адресу, яку потрібно захистити
Підтвердьте право власності на домен одним із наведених способів і завантажте файли сертифікатів домену.
Ви отримаєте три файли, які ми використовуватимемо для налаштування веб-сервера Apache.
Передайте завантажений файл на веб-сервер. Вони нам незабаром знадобляться.
Конфігурація 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 для налаштування деталей сертифіката. Для того, щоб переконатися в наявності правильних параметрів, потрібно виконати наступне.
Порада: ви можете створити нову папку під назвою «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.
Вам сподобалось читати статтю? Як щодо того, щоб поділитися зі світом?