Установить сертификат SSL

 Сертификаты SSL (TLS)

Как установить сертификат SSL?

Протокол Secure Sockets Layer (SSL)
SSL (Secure Sockets Layer) — это популярное название для Transport Layer Security (TLS), стандартного протокола безопасности, который устанавливает зашифрованные соединения между веб-сервером и браузером, гарантируя, что вся связь между ними остается зашифрованной и, следовательно, частной. Миллионы веб-сайтов используют SSL для защиты номеров кредитных карт, передачи данных, страниц входа и просмотра веб-сайтов всех видов, включая блоги и сайты социальных сетей.

Сведения о сайте - сертификат Sectigo PositiveSSL

HTTPS — расширение протокола HTTP.
Разработан компанией Netscape
для браузера Netscape в 1994 году
Впоследствии на основании протокола SSL 3.0 был разработан и принят стандарт RFC, получивший имя TLS.

Включение HTTPS на веб-сайтах не только обеспечивает доверие потребителей к тому, что веб-сайт является легитимным и безопасным для просмотра и транзакций, но теперь это было предписано ведущими браузерами, такими как Google Chrome. Веб-сайты без SSL отображают предупреждение «Не безопасно» в адресной строке Chrome.

  Что такое сертификаты ZeroSSL: FREE SSL ?

Сертификаты — Secure Sockets Layer (SSL), иногда называемые цифровыми сертификатами, используются для установления зашифрованного соединения между браузером и веб-сайтом или компьютером пользователя и сервером. Соединение SSL защищает конфиденциальные данные, такие как данные кредитной карты и личных данных клиентов. которыми обмениваются во время каждого посещения, называемого сеансом, от перехвата третьеми сторонами.

Процесс, называемый «рукопожатие SSL» (“SSL handshake”), создает безопасное соединение между браузером и веб-сервером. Для создания симметричного сеансового ключа, который используется для шифрования всех передаваемых данных, необходимо три ключа.

  1. Сервер отправляет копию своего асимметричного открытого ключа в браузер.
  2. Браузер создает симметричный сеансовый ключ и шифрует его с помощью асимметричного открытого ключа сервера, а затем отправляет его на сервер.
  3. Сервер расшифровывает зашифрованный сеансовый ключ, используя свой асимметричный закрытый ключ, чтобы получить симметричный сеансовый ключ.

Затем, сервер и браузер шифруют и дешифруют все передаваемые данные с помощью симметричного сеансового ключа. Это обеспечивает безопасный канал, потому что только браузер и сервер знают симметричный ключ сеанса, который используется только для этого конкретного сеанса. При следующем подключении браузера к тому же серверу, будет создан новый сеансовый ключ.

  Для чего нужен сертификат безопасности сайта ?

Сертификат безопасности веб-сайта - это инструмент проверки и шифрования, являющийся частью протокола HTTPS, который защищает и шифрует данные, передаваемые между сервером и браузером клиента. Он выдается доверенным центром сертификации (CA), который проверяет владельца веб-сайта. Сертификат гарантирует пользователю, что веб-сайт, к которому он подключен, является законным и что соединение является надежным и безопасным.
Использование сертификата SSL/TLS является видимым способом показать посетителям, что они могут доверять сайту.
Популярные поисковые системы присуждают лучшую поисковую оценку страницам с SSL, независимо от того, принимают ли они транзакции и личную информацию или не принимают.

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

Чтобы понять, безопасно ли открывать тот или иной сайт, проверьте информацию в адресной строке.

  1. Откройте страницу в браузере Chrome.
  2. Посмотрите, какой значок появился слева от адреса сайта:
    • Соединение защищено
    • Соединение не защищено
    • Соединение не защищено или опасно
  3. Нажмите на значок . Откроется окно со списком разрешений сайта и сведениями о том, насколько защищенным является соединение.
Для сертификатов организаций - OV и сертификатов расширенной проверки - EV в адресной строке браузера было название организации [страна].

#

#

Let’s Encrypt SSL-сертификат

Некоммерческий центр сертификации Let’s Encrypt предлагает сертификаты с подверждением домена (Domain Validation, DV). Let’s Encrypt не выпускает сертификаты с подтверждением организации (Organization Validation, OV) или сертификаты высокой надёжности (Extended Validation, EV).

SSL сертификаты, удостоверяющие только домен (DV-сертификаты), доступны для юридических, физических лиц и ИП.

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

 Что дает установка SSL-сертификата на сайт ?

Владельцам некоммерческих сайтов - значок замка и URL-адрес HTTPS начинающийся с «https: //», которые отображаются в адресной строке.
Т. к. они могут получить только сертификат проверки домена (DV).
HTTPS (Hyper Text Transfer Protocol Secure) – усовершенствованный протокол http. Подтверждающий, что сайт защищен SSL – протоколом шифрования данных.

Посетителям:
Владелец домена подтвердил свои права на него.
Сайт использует https шифрование.


Браузеры

Яндекс.Браузер использует протоколы TLS, обеспечивающие защищенную передачу данных в интернете.

  Бесплатные SSL-сертификаты и бесплатные инструменты SSL для вашего сайта.

 ZeroSSL: БЕСПЛАТНЫЙ SSL

Let’s Encrypt - это глобальный Центр Сертификации (ЦС), или Удостоверяющий Центр (УЦ).

Let’s Encrypt - это бесплатный, автоматизированный и открытый Центр Сертификации, созданный для вас некоммерческой организацией Internet Security Research Group (ISRG).

Бесплатные SSL-сертификаты ZeroSSL, которым доверяют все основные браузеры, выдаются за считанные минуты.

Зайдите на сайт - Бесплатные сертификаты SSL и бесплатные инструменты @ZeroSSL
и нажмите - START

На странице - Мастер бесплатных сертификатов SSL и другие инструменты SSL @ ZeroSSL

введите в список доменов avege.ru www.avege.ru
поставьте галочки в HTTP верификация, Принять ZeroSSL TOS и Принять Let's Encrypt SA (pdf)
и нажмите далее

Domains. Don't forget to include both www and non-www versions.
Домены. Не забудьте включить как www, так и не www версии.

Дождитесь окончания генерации CSR

Нажмите —      Скачать domain-csr.txt

«Далее»

Дождитесь окончания Генерации ключа аккаута

Скачайте —      account-key.txt

«Далее»

 Верификация

Для проверки владения доменом с помощью HTTP необходимо создать временный файл на сервере с указанным именем и содержимым. Файл должен быть размещен в каталоге "webroot/.well-known/acme-challenge/",
где "webroot" это "корневой" каталог, содержащий индексную страницу сайта. Прежде чем нажать кнопку «Далее», выберите нужный файл в списке ниже (для каждого из проверенных доменов).

Для avege.ru и www.avege.ru скачайте оба файла

и разместите их в каталоге .well-known/acme-challenge/ созданном в корне сайта. (там, где находится индексная страница - index.html)

После размещения файла(ов)
KexaliOR_eFKA1vYSEKW_uztafwhJW9uIymCrpIhplk
в каталоге .well-known/acme-challenge/

Нажмите «Далее»

avege.ru/.well-known/acme-challenge/KexaliOR_eFKA1vYSEKW_uztafwhJW9uIymCrpIhplk

-

Сертификат готов!

Ваш бесплатный SSL сертификат готов. Продолжительность действия составляет 90 дней, после чего его следует обновить. Обновление тоже бесплатно. Сохраните все ключи и CSR, они понадобятся при обновлении. Убедитесь, что ключ аккаунта надежно сохранен!
Важно:
Необходимо помнить, что сертификат используется в паре с доменным ключом, а не ключом аккаунта (сгенерированным или введенным на первом шаге). Доменный ключ скачивается с этой страницы. В настоящее время файл сертификата содержит как доменный сертификат, так и "промежуточный" сертификат Let's Enctypt. Однако некоторые старые версии Apache, Amazon Web Services (AWS) и некоторые панели управления должны предоставлять эти сертификаты раздельно. В панелях управления второй сертификат может называться: «Промежуточный сертификат», «Цепочка сертификатов» или «CA Bundle».

Скачайте сертификат — domain-crt.txt

Скачайте доменный ключ — domain-key.txt

Что делать дальше:
Скачать или скопировать сертификат
Скачать или скопировать ключ домена
Установить сертификат на сервер


ВАЖНО: Переименуйте файл — domain-crt.txt в domain.crt, а - domain-key.txt в domain.key


ВНИМАНИЕ
Часто встречающаяся ошибка:
Файлы не переименовываются — domain-crt.txt   в   domain.crt, и - domain-key.txt   в   domain.key,
а просто удаляют расширение — .txt
domain-crt и domain-key

В этом случае сервер не запустится и при вводе команды - nginx -t
вы увидите сообщение об ошибке:

$ nginx -t
nginx: [emerg] cannot load certificate "/var/www/key/domain.crt": BIO_new_file() failed (SSL:
error:02001002:system library:fopen:No such file or directory:fopen('/var/www/key/domain.crt','r')
error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed

nginx: [emerg] не может загрузить сертификат "/var/www/key/domain.crt": ошибка BIO_new_file() (SSL:
ошибка: 02001002: системная библиотека: fopen: нет такого файла или каталога:
fopen ('/var/www/key/domain.crt', 'r')
ошибка: 2006D080: подпрограммы BIO: BIO_new_file: такого файла нет)
nginx: тестовый файл /etc/nginx/nginx.conf не пройден
  

  Установка сертификатов SSL на веб-серверы Apache и Nginx

Для получение сертификата не требуется каких-либо особых технических знаний, для установки немного этого. Обычно вам нужно найти файлы конфигурации вашего веб-сервера и внести в них несколько небольших изменений. Обычно файлы конфигурации содержат закомментированные примеры конфигураций, которые вы можете использовать в качестве шаблона. Двумя наиболее распространенными веб-серверами являются Apache и Nginx.

  Установка сертификатов на веб-сервер Apache

Предполагая, что вы используете более или менее свежую версию Apache (2.4.8 или выше), ваш ключ и сертификат готовы к использованию. Ниже приведен пример минимальной конфигурации:

Установить mod_ssl - команда:

yum install mod_ssl openssh

root@avege ~

Using username "root".
root@88.212.253.127's password:
Send automatic password
[root@avege ~]#  yum install mod_ssl openssh
Last metadata expiration check: 0:16:36 ago on Wed Apr  8 09:46:29 2020.
Package mod_ssl-1:2.4.37-16.module_el8.1.0+256+ae790463.x86_64 is already installed.
Package openssh-7.8p1-4.el8.x86_64 is already installed.
Dependencies resolved.
================================================================================
 Package                Arch          Version               Repository     Size
================================================================================
Upgrading:
 openssh                x86_64        8.0p1-4.el8_1         BaseOS        496 k
 openssh-clients        x86_64        8.0p1-4.el8_1         BaseOS        704 k
 openssh-server         x86_64        8.0p1-4.el8_1         BaseOS        485 k
 openssl                x86_64        1:1.1.1c-2.el8        BaseOS        686 k
 openssl-libs           x86_64        1:1.1.1c-2.el8        BaseOS        1.5 M
Installing weak dependencies:
 openssl-pkcs11         x86_64        0.4.8-2.el8           BaseOS         64 k

Transaction Summary
================================================================================
Install  1 Package
Upgrade  5 Packages

Total download size: 3.8 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): openssl-pkcs11-0.4.8-2.el8.x86_64.rpm    663 kB/s |  64 kB     00:00
(2/6): openssh-8.0p1-4.el8_1.x86_64.rpm         1.2 MB/s | 496 kB     00:00
(3/6): openssh-server-8.0p1-4.el8_1.x86_64.rpm  1.4 MB/s | 485 kB     00:00
(4/6): openssh-clients-8.0p1-4.el8_1.x86_64.rpm 1.2 MB/s | 704 kB     00:00
(5/6): openssl-1.1.1c-2.el8.x86_64.rpm          1.3 MB/s | 686 kB     00:00
(6/6): openssl-libs-1.1.1c-2.el8.x86_64.rpm     2.5 MB/s | 1.5 MB     00:00
--------------------------------------------------------------------------------
Total                                           1.5 MB/s | 3.8 MB     00:02
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Running scriptlet: openssl-1:1.1.1c-2.el8.x86_64                          1/1
  Upgrading        : openssl-1:1.1.1c-2.el8.x86_64                         1/11
  Upgrading        : openssl-libs-1:1.1.1c-2.el8.x86_64                    2/11
  Running scriptlet: openssl-libs-1:1.1.1c-2.el8.x86_64                    2/11
  Installing       : openssl-pkcs11-0.4.8-2.el8.x86_64                     3/11
  Running scriptlet: openssl-pkcs11-0.4.8-2.el8.x86_64                     3/11
  Running scriptlet: openssh-8.0p1-4.el8_1.x86_64                          4/11
  Upgrading        : openssh-8.0p1-4.el8_1.x86_64                          4/11
  Upgrading        : openssh-clients-8.0p1-4.el8_1.x86_64                  5/11
  Running scriptlet: openssh-server-8.0p1-4.el8_1.x86_64                   6/11
  Upgrading        : openssh-server-8.0p1-4.el8_1.x86_64                   6/11
  Running scriptlet: openssh-server-8.0p1-4.el8_1.x86_64                   6/11
warning: /etc/ssh/sshd_config created as /etc/ssh/sshd_config.rpmnew

  Cleanup          : openssl-1:1.1.1-8.el8.x86_64                          7/11
  Running scriptlet: openssh-server-7.8p1-4.el8.x86_64                     8/11
  Cleanup          : openssh-server-7.8p1-4.el8.x86_64                     8/11
  Running scriptlet: openssh-server-7.8p1-4.el8.x86_64                     8/11
  Cleanup          : openssh-clients-7.8p1-4.el8.x86_64                    9/11
  Cleanup          : openssh-7.8p1-4.el8.x86_64                           10/11
  Cleanup          : openssl-libs-1:1.1.1-8.el8.x86_64                    11/11
  Running scriptlet: openssl-libs-1:1.1.1-8.el8.x86_64                    11/11
  Verifying        : openssl-pkcs11-0.4.8-2.el8.x86_64                     1/11
  Verifying        : openssh-8.0p1-4.el8_1.x86_64                          2/11
  Verifying        : openssh-7.8p1-4.el8.x86_64                            3/11
  Verifying        : openssh-clients-8.0p1-4.el8_1.x86_64                  4/11
  Verifying        : openssh-clients-7.8p1-4.el8.x86_64                    5/11
  Verifying        : openssh-server-8.0p1-4.el8_1.x86_64                   6/11
  Verifying        : openssh-server-7.8p1-4.el8.x86_64                     7/11
  Verifying        : openssl-1:1.1.1c-2.el8.x86_64                         8/11
  Verifying        : openssl-1:1.1.1-8.el8.x86_64                          9/11
  Verifying        : openssl-libs-1:1.1.1c-2.el8.x86_64                   10/11
  Verifying        : openssl-libs-1:1.1.1-8.el8.x86_64                    11/11

Upgraded:
  openssh-8.0p1-4.el8_1.x86_64           openssh-clients-8.0p1-4.el8_1.x86_64
  openssh-server-8.0p1-4.el8_1.x86_64    openssl-1:1.1.1c-2.el8.x86_64
  openssl-libs-1:1.1.1c-2.el8.x86_64

Installed:
  openssl-pkcs11-0.4.8-2.el8.x86_64

Complete!
[root@avege ~]#

Узнать версию CentOS - команда:

grep PRETTY_NAME /etc/os-release

$ grep PRETTY_NAME /etc/os-release
PRETTY_NAME="CentOS Linux 8 (Core)"

Узнать версию OpenSSL в CentOS 8 - команда:

openssl version

$ openssl version
OpenSSL 1.1.1c FIPS  28 May 2019 

Узнать версию Apache в CentOS 8 - команда:

httpd -v

$ httpd -v
Server version: Apache/2.4.37 (centos)
Server built:   Dec 23 2019 20:45:34 

Чтобы проверить, включен-ли mod_ssl, выполните:

apachectl -M | grep ssl

$ apachectl -M | grep ssl
 ssl_module (shared)
 

ssl_module (общий доступ)

Включить / отключить службы для запуска во время загрузки

удалить из автозагрузки

  systemctl disable httpd.service

добавить в автозагрузку

  systemctl enable httpd.service

Apache будет запускаться автоматически при следующей загрузке CentOS.

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT

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

  httpd -t.

Проверить файл конфигурации виртуальных хостов можно с помощью команды —

  httpd -S.

httpd -t [Sun Mar 08 12:09:00.386531 2020] [alias:warn] [pid 13232] AH00671: The ScriptAlias directive in /etc/httpd/conf.d/avege.ru.conf at line 33 will probably never match because it overlaps an earlier ScriptAlias. Syntax OK

# generated 2020-04-08, Mozilla Guideline v5.4, Apache 2.4.37, OpenSSL 1.1.1с, modern configuration
# https://ssl-config.mozilla.org/#server=apache&version=2.4.37&config=modern&openssl=1.1.1с&guideline=5.4
# this configuration requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers

<VirtualHost *:80>
    RewriteEngine On
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile      /path/to/signed_cert_and_intermediate_certs
    SSLCertificateKeyFile   /path/to/private_key

    # enable HTTP/2, if available
    Protocols h2 http/1.1

    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>

# modern configuration
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2
SSLHonorCipherOrder     off
SSLSessionTickets       off

SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"

В файле виртуальных хостов сервера Apache.
Пример минимальной конфигурации:

# Listen 443
<VirtualHost *:443>
        ServerName www.mydomain.com
        ServerAlias mydomain.com
        SSLEngine on
        SSLCertificateFile "/path/to/mydomain.crt"
        SSLCertificateKeyFile "/path/to/mydomain.key"
        SSLCipherSuite HIGH:!aNULL:!MD5
        SSLProtocol All -SSLv2 -SSLv3
        SSLHonorCipherOrder on
</VirtualHost>

Промежуточная конфигурация для серверов Apache общего назначения
с множеством клиентов, рекомендуется почти для всех систем

# 2020-03-03, Apache 2.4.41, OpenSSL 1.1.1d, intermediate configuration

# this configuration requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers
<VirtualHost *:80>
    RewriteEngine On
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateFile      /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateKeyFile   /path/to/private_key

    # enable HTTP/2, if available
    Protocols h2 http/1.1

    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>

# intermediate configuration, tweak to your needs
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder     off
SSLSessionTickets       off

SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"

systemctl restart httpd

root@avege ~

Using username "root".
root@88.212.253.127's password:
Send automatic password
[root@avege ~]# apachectl configtest               
[Tue Sep 10 06:56:20.799294 2019] [so:warn] [pid 3196] AH01574:
module ssl_module is already loaded, skipping
Syntax OK
[root@avege ~]#  systemctl restart httpd.service
[root@avege ~]#  iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
[root@avege ~]#  iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

   Установка сертификатов на веб-сервер Nginx

В файле mydomain.com.conf (каталог - /etc/nginx/conf.d/)
где, mydomain.com - имя вашего сайта.
Пример минимальной конфигурации:

server {
        listen       443 ssl;
        server_name  www.mydomain.com mydomain.com;
        ssl          on;
        ssl_certificate      /path/to/mydomain.crt;
        ssl_certificate_key  /path/to/mydomain.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'HIGH:!aNULL:!MD5:!kEDH';
}

Промежуточная конфигурация для серверов Nginx общего назначения
с множеством клиентов, рекомендуется почти для всех систем

# 2020-03-03, nginx 1.17.7, OpenSSL 1.1.1d, intermediate configuration
   server {
    listen 80 default_server;
    listen [::]:80 default_server;

    # redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
    # перенаправить все HTTP-запросы в HTTPS с ответом 301 Moved Permanently.
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
    # сертификаты, отправленные клиенту в SERVER HELLO, объединяются в ssl_certificate 
    ssl_certificate /path/to/signed_cert_plus_intermediates;
    ssl_certificate_key /path/to/private_key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
    ssl_session_tickets off;

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam.pem
    ssl_dhparam /path/to/dhparam.pem;

    # intermediate configuration
    # промежуточная конфигурация 
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
    :ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
    :ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305
    :DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    # HSTS (ngx_http_headers_module is required) (63072000 seconds)
    # HSTS (требуется ngx_http_headers_module) (63072000 секунд) 
    add_header Strict-Transport-Security "max-age=63072000" always;

    # OCSP stapling
    # OCSP сшивание 
    ssl_stapling on;
    ssl_stapling_verify on;

    # verify chain of trust of OCSP response using Root CA and Intermediate certs
    # проверить цепочку доверия ответа OCSP с помощью Root CA и промежуточных сертификатов 
    ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

    # replace with the IP address of your resolver
    # замена вашего IP-адреса
    resolver 127.0.0.1;
}

   SSL тест проверки сертификатов

SSL Labs — бесплатный онлайн-сервис выполняющий глубокий анализ конфигурации любого SSL-веб-сервера в общедоступном интернете.


Как продлить SSL сертификат?

Процесс обновления очень похож на первоначальный выпуск. Используйте тот же ключ учетной записи и CSR, которые использовали ранее на странице сведений. Обратите внимание, что вы должны использовать ключ учетной записи, а не ключ домена (обычно загружается на последнем шаге вместе с файлом сертификата, и его не нужно вводить где-либо на сайте ZeroSSL - ни для первоначальной выдачи, ни для для обновления). На последнем шаге загрузите обновленный файл сертификата, поместите его на свой сервер (заменив старый) и перезагрузите или перезапустите программное обеспечение веб-сервера.


Установка SSL сертификата в cPanel.

Установка SSL сертификата в ISPmanager.

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


Некоммерческий центр сертификации Let’s Encrypt.
Установка бесплатного сертификата Let’s Encrypt не требует подключения выделенного IP-адреса и распространяется как на основной домен, так и на его поддомены. Установите SSL-сертификат в разделе «Сайты и домены» → «Управление сайтами», кликнув на переключатель возле нужного домена. Через несколько минут ваш сайт станет доступен по протоколу HTTPS. Срок действия бесплатного сертификата — 90 дней, продление происходит автоматически.
Сертификат не получится установить, если домен:
размещен в бесплатной зоне (.UXP.RU, .01SH.ru и других);
делегирован на сторонние NS-серверы..

что такое OpenSSL

OpenSSL - это библиотека безопасности, включенная во все системы Linux. Её основная цель - обеспечить реализацию протоколов TLS и SSL с открытым исходным кодом, которые защищают и шифруют передачу данных по сети. Это действительно важно использовать, потому что если переданные данные попадут в руки третьих лиц, этот человек должен расшифровать их, чтобы получить информацию.

root@avege ~

Using username "root".
root@88.212.253.127's password:
Send automatic password
[root@avege ~]#  dnf install openssl-devel
CentOS-8 - AppStream                            9.1 kB/s | 4.3 kB     00:00
CentOS-8 - Base                                  11 kB/s | 3.8 kB     00:00
CentOS-8 - Extras                               4.0 kB/s | 1.5 kB     00:00
Extra Packages for Enterprise Linux Modular 8 -  50 kB/s |  33 kB     00:00
Extra Packages for Enterprise Linux 8 - x86_64   76 kB/s |  20 kB     00:00
Dependencies resolved.
================================================================================
 Package                   Architecture Version              Repository    Size
================================================================================
Installing:
 openssl-devel             x86_64       1:1.1.1c-2.el8       BaseOS       2.3 M
Installing dependencies:
 keyutils-libs-devel       x86_64       1.5.10-6.el8         BaseOS        48 k
 krb5-devel                x86_64       1.17-9.el8           BaseOS       548 k
 libcom_err-devel          x86_64       1.44.6-3.el8         BaseOS        38 k
 libkadm5                  x86_64       1.17-9.el8           BaseOS       184 k
 libselinux-devel          x86_64       2.9-2.1.el8          BaseOS       199 k
 libsepol-devel            x86_64       2.9-1.el8            BaseOS        86 k
 libverto-devel            x86_64       0.3.0-5.el8          BaseOS        18 k
 pcre2-devel               x86_64       10.32-1.el8          BaseOS       605 k
 pcre2-utf16               x86_64       10.32-1.el8          BaseOS       228 k
 pcre2-utf32               x86_64       10.32-1.el8          BaseOS       220 k
 zlib-devel                x86_64       1.2.11-10.el8        BaseOS        56 k

Transaction Summary
================================================================================
Install  12 Packages

Total download size: 4.5 M
Installed size: 8.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/12): libcom_err-devel-1.44.6-3.el8.x86_64.rp 1.2 MB/s |  38 kB     00:00
(2/12): keyutils-libs-devel-1.5.10-6.el8.x86_64 1.3 MB/s |  48 kB     00:00
(3/12): libkadm5-1.17-9.el8.x86_64.rpm          9.5 MB/s | 184 kB     00:00
(4/12): libselinux-devel-2.9-2.1.el8.x86_64.rpm  10 MB/s | 199 kB     00:00
(5/12): libverto-devel-0.3.0-5.el8.x86_64.rpm   5.9 MB/s |  18 kB     00:00
(6/12): libsepol-devel-2.9-1.el8.x86_64.rpm      10 MB/s |  86 kB     00:00
(7/12): krb5-devel-1.17-9.el8.x86_64.rpm        7.6 MB/s | 548 kB     00:00
(8/12): pcre2-utf16-10.32-1.el8.x86_64.rpm       14 MB/s | 228 kB     00:00
(9/12): pcre2-utf32-10.32-1.el8.x86_64.rpm       16 MB/s | 220 kB     00:00
(10/12): pcre2-devel-10.32-1.el8.x86_64.rpm      13 MB/s | 605 kB     00:00
(11/12): zlib-devel-1.2.11-10.el8.x86_64.rpm    8.9 MB/s |  56 kB     00:00
(12/12): openssl-devel-1.1.1c-2.el8.x86_64.rpm   17 MB/s | 2.3 MB     00:00
--------------------------------------------------------------------------------
Total                                           3.7 MB/s | 4.5 MB     00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : zlib-devel-1.2.11-10.el8.x86_64                       1/12
  Installing       : pcre2-utf32-10.32-1.el8.x86_64                        2/12
  Installing       : pcre2-utf16-10.32-1.el8.x86_64                        3/12
  Installing       : pcre2-devel-10.32-1.el8.x86_64                        4/12
  Installing       : libverto-devel-0.3.0-5.el8.x86_64                     5/12
  Installing       : libsepol-devel-2.9-1.el8.x86_64                       6/12
  Installing       : libselinux-devel-2.9-2.1.el8.x86_64                   7/12
  Installing       : libkadm5-1.17-9.el8.x86_64                            8/12
  Installing       : libcom_err-devel-1.44.6-3.el8.x86_64                  9/12
  Installing       : keyutils-libs-devel-1.5.10-6.el8.x86_64              10/12
  Installing       : krb5-devel-1.17-9.el8.x86_64                         11/12
  Installing       : openssl-devel-1:1.1.1c-2.el8.x86_64                  12/12
  Running scriptlet: openssl-devel-1:1.1.1c-2.el8.x86_64                  12/12
  Verifying        : keyutils-libs-devel-1.5.10-6.el8.x86_64               1/12
  Verifying        : krb5-devel-1.17-9.el8.x86_64                          2/12
  Verifying        : libcom_err-devel-1.44.6-3.el8.x86_64                  3/12
  Verifying        : libkadm5-1.17-9.el8.x86_64                            4/12
  Verifying        : libselinux-devel-2.9-2.1.el8.x86_64                   5/12
  Verifying        : libsepol-devel-2.9-1.el8.x86_64                       6/12
  Verifying        : libverto-devel-0.3.0-5.el8.x86_64                     7/12
  Verifying        : openssl-devel-1:1.1.1c-2.el8.x86_64                   8/12
  Verifying        : pcre2-devel-10.32-1.el8.x86_64                        9/12
  Verifying        : pcre2-utf16-10.32-1.el8.x86_64                       10/12
  Verifying        : pcre2-utf32-10.32-1.el8.x86_64                       11/12
  Verifying        : zlib-devel-1.2.11-10.el8.x86_64                      12/12

Installed:
  openssl-devel-1:1.1.1c-2.el8.x86_64  keyutils-libs-devel-1.5.10-6.el8.x86_64
  krb5-devel-1.17-9.el8.x86_64         libcom_err-devel-1.44.6-3.el8.x86_64
  libkadm5-1.17-9.el8.x86_64           libselinux-devel-2.9-2.1.el8.x86_64
  libsepol-devel-2.9-1.el8.x86_64      libverto-devel-0.3.0-5.el8.x86_64
  pcre2-devel-10.32-1.el8.x86_64       pcre2-utf16-10.32-1.el8.x86_64
  pcre2-utf32-10.32-1.el8.x86_64       zlib-devel-1.2.11-10.el8.x86_64

Complete!
[root@avege ~]#

$ rpm -qa | grep openssl-devel
openssl-devel-1.1.1c-2.el8.x86_64

$ openssl version
OpenSSL 1.1.1c FIPS  28 May 2019
  
$ grep -r ssl_protocol /etc/nginx
/etc/nginx/conf.d/avege.ru.conf:    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;