Где настроить ssl. Где взять SSL-сертификат? Копируем файлы на сервер

Главная / Земля

Итак, вы приобрели SSL-сертификат для вашего домена. В процессе заказа вы должны были выбрать авторизационный email, расположенный на вашем домене: admin, administrator, hostmaster, postmaster, webmaster. На выбранный вами авторизационный email придет письмо содержащее ссылку, пройдя по которой, вы подтвердите ваши административные права домена. После этого на ваш контактный электронный почтовый ящик аккаунта поступит несколько писем.

Имеются следующие файлы:

Приватный ключ (для удобства сохраните его в виде простого текстового файла с именем ваш_домен.key)

Файл сертификата для вашего домена, ваш_домен.crt

Два файла цепочки сертификатов PositiveSSLCA2.crt и AddTrustExternalCARoot.crt

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

Обратите внимание, если письмо, содержащее приватный ключ, к вам не поступило, то в первую очередь проверьте, пожалуйста, каталог "Спам" в вашем почтовом ящике. В том случае, если в указанном каталоге письмо не обнаружено, напишите, пожалуйста, письмо с контактного электронного почтового ящика аккаунта на

Установка сертификата средствами ISPmanager


1. Войдите в ISPmanager под учетной записью "root". (Если вы заказали VPS сервер на тарифе с администрированием нашими специалистами, то данный шаг необходимо пропустить)

Войдите в меню "Учетные записи" → "Пользователи", выберите пользователя-владельца сайта, к которому требуется привязать SSL-сертификат, и нажмите кнопку "Изменить".


В появившемся установите галочку "Может использовать SSL", если она еще не установлена.


Сохраните изменения кнопкой "Ok".

Дальнейшие действия мы будем выполнять от имени созданного пользователя-владельца сайтов. Снова выберите вашего пользователя-владельца сайта и нажмите кнопку "Войти" в правом верхнем углу, ISPmanager автоматически понизит ваши привилегии до его уровня.


2. Перейдите в раздел "WWW" → "WWW-домены". В списке отображаются все добавленные в конфигурационные файлы веб-сервера домены, в колонке "Параметры" иконками отображается наличие или отсутствие тех или иных модулей веб-сервера, которые участвуют в обработке запросов к сайту. Необходимо подключить модуль для работы с SSL для сайта, для этого выберите домен и нажмите кнопку "Изменить" сверху.


Откроется новая вкладка, в которой нужно установить галочку "Защищённое соединение (SSL)" и "Перенаправлять HTTP-запросы в HTTPS" и сохранить изменения кнопкой "Ok". Обратите внимание, желательно чтобы этот домен был единственным доменом с SSL на этом IP-адресе.


3. Теперь перейдем в раздел "WWW" → "SSL сертификаты", здесь показаны все имеющиеся на сервере сертификаты безопасности, отсюда мы добавим наш. Обратите внимание на наличие самоподписанного сертификата для вашего домена - он был сгенерирован ISPmanager-ом автоматически на предыдущем шаге, в момент когда вы установили галочку "SSL" в настройках WWW-домена. Этот сертификат использоваться не будет, мы добавим наш, сделать это можно кнопкой "Создать" сверху.


На первом шаге выберете тип сертификата "существующий".


На втором шаге вам необходимо будет ввести имя сертификата, сам сертификат, приватный ключ сертификата и подтверждающую цепочку. Откройте в "Блокноте" все имеющиеся у вас файлы: приватный ключ, который мы сохранили в файл ваш_домен.key, файл сертификата ваш_домен.crt и другие два. В форму ввода "SSL-сертификат" скопируйте содержимое файла ваш_домен.crt; в форму "Ключ SSL-сертификата" скопируйте текст из файла ваш_домен.key. В форму "Цепочка SSL-сертификатов" последовательно скопируйте содержимое файлов PositiveSSLCA2.crt и AddTrustExternalCARoot.crt, именно в этом порядке. Нажмите кнопку "Завершить" для сохранения введенных данных.


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


5. Перейдите на ваш сайт, для работы по шифрованному соединению в адресной строке браузера впишите адрес наподобие "https://ваш_домен.ru/". Аббревиатура "https" означает работу по шифрованному протоколу HTTP, что нам и требуется. Если все сделано правильно, браузер не будет выдавать никаких предупреждений или сообщений о потенциальных угрозах, а сразу отобразит сайт. В адресной строке при этом тем или иным способом будет обозначен факт того, что передаваемые данные шифруются и сертификат подтвержден.


Настройка закончена. Следует, однако, иметь в виду, что при каких-либо изменениях в ПО веб-сервера (его переконфигурирование, смена IP-адреса домена, установка nginx перед Apache например) эта схема работы может нарушиться. В этом случае возможно придется внести соответствующие коррективы в конфигурационные файлы веб-сервера вручную.
Если у вас возникнут какие-либо вопросы при добавлении сертификата к вашему сайту - техническая поддержка всегда будет рада помочь вам, напишите пожалуйста письмо на адрес support@сайт с контактного e-mail вашего сервера.

Установка сертификата утилитами из консоли: CentOS, Apache 2

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

1. Поместите все 4 файла (приватный ключ, сохраненный в файле ваш_домен.key , и файлы сертификатов ваш_домен.crt , PositiveSSLCA2.crt и AddTrustExternalCARoot.crt


# cat /var/www/httpd-cert/PositiveSSLCA2.crt /var/www/httpd-cert/AddTrustExternalCARoot.crt > -bundle

# openssl verify /var/www/httpd-cert/ваш_домен.crt-bundle


5. В конфигурационном файле Apache 2 (наиболее вероятно - /etc/httpd/conf/httpd.conf) создайте новый VirtualHost на 443м порту. Ниже приведены только директивы, отвечающие за работу с сертификатом, остальные можно скопировать по аналогии из имеющегося для 80-го порта:

SSLEngine on
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
SSLCertificateFile /var/www/httpd-cert/ваш_домен.crt
SSLCertificateKeyFile /var/www/httpd-cert/ваш_домен.key
SSLCACertificateFile /var/www/httpd-cert/ваш_домен.crt-bundle
ServerName ваш_домен
...

6. Проверьте корректность синтаксиса конфигурационного файла:
# /etc/init.d/httpd configtest
Syntax OK
Перезапустите Apache и проверьте работу сайта с https://, если все сделано правильно - в адресной строке при этом тем или иным способом будет обозначен факт того, что передаваемые данные шифруются и сертификат подтвержден.

Установка сертификата утилитами из консоли: CentOS, nginx

1. Поместите все 4 файла (приватный ключ, сохраненный в файле ваш_домен.key, и файлы сертификатов ваш_домен.crt , PositiveSSLCA2.crt и AddTrustExternalCARoot.crt ) в директорию /var/www/httpd-cert/.

2. Установите владельца и группу всех файлов в root:
# chown root:root /var/www/httpd-cert/ваш_домен.key /var/www/httpd-cert/ваш_домен.crt /var/www/httpd-cert/PositiveSSLCA2.crt /var/www/httpd-cert/AddTrustExternalCARoot.crt

3. Установите права на файл ключа "только для владельца, только для чтения":
# chmod 400 /var/www/httpd-cert/ваш_домен.key

4. Создайте файл цепочки сертификатов:
# cat /var/www/httpd-cert/AddTrustExternalCARoot.crt >> /var/www/httpd-cert/ваш_домен.crt
# cat /var/www/httpd-cert/PositiveSSLCA2.crt >> /var/www/httpd-cert/ваш_домен.crt
Проверить подлинность цепочки сертификата можно так:
# openssl verify /var/www/httpd-cert/ваш_домен.crt
/var/www/httpd-cert/ваш_домен.bundle: OK
Посмотреть информацию об сертификате - например так:
# openssl x509 -text -in ваш_домен.crt

5. Внесите в конфигурационный файл nginx, в модуль server, следующие директивы:
server {

Ssl on;
ssl_certificate /var/www/httpd-cert/ваш_домен.crt;
ssl_certificate_key /var/www/httpd-cert/ваш_домен.key;

Server_name your.domain.com;
...
}
Обратите внимание, что это должен быть первый, и желательно единственный VirtualHost на этом IP-адресе на 443 порту.

6. Перезапустите nginx командой
# /etc/init.d/nginx restart
и проверьте работу сайта с https://, если все сделано правильно - в адресной строке при этом тем или иным способом будет обозначен факт того, что передаваемые данные шифруются и сертификат подтвержден.

После генерации CSR-запроса и заказа SSL-сертификата через необходимо установить полученные сертификаты .CRT и .CA на сервер. Эта пошаговая инструкция поможет вам установить приобретенный SSL-сертификат на веб-сервер Apache под управлением Linux: Ubuntu, Debian или CentOS .

После получения SSL-сертификата файлы для его установки появятся в :
.CA - файл цепочки сертификатов Центра Сертификации (Certificate Authority).
.CRT - файл сертификата для вашего сайта (сайтов).

Загрузка необходимых файлов на веб-сервер

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

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

Перенос сертификатов с компьютера Linux/Mac OS:

Самый простой способ загрузки сертификатов на сервер - опция SCP , встроенная в возможность терминала вашего компьютера:

  1. Загрузите файлы .CA и .CRT из на локальный компьютер.
  2. Откройте терминал и перейдите в папку, в которую вы сохранили сертификаты (напр., Downloads):
    cd ~/Downloads
    Скопируйте сертификаты вашего сайта и Центра Сертификации на веб-сервер:
    scp crt.crt ca.crt [email protected]:/etc/ssl
    Где:
    scp - команда копирования файлов
    mydomain.ru_crt.crt - имя загруженного из панели файла сертификата вашего веб-сайта
    mydomain.ru_ca.crt - имя загруженного из панели файла сертификата Центра Авторизации
    user - имя вашего пользователя для подключения к серверу через ssh (часто используется root)
    1.22.33.444 - IP-адрес вашего веб-сервера
    /etc/ssl - директория на удаленном сервере, в которую в хотите сохранить загружаемые файлы.

Перенос сертификатов с компьютера Windows:

  1. Установите программу WinSCP . Скачать ее можно .
  2. Запустите WinSCP. В открывшемся окне введите данные, которые вы используете для подключени я к вашему серверу по SSH .
    В левой части окна программы отображаются файлы на локальном компьютере, в правой - на подключенном удаленном сервере. Выберите или создайте директорию, в которую вы хотите сохранить сертификаты, в правой части окна. Перетащите файлы .CA и .CRT в эту директорию из левой части окна.

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

Если закрытый ключ .key был сгенерирован непосредственно на сервере, то для его копирования в другую директорию вы можете использовать команду:
cp /home/root/private.key /etc /ssl/private.key
Где:
cp - команда копирования
/home/root/ - путь до файла ключа
private.key - имя файла ключа
/etc/ssl/private.key - путь, по которому необходимо скопировать файл ключа

Удалить файл ключа из старого расположения вы можете с помощью команды:
rm /home/root/private.key
(синтаксис команды аналогичен предыдущему примеру)

Настройка веб-сервера Apache на использование SSL-сертификата

После копирования файлов сертификата сайта и Центра Сертификации необходимо отредактировать параметры вашего веб-сервера Apache . Для этого подключитесь к вашему серверу по SSH от имени пользователя root и выполните следующие операции:

  1. Активируйте использование опции SSL веб-сервером Apache:
    Ubuntu/Debian:
    a2enmod ssl
    CentOS:
    yum install mod_ssl
  2. Откройте файл конфигурации сайта, для которого вы хотите установить SSL-сертификат.
    Например, если параметры веб-сайта хранятся в файле /etc/apache2/sites-enabled/000-default.conf :
    nano /etc/apache2/sites-enabled/000-default.conf
    Примечание: На Ubuntu/Debian файлы параметров сайтов Apache как правило находятся в директории /etc/apache2/sites-enabled/ . На CentOS стандартное расположение - /etc/httpd/conf.d/
    Для поиска нужной конфигурации вы можете использовать команду ls /директория/конфигураций (напр. ls /etc/apache2/sites-enabled) , которая отображает полный список файлов в указанной директории.
    Затем с помощью команды nano вы можете открыть определенный файл (напр. nano /etc/apache2/sites-enabled/000-default.conf ). Проверить, что открытый файл действительно является конфигурацией вашего сайта можно, найдя в нем строку ServerName . Ее значение должно соответствовать домену, для которого вы устанавливаете SSL-сертификат (напр. www.mydomain.ru)
    Примечание для CentOS:
    если редактор nano не установлен на вашем сервере, вы можете установить его с помощью команды yum install nano
  3. Добавьте приведенные ниже параметры в открытый файл конфигурации:
    SSLEngine on


    SSLCertificateKeyFile /etc/ssl/mydomain.ru_key.key
    Где:
    /etc/ssl/mydomain.ru_crt.crt - путь до файла сертификата вашего сайта
    /etc/ssl/mydomain.ru_ca.crt - путь до файла цепочки сертификатов Центра Сертификации (CA)
    /etc/ssl/mydomain.ru_key.key - путь к файлу вашего закрытого ключа

    Примечание: если вы хотите, чтобы после установки SSL-сертификата ваш сайт был доступен только по безопасному протоколу https (порт 443) , отредактируйте файл его конфигурации по аналогии с приведенным ниже Примером 1. Если же вы хотите, чтобы сайт также оставался по-прежнему доступен по незащищенному протоколу http (порт 80) , воспользуйтесь Примером 2.
    Вносимые изменения выделены жирным шрифтом.

    Пример 1 (только HTTPS):

    # The ServerName directive sets the request scheme, hostname and port that






    #ServerName www.mydomain.ru

    DocumentRoot /var/www/html



    # modules, e.g.
    #LogLevel info ssl:warn








    SSLEngine on
    SSLCertificateFile /etc/ssl/mydomain.ru_crt.crt
    SSLCertificateChainFile /etc/ssl/mydomain.ru_ca.crt

    Пример 2 (HTTPS + HTTP):



    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request"s Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.mydomain.ru
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
    SSLEngine on
    SSLCertificateFile /etc/ssl/mydomain.ru_crt.crt
    SSLCertificateChainFile /etc/ssl/mydomain.ru_ca.crt
    SSLCertificateKeyFile /etc/ssl/mydomain.ru_key.key



    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request"s Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.mydomain.ru
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf

  4. Перезапустите сервис apache :
    Ubuntu/Debian:
    /etc/init.d/apache2 restart
    CentOS:
    apachectl restart
  5. Если на вашем сервере настроен файрвола iptables, вам необходимо разрешить входящие подключения по протоколу https (порт 443) для вашего файрвола. Для этого воспользуйтесь документацией к вашей ОС, т.к. в разных дистрибутивах Linux работа с iptables осуществляется по разному. Ниже приведено несколько примеров:
    Ubuntu 16.04:
    ufw allow 443/tcp
    Debian:
    iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
    CentOS:
    iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Проверка настроек

На этом процедура установки SSL-сертификата на веб-сервер Apache завершена. Для проверки корректности настроек откройте откройте ваш-веб сайт в браузере по протоколу HTTPS (например, https://mydomain.ru) . Если сертификат установлен корректно, в адресной строке вашего браузера вы увидите иконку замка, при клике на которую будет отображена информация о приобретенном вами SSL-сертификате.

В этой статье мы рассмотрим, как заказать бесплатный SSL–сертификат и установить его на облачный VPS от Infobox . Базовые SSL–сертификаты бесплатно выдает центр сертификации StartCom .

Бесплатные сертификаты StartSSL класса 1 служат для подтверждения доменных имен и адресов электронной почты. Проверки заказчиков, как правило, производятся автоматически и требуют минимального участия со стороны сотрудников StartCom. В процессе проверки подтверждается то, что подписчик является владельцем домена и действующего ящика электронной почты.

Бесплатные сертификаты предназначены для веб-сайтов, которым необходима защита секретности личных данных и предотвращение возможности прослушивания интернет-соединений. Информация, представленная в сертификатах этого вида, кроме имени домена и адреса электронной почты, не подтверждена. Если вам необходима сертификация более высокого уровня - можно заказать SSL сертификат в панели управления Infobox на главной странице в блоке «Мои услуги» -> «Заказать новую услугу». Доступ к панели управления предоставляется при заказе любой услуги, например VPS или облачных VPS .

Для обеспечения секретности передаваемых данных простых сайтов сертификаты StartCom подходят неплохо.
Бесплатные сертификаты от StartCom на самом деле не совсем бесплатные. Если потребуется отзыв сертификата - эта процедура стоит $24 у StartCom.

Заказ бесплатного SSL–сертификата

Откройте страницу заказа бесплатного сертификата SSL. Заполните информацию о вас (данные должны быть реальными, это очень важно).

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

Введите код и нажмите «Continue»

После этого необходимо дождаться подтверждания регистрации от StartCom (может занимать до 6 часов, но обычно ссылка для доступа и код подтверждения приходит гораздо быстрее). После получения письма введите код из него по ссылке, указанной в письме. Далее выберите длинну сертификата (лучше выбирать максимальную).

После этого будет сгенерирован сертификат для доступа к сертифицирующему центру StartCom. Сохраните его в безопасном месте и установите в систему, выполнив по нему двойной клик мышью и нажав «Install».

Теперь у вас есть доступ к сертифицирующему центру. На следующем шаге введите имя домена, для которого хотите получить сертификат.

Для подтверждения домена необходимо создать на нем один из трех адресов:

  • postmaster@domain
  • hostmaster@domain
  • webmaster@domain
Если у вас еще не подключена почта для домена, можно привязать домен к бесплатной Яндекс.Почте или воспользоваться бизнес-почтой «Офис 24»

После создания почтового ящика на домене выберите его у StartCom и подтвердите принадлежность домена вам.

После подтверждения владения доменом вы можете сгенерировать секретный ключ, как показано на скриншоте ниже:

Рекомендуется пропустить этот шаг и сгенерировать CSR на вашем облачном VPS. Так секретный ключ не окажется у StartCom.
Для генерации CSR подключитесь к виртуальному серверу по SSH (подробнее в следующем разделе) и выполните команду:
openssl req -new -newkey rsa:4096 -nodes -keyout /etc/ssl/private.key -out /etc/ssl/domain.csr

В FQDN укажите ваш домен. E–mail адрес обязательно должен быть в этом домене, например [email protected].

После генерации выведите на экран консоли содержимое файла domain.csr:
cat /etc/ssl/domain.csr
и вставьте в поле мастера выдачи сертификатов, который появится после нажатия на Skip окна генерации сертификатов.

Согласитесь с предложенным именем домена.

На следующем шаге добавьте поддомен www к сертификату.

Завершите процесс получения ssl.crt и сохраните его.

Вам понадобится корневой и промежуточный сертификаты StartCom. Для их получения перейдите в раздел Toolbox -> StartCom CA Certificates.
Сохраните файлы по ссылке Class 1 Intermediate Server CA (sub.class1.server.ca.pem) и StartCom Root CA (ca.pem).

В итоге у вас будут сохранены на локальном компьютере следующие полезные файлы:

  • ca.pem
  • sub.class1.server.ca.pem
  • ssl.crt
На сервере в папке /etc/ssl/:
  • private.key

Копируем файлы на сервер

Создайте сервер из шаблона Ubuntu 14.04 lamp в облаке . Процесс создания сервера был рассмотрен в статье ранее.
Необходимо скопировать ca.pem, sub.class1.server.ca.pem и ssl.crt в папку /etc/ssl (если ее нет - создать).

Это можно сделать например через Filezilla (установка клиента рассмотрена также в статье). Однако способ подключения будет отличаться, так как нужен доступ не только к папке сайта, но и ко всему серверу.

Добавьте новое SFTP подключение, как показано на скриншоте ниже. Используйте логин и пароль от сервера, которые пришли на вашу электронную почту после создания сервера, а также внешний ip–адрес сервера.

При подключении подтвердите, что вы подключаетесь к известному вам серверу, нажав OK.

Подключение будет успешно установлено.

Перейдите в папку "/etc/ssl" и скопируйте туда файлы ca.pem, sub.class1.server.ca.pem и ssl.crt.

Теперь подключитесь к серверу по SSH .

Включаем SSL в NGINX

В шаблоне LAMP настраивать SSL нужно на реверс-прокси NGINX.

Если ранее при генерации CSR вы установили пароль, расшифруйте приватный ключ командой:
openssl rsa -in /etc/ssl/ssl.key -out /etc/ssl/private.key

Объедините корневой и промежуточный сертификаты командой:
cat /etc/ssl/sub.class1.server.ca.pem >> /etc/ssl/cau.pem

Добавьте к объединению ваш сертификат
cat /etc/ssl/ssl.crt /etc/ssl/cau.pem >> /etc/ssl/group.crt

Откройте результат в nano:
nano /etc/ssl/group.crt
Сохраните изменения (Ctrl+X, Y, Enter).

Перенесите начало каждого нового сертификата на новую строчку после окончания предыдущего сертификата и сохраните изменения.

Теперь установите права для доступа к private.key:
chmod 600 /etc/ssl/private.key

Отредактируйте файл конфигурации nginx:
nano /etc/nginx/sites-enabled/default

Внесите изменения, как показано на скриншоте ниже (вместо le-vert.ru используйте ваш домен):

Перезапустите NGINX.
service nginx restart

Если вы попробуете зайти на сайт по ip–адресу по протоколу HTTPS, то вы увидите предупреждение о том, что сертификат небезопасен.

Для безопасного соединения заходите на сайт по имени домена.

Для этого в DNS-записи А для домена и поддомена www укажите ip–адрес сайта и дождитесь обновления DNS. Либо для тестирования пропишите соответствие ip–адреса сервера и домена в файле hosts вашей ОС.


Единственное небезопасное что осталось - картинкa на странице загружается по http. Для того, чтобы сайт был доверенным, загружайте картинки по https.

При разработке сайта, который работает с личными данными, безопасность должна быть первым приоритетом. Это правило важно не только для интернет-магазинов, но и также для популярных социальных сетей вроде Вконтакте и Фейсбук

SSL представляет собой защищенный протокол наподобие HTTP, так как он способен получать и передавать данные по интернету.

Сама концепция слегка запутана, в принципе ее несложно понять. Если вы владеете сайтом или просто хотите узнать больше о SSL-сертификатах, то это руководство идеально подойдет вам. Сегодня, я постарался собрать вместе самые непонятные термины, и рассказать о них новичкам. Уделите немного времени на прочтение данной статьи, а также не забудьте провести небольшое собственное исследование на данную тему. Безопасность – это неотъемлемый аспект в достижении успеха любого проекта, и SSL представляет собой всего лишь малую часть из всех средств для достижения успеха.

Что такое SSL?

SSL расшифровывается как Secure Socket Layers – протокол безопасности, изначально разработанный компанией Netscape. Это процесс, в котором передача данных между пользователем и сервером происходит в зашифрованном виде, и третьей стороне не удастся подключиться к этому процессу.

Работает по принципу цифрового паспорта, который подтверждает данные как пользователя, так и конечного веб-сервера. Когда обе личности подтверждены, SSL гарантирует защищенное соединение посредством HTTP. Этот процесс производится с использованием сертификатов. Я попытался разложить по полочкам ключевые аспекты, которые включают:

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

Вам не обязательно полностью понимать применение этого всего. В некоторых случаях вы можете получить сертификат даже с большим количеством информации. И при этом ничто из этой информации не влияет на пользователя; она влияет только на соединение между сервером и удаленным компьютером.

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

Вы наверняка поймете, как работает SSL. Это более комплексная форма передачи данных, нечто вроде передачи сообщения в закрытый сейф. Вам не обязательно запоминать это или знать, каким образом он соединяется с сервером, но было бы неплохо как минимум понимать основу рабочего процесса перед получением собственного сертификата.

Их получают у разных надежных (и не всегда) провайдеров в интернете. У каждого сертификата есть дата истечения срока службы, что означает, что вам нужно будет обновлять его, чтобы сохранять сайт в безопасности (обычно это происходит каждый год). Этот процесс кажется нудным, но к счастью большинство продавцов помогут вам в процессе настройки.

Сначала вам нужно сгенерировать CSR или Certificate Signing Request. CSR нужен до того, как вы сможете получить какой-либо SSL-сертификат. Вы можете создать его самостоятельно, если у вас есть административные привилегии на веб-сервере. Тем не менее, рекомендуется связаться с хостером, так как в большинстве случаев, они не позволяют клиентам делать это самостоятельно. На самом деле, в этом нет ничего плохого, это даже облегчит задачу.

После того, как у вас появится зашифрованный CSR, вы можете связаться с провайдером. Существует множество проверенных профайлов вроде Verysign и Thawte. Лично я пользовался этой страницей с рекомендациями, где можно подобрать себе идеальное решение. Как только вы приобретете сертификат, просто свяжитесь с технической поддержкой, и они без труда установят для вас сертификат.

Различные типы сертификат

В большинстве случаев установка производится на ваш личный IP-адрес. Он будет применен только к доменному имени или веб-серверу. Не у всех есть средства на покупку выделенного хостинга, но к счастью для всех нас, есть и другие доступные решения.

В общем, существует 3 разных типа SSL-сертификатов, которые вы можете купить. Некоторые провайдеры предлагают бесплатные в качестве пробного варианта, но даже такие сертификаты в любом случае более безопасны, нежели HTTP-соединения.

  • Dedicated – это наиболее защищенный тип, который при этом и самый дорогой. HTTPS-соединение – это единственное проверенное соединение для вашего доменного имени, определяемого по указанному ip-адресу.
  • Shared – веб-хостинги, которые предлагают общие хостинги, порой имеют несколько доменных имен, указывающих на единый ip-адресс. В данном случае для хостера будет гораздо проще организовать соединение на каждом сервере, содержащем массив разных веб-сайтов.
  • Wildcard– Эти немного схожи с выделенными или общими SSL-сертификатами, судя по конфигурации сервера. Wildcard будут определять несколько субдоменов. Это очень хорошее решение, если вы разделяете ваш сайт на разные поддомены.

Если вы только начинаете, то я настоятельно рекомендую вам воспользоваться общим SSL. Это в том случае, если вы не можете позволить себе выделенный хостинг или ip-адрес. И даже если можете, стоимость выделенного SSL-сертификата просто ужасает. Но вы все же можете рассмотреть этот вариант, если хотите. Тем не менее, так как это руководство направлено на начинающих, мне кажется, обычного будет больше чем достаточно для начала.

Пошаговое руководство по получению

Лучшим способом научиться – это попробовать. Давайте попробуем изучить предложение от Comodo от Namecheap. У них очень разумный ценник, который идеально подойдет новичкам. И так как нам нужно лишь пройти через этот процесс, этот материал отлично подойдет для целей сегодняшнего руководства.

Генерируем CSR

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

Обратите внимание на то, что большая часть этой информации должна совпадать с Whois моего доменного имени. Я использую сервис whois-service.ru который позволяет получить всю информацию для данной формы. Если у вас установлены какие-то другие настройки приватности доменного имени, то вам следует брать собственные данные, чтобы CSR совпадал.

Покупка сертификата

Тарифы в Comodo варьируются от 450 рублей в год до практически 4 тысяч. Я предпочитаю пакет EssentialSSL, который обходится всего в 1300 руб в год. Это не такой и плохой вариант, если учитывать другие варианты.

Данный план предусматривает возможность вернуть деньги в течение 15 дней, если вы будете не удовлетворены сертификатом. К тому же, ваше доменное имя будет защищено и на уровне субдоменов и даже при отсутствии www. После того, как мы добавили этот пакет в корзину, можно переходить к процедуре оплаты.

После ввода всех необходимых данных аккаунта, вы будете перемещены на финальную страницу проведения оплаты. У нас есть возможность оплатить пакет при помощи средств, имеющихся на балансе аккаунта, при помощи кредитной карты или платежных систем. Если все будет сделано правильно, вы будете перенаправлены на формы подтверждения заказа (вы также получите на email).

Финальная установка

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

На этой странице нам нужно выбрать тип сервера и ввести CSR-ключ. Я выбрал Apache+OpenSSL. Это стандартная настройка для Apache, но если вы не уверены, просто перепроверьте эти настройки. Учтите, что вам веб-хостер должен вернуть вам еще более длинный RSA-ключ, который нужен для приватной аутентификации во внутренний интерфейс сервера. Все что нам нужно, это скопировать и вставить короткий CSR-ключ в блок и подтвердить ввод.

Затем мы генерируем email, отправленный к «арендодателю» доменного имени. Это письмо будет содержать информацию о вашем SSL-сертификате, а также о том, как активировать его на хостинге. В этой последней форме подтверждения нам понадобится секретный RSA-ключ, а также некоторая дополнительная информация из SSL-пакета.

Также следует отметить, что на некоторых хостингах у вас может не работать SSL при использовании общих ресурсов сервера. Рег.ру позволяет обновлять собственные аккаунты до отдельных IP-адресов, чтобы у них не возникало проблем. Форма установки SSL-сертификата довольно проста, и на ее подтверждение у вас не уйдет много времени.

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

Управляем защищенным соединением

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

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

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

Редиректы.htaccess в Apache

Если вы испытываете какие-то проблемы, удерживая посетителей на протоколе HTTPS, то возможно вам следует рассмотреть вариант с использованием скрипта перенаправления. Обычно, на серверах Apache, это реализуется при помощи файла.htaccess, который многие веб-хостинги позволяют вам настраивать прямо в cPanel.

Ниже я привел примерный код, который вы можете взять для настройки собственного файла.htaccess. Он позволит вам перенаправлять весь входящий трафик на https:// с субдоменом www. Вы можете убрать www, чтобы весь трафик перенаправлялся.

RewriteEngine On RewriteCond %{HTTPS} = off RewriteRule ^(.*)$ https://www.yourdomain.com/$1 RewriteCond %{http_host} ^yourdomain.com RewriteRule ^(.*)$ https://www.yourdomain.com/$1

RewriteEngine On RewriteCond %{HTTPS} = off RewriteRule ^(.*)$ https://www.yourdomain.com/$1 RewriteCond %{http_host} ^yourdomain.com RewriteRule ^(.*)$ https://www.yourdomain.com/$1

Дополнительные файлы

Самая надоедливая проблема, с которой вы столкнетесь, заключается в указании абсолютных URL вместо относительных. Это не позволит вам отображать полностью защищенное соединение, отчего будет отображаться предупреждение об использовании «незащищенных элементов» на странице. Если вы отобразите какие-то внешние медиаресурсы: видео, изображения, каскадные таблицы, то это следует сделать локально. Ниже я привожу пример:

"http://www.domain.com/css/styles.css" rel ="stylesheet" media ="all" type ="text/css" />

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

Если вы по какой-либо причине вам нужно отобразить файл используя абсолютный URL, то используйте вместо этого HTTPS. Если у вас есть файлы, размещенные на внешних веб-сайтах или серверах, это может привести к проблемам, так как вы не сможете подтверждать безопасность других HTTPS-соединений. Старайтесь держать все медиафайлы на одном IP-адресе, тогда у вас получится избежать подобных проблем.

В завершение

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

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

Обратите внимание!

Если вы приобретаете SSL для работы магазина ВКонтакте, вам нужно покупать SSL для адреса вида "vk.домен" , например vk.mysite.ru

Если вы приобретаете SSL для работы магазина facebook, вам нужно покупать SSL для адреса вида "fb.домен" , например fb.mysite.ru

Если вы приобретаете SSL для работы платёжного сервиса, обратите внимание что для работы платёжного сервиса "Касса от ЯндексДенег" для сайтов на облаке (только), нет необходимости приобретать SSL

Немного о Secure Sockets Layer (SSL)

SSL (англ. Secure Sockets Layer — уровень защищённых сокетов)

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

SSL необходим для работы приложения ВКонтакте и Facebook. Совсем недавно требование наличия SSL сертификата стало обязательным условием работы магазина в соц сетях.

SSL сертификат необходимо приобретать отдельно, за отдельную стоимость. Сертификат, в зависимости от типа, присваивается только к конкретной А записи.

Если магазин открывается как с www, по www.mysite.com, так и без www, по mysite.com, то SSL сертификат можно прикрепить только для одного из вариантов, либо приобрести 2 сертификата для каждого варианта. На страницы сайта и всякого рода ссылки данное правило не влияет, речь идет только о доменном имени, о А-записях.

При использовании SSL сертификата вы так же обращаетесь к странице не по http:// протоколу, а по https :// (добавляется буква s, secure)

Необходимые данные для сертификата

Главное требование которое нужно сделать до покупки сертификата - это создать (или проверить наличие) почтового ящика вида admin@домен.ru. Если такого почтового ящика у вас нет, то стоит заняться его созданием, т.к. без него не получиться завершить процедуру регистрации SSL сертификата.

Но, если, всё же, Вы по какой-то причине, решили сами пройти все этапы и самостоятельно зарегистрировать сертификат, то тут мы опишем шаги.

И так, чтобы зарегистрировать SSL, нам нужно приобрести сертификат через регистратора доменов, например https://www.reg.ru/

Сравнение сертификатов - https://www.reg.ru/ssl-certificate/

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

Обратите внимание!

Браузер Chrome, а так же смежные проекты на его базе (Opera, Microsoft Edge, Yandex Browser) отказываются от поддержки сертификатов выданных центром Symantec®, так же, все суббренды (GeoTrust®, Equifax®, Thawte®, RapidSSL® и VeriSign® включая сам Symantec®)
с 1 декабря 2017 года не считаются доверенными - мы крайне не рекомендуем их приобретать.

Для интернет магазина вполне подойдет сертификат от Comodo, под названием “Comodo SSL” рассмотрим его как пример.


Рисунок 2. Выбор типа сертификата. Цены на скриншоте могут отличатся как вверх так и вниз.


Рисунок 2.1 Выбор срока действия для сертификата.

Нажимайте на “выбрать”


Рисунок 3. Выбор адреса для сертификата.

Для этого нажимаем на кнопку "Получить CSR автоматически" и переходим на страницу генерации, где указываем данные, и, самое главное, сохраняем результат в 2 отдельных тестовых файла.

Это очень важно!

Сохраните (скопировать текст и вставить) коды приватного ключа и запроса.

Если вы пропустите сохранение, восстановить эти данные уже не получится, придется заново перевыпускать весь сертификат.

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

Пример полученного запроса (рис 4)


Рисунок 4. Пример, сгенерированного CSR запроса. Анкетные данные.

Важно! Понадобиться создать почтовый ящик вида admin@мойдомен.ru , чтобы на него пришло уведомление о создании сертификата. Почтовый ящик у вас должен быть, в противном случае закончить регистрацию не удастся.

Далее необходимо заполнить все предлагаемые поля, в основном это контактные данные. В поле программное обеспечение сервера из списка выберите "Microsoft IIS 5.x" (возможно 6,7,8), либо если есть полное название, то выберите "Microsoft Internet Information Services" любой версии, роли не играет.

После того, как все поля заполнены, необходимо оплатить услугу и ждать уведомления на почтовый ящик admin@мойдомен.ru .

В письме будет ссылка, по которой необходимо перейти на нажать на “Утверждаю”, с этого момента начнется процедура выдачи сертификата (ответа). В среднем для "простого" SSL сертификата процедура может занять до 1 дня, но как правило, проходит быстрее, примерно за 10-20 минут.

По завершении выдачи, Вам придет ещё одно письмо с кодом ответа уже не на admin@мойдомен.ru, а на email который вы указали в анкете.

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

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

Пример "ответа", т.е. самого сертификата который выдается если регистрация прошла успешно.


Рисунок 5. Пример сертификата.

После установки SSL на сайт можно обращаться по адресу https://сайт.ру



© 2024 solidar.ru -- Юридический портал. Только полезная и актуальная информация