Давайте посмотрим, как получить БЕСПЛАТНЫЙ сертификат SSL / TLS от ZeroSSL и внедрить его на веб-серверах Apache и Nginx..

Введение

Возможно, вы много слышали о таком термине, как HTTP и HTTPS. В первые дни был определен протокол, который был назван Протокол передачи гипертекста (HTTP). Это способ общения из браузера на веб-сервер. Когда происходит такое общение, данные, передаваемые по протоколу HTTP, просто передаются в формате открытого текста. В связи с этим выяснилось, что HTTP-связь небезопасна, и хакеры смогли атаковать и перехватывать важные и конфиденциальные сообщения..

Чтобы решить эту проблему, HTTPS протокол вошел в картину. Это безопасный протокол, и аббревиатура расшифровывается как Протокол передачи гипертекста Secure. Он просто выполняет шифрование данных, когда происходит обмен данными, и данные перемещаются из веб-браузера на веб-сервер. Так что если какой-либо хакер получит эту информацию, она будет зашифрована.

Как работает HTTPS?

Протокол HTTPS работает с любой из двух вещей: SSL (Secure Socket Layer) или TLS (Transport Layer Security). Оба инструмента используют PKI (Инфраструктура открытых ключей). PKI, в свою очередь, использует два ключа, т.е. открытый и закрытый ключи. Все, что зашифровано с помощью открытого ключа, может быть расшифровано с помощью личного ключа и наоборот..

Когда мы устанавливаем сертификат SSL / TLS на нашем сайте, ‘шифрование данныхФункция включена. SSL используется в качестве контрольной точки, чтобы гарантировать безопасность данных, которыми обмениваются через Интернет между браузером пользователя и сервером сайта.

Получение сертификата ZeroSSL

ZeroSSL – это центр сертификации (CA), который позволяет каждому легко установить сертификат для обеспечения безопасности веб-сайта. Вы можете получить до 3 сертификатов со сроком действия 90 дней бесплатно.

Ноль SSL

  • Зарегистрируйтесь с помощью ZeroSSL
  • После входа появится следующая страница. Нажмите на ‘Новый сертификат.

  • Введите URL, который вы хотите защитить, и нажмите на ‘Следующий шаг.»

  • Выберите 90-дневный сертификат и Далее

  • Давайте продолжим с опцией автоматической генерации CSR

  • Приступить к «бесплатному» плану

Далее вам необходимо подтвердить право собственности на домен. Есть несколько вариантов.

  • DNS – если вы можете добавить запись в записи DNS
  • Email – если вы можете получить письмо на [Электронная почта защищена]
  • Загрузка файла – если вы можете загрузить файл в корне домена

Выберите то, что работает для вас. Я продолжу ввод DNS.

  • Я добавил CNAME и готов подтвердить домен.

  • Наконец, после проверки SSL-сертификат готов к загрузке.

Вот мои скачанные сертификаты.

Пришло время его реализовать.

Внедрение на Apache

Следующее, я установлю Apache на Ubuntu.

Войдите на сервер и установите с помощью команды apt-get.

sudo apt-get установить apache2

Давайте выясним, работает ли Apache с помощью команды systemctl.

[Электронная почта защищена]: ~ # systemctl status apache2
● apache2.service – HTTP-сервер Apache
Загружен: загружен (/lib/systemd/system/apache2.service; включен; предустановка поставщика: включена)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Активен: активен (работает) с Сб 2020-05-23 16:15:56 UTC; 3 с. Назад
Процесс: 7852 ExecStop = / usr / sbin / apachectl stop (код = выход, статус = 0 / УСПЕХ)
Процесс: 14179 ExecStart = / usr / sbin / apachectl start (код = выход, статус = 0 / УСПЕХ)
Основной PID: 14196 (apache2)
Задачи: 55 (лимит: 2362)
CGroup: /system.slice/apache2.service
14─14196 / usr / sbin / apache2 -k start
14─14199 / usr / sbin / apache2 -k start
14─14200 / usr / sbin / apache2 -k start

23 мая 16:15:56 geekflare-lab systemd [1]: Запуск HTTP-сервера Apache…
23 мая 16:15:56 geekflare-lab apachectl [14179]: AH00558: apache2: Не удалось надежно определить полное доменное имя сервера, используя 127.0.1.1. Установите ‘Служить
23 мая 16:15:56 geekflare-lab systemd [1]: Запущен HTTP-сервер Apache.

Отлично, это работает.

Мой домен (lab.geekflare.com) уже указывает на этот сервер Apache.

Но, как вы видите, он не защищен, и поэтому мы будем настраивать сертификат, который мы получили от ZeroSSL.

  • Давайте создадим каталог с именем sslCA в / etc для хранения файлов сертификатов..

CD / и т. д.
mkdir sslCA

  • Перенос файлов во вновь созданную папку на сервере

[Электронная почта защищена]: / etc / sslCA # ll
всего 20
drwxr-xr-x 2 root root 4096 18 мая 12:13 ./
drwxr-xr-x 92 root root 4096 22 мая 06:07 ../
-rw-r – r– 1 корневой корень 2430 18 мая 05:37 ca_bundle.crt
-rw-r – r– 1 корневой корень 2292 18 мая 05:37 certificate.crt
-rw-r – r– 1 корневой корень 1702 18 мая 05:37 private.key

  • Включить модуль SSL

sudo a2enmod SSL

  • Нам придется перезапустить веб-сервер, чтобы изменения могли быть распознаны..

перезапуск службы sudo apache2

  • Следующим шагом является настройка файлов сертификатов в конфигурационном файле Apache SSL..

cd / etc / apache2 / mods-available

  • Название файла ssl.conf. Нам нужно добавить следующее в директиву.

SSLEngine на
SSLCertificateFile /etc/SSLCA/certificate.crt
SSLCertificateKeyFile /etc/SSLCA/private.key
SSLCertificateChainFile /etc/SSLCA/ca_bundle.crt

  • Сохраните файл и выйдите: wq!

После перезапуска на сайте включится SSL. Давайте зайдем на сайт, используя https: //

И, как вы можете видеть, «Соединение обязательно ». Это означает, что наш SSL-сертификат был успешно применен к нашему веб-серверу..

Внедрение на Nginx

Nginx находится в репозиториях Ubuntu по умолчанию, поэтому его можно установить отсюда, используя соответствующую систему упаковки.

  • Следующая команда используется для установки «Nginx».

sudo apt установить nginx

  • После того, как установка прошла успешно, мы можем запустить Nginx, используя следующую команду.

systemctl start nginx

  • Проверьте статус Nginx.

[Электронная почта защищена]: ~ # systemctl status nginx
● nginx.service – высокопроизводительный веб-сервер и обратный прокси-сервер.
Загружен: загружен (/lib/systemd/system/nginx.service; включен; предустановка поставщика: включена)
Активен: активен (работает) с вт 2020-05-19 06:54:00 UTC; 4 дня назад
Документы: man: nginx (8)
Процесс: 8634 ExecStop = / sbin / start-stop-daemon –quiet –stop –retry QUIT / 5 –pidfile /run/nginx.pid (код = выход, статус = 0 / УСПЕХ)
Процесс: 8661 ExecStart = / usr / sbin / nginx -g включен демон; master_process on; (код = выход, статус = 0 / УСПЕХ)
Процесс: 8653 ExecStartPre = / usr / sbin / nginx -t -q -g демон включен; master_process on; (код = выход, статус = 0 / УСПЕХ)
Основной PID: 8664 (nginx)
Задачи: 2 (лимит: 2362)
CGroup: /system.slice/nginx.service
86─8664 nginx: мастер-процесс / usr / sbin / nginx -g включен; master_process on;
8─8707 nginx: рабочий процесс

19 мая 06:54:00 geekflare-lab systemd [1]: Запуск Высокопроизводительный веб-сервер и обратный прокси-сервер…
19 мая 06:54:00 geekflare-lab systemd [1]: nginx.service: не удалось проанализировать PID из файла /run/nginx.pid: неверный аргумент
19 мая 06:54:00 geekflare-lab systemd [1]: запущен Высокопроизводительный веб-сервер и обратный прокси-сервер.

  • Как и ожидалось, браузер покажет предупреждение, так как соединение с этим сайтом небезопасно.

Давайте быстро внедрим сертификат, чтобы сделать сайт безопасным, используя HTTPS.

  • Давайте создадим файл example.com.conf в каталоге /etc/nginx/conf.d. Содержимое файла будет выглядеть следующим образом.

сервер {
прослушать 443 SSL default_server;
прослушать [::]: 443 SSL default_server;
имя_сервера lab.geekflare.com lab.geekflare.com;
root / var / www / html;
}

  • Теперь необходимо добавить имя файла сертификата в файл nginx.conf, который находится в каталоге «/ etc / nginx»..
  • Добавьте следующее в http директиву

ssl_certificate /etc/sslCA/certificate.crt;
ssl_certificate_key /etc/sslCA/private.key;

  • Перезапустите Nginx, чтобы проверить изменения

systemctl перезапустить nginx

И здесь мы идем.

Заинтересованы в изучении Nginx? Проверьте это Основы курса.

Тестирование конфигурации SSL / TLS

Конфигурация по умолчанию может быть уязвимой, и я настоятельно рекомендую тестирование вашего сайта после реализации сертификата. Есть ряд онлайн-инструментов, которые вы можете проверить здесь.

Вывод

Я надеюсь, что это даст вам представление о получении сертификата от ZeroSSL и его внедрении на двух самых популярных веб-серверах..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me