Содержание

Как создать SSL сертификат самостоятельно?

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

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

Создать сертификат самому можно средствами свободно распространяемого пакета IIS6 Resource Kit Tools.

Может потребоваться установка служб. Для этого в Панели управления необходимо выбрать раздел «Программы и компоненты» и в открывшемся окне в меню слева нажать на ссылку «Включение или отключение компонентов Windows». Далее в открывшемся окне нужно включить компонент «Службы IIS».

Что следует учесть перед созданием сертификата?

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

Поэтому, если Ваш сайт предполагает работу с внешними посетителями, мы рекомендуем приобрести один из SSL сертификатов доверительного центра сертификации, который занимается этим на профессиональной основе:

        

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

Создать сертификат: пошаговая инструкция

Самостоятельно создать сертификат можно, выполнив 4 простых шага:

  1. В Панели управления войдите в раздел «Администрирование» и выберите там пункт «Диспетчер служб IIS»
    .
     
  2. В Диспетчере служб нужно перейти в раздел «Сертификаты сервера». 

  3. Справа расположен столбец «Действия». В нем выберите пункт «Создать самозаверенный сертификат…»

     

  4. В открывшемся диалоговом окне понадобится ввести название сертификата.

     

Привязать сертификат к серверу

После того, как Вы создали SSL сертификат, следует привязать его к IIS-серверу. Для этого вернитесь в раздел «Сертификаты сервера» и в разделе «Подключения» слева выберите сайт, к которому планируете привязать созданный. 

В столбце «Действия» нажмите на «Привязки…». 

В открывшемся диалоговом окне «Добавление привязки сайта» введите сведения о привязке (не забудьте выбрать созданный сертификат в соответствующем поле) и нажмите «ОК». 

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

Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему / Хабр

Все крупные сайты давно перешли на протокол https. Тенденция продолжается, и многие наши клиенты хотят, чтобы их сайт работал по защищенному протоколу. А если разрабатывается backend для мобильного приложения, то https обязателен. Например, Apple требует, чтобы обмен данными сервера с приложением велся по безопасному протоколу. Это требование введено с конца 2016 года.

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

Чтобы выпустить сертификат для вашего локального домена, понадобится корневой сертификат. На его основе будут выпускаться все остальные сертификаты. Да, для каждого нового top level домена нужно выпускать свой сертификат. Получить корневой сертификат достаточно просто.

Сначала сформируем закрытый ключ:

openssl genrsa -out rootCA. key 2048

Затем сам сертификат:

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem

Нужно будет ввести страну, город, компанию и т.д. В результате получаем два файла:

rootCA.key

и

rootCA.pem

Переходим к главному, выпуск самоподписанного сертификата.

Так же как и в случае с корневым, это две команды. Но параметров у команд будет значительно больше. И нам понадобится вспомогательный конфигурационный файл. Поэтому оформим все это в виде bash скрипта create_certificate_for_domain.sh

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

if [ -z "$1" ]
then
  echo "Please supply a subdomain to create a certificate for";
  echo "e.g. mysite.localhost"
  exit;
fi

Создадим новый приватный ключ, если он не существует или будем использовать существующий:

if [ -f device.
key ]; then KEY_OPT="-key" else KEY_OPT="-keyout" fi

Запросим у пользователя название домена. Добавим возможность задания “общего имени” (оно используется при формировании сертификата):

DOMAIN=$1
COMMON_NAME=${2:-$1}

Чтобы не отвечать на вопросы в интерактивном режиме, сформируем строку с ответами. И зададим время действия сертификата:

SUBJECT="/C=CA/ST=None/L=NB/O=None/CN=$COMMON_NAME"
NUM_OF_DAYS=999

В переменной SUBJECT перечислены все те же вопросы, который задавались при создании корневого сертификата (страна,

город, компания и т.д). Все значение, кроме CN можно поменять на свое усмотрение.

Сформируем csr файл (Certificate Signing Request) на основе ключа. Подробнее о файле запроса сертификата можно почитать в этой статье.

openssl req -new -newkey rsa:2048 -sha256 -nodes $KEY_OPT device.key -subj "$SUBJECT" -out device. csr

Формируем файл сертификата. Для этого нам понадобится вспомогательный файл с настройками. В этот файл мы запишем домены, для которых будет валиден сертификат и некоторые другие настройки. Назовем его

v3.ext

. Обращаю ваше внимание, что это отдельный файл, а не часть bash скрипта.

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = %%DOMAIN%%
DNS.2 = *.%%DOMAIN%%

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

v3.ext

Возвращаемся в наш bash скрипт. На основе вспомогательного файла v3.ext создаем временный файл с указанием нашего домена:

cat v3.ext | sed s/%%DOMAIN%%/$COMMON_NAME/g > /tmp/__v3.ext

Выпускаем сертификат:

openssl x509 -req -in device. csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days $NUM_OF_DAYS -sha256 -extfile /tmp/__v3.ext

Переименовываем сертификат и удаляем временный файл:

mv device.csr $DOMAIN.csr
cp device.crt $DOMAIN.crt
# remove temp file
rm -f device.crt;

Скрипт готов. Запускаем его:

./create_certificate_for_domain.sh mysite.localhost

Получаем два файла:

mysite.localhost.crt

и

device.key

Теперь нужно указать web серверу пути к этим файлам. На примере nginx это будет выглядеть так:

Запускаем браузер, открываем https://mysite.localhost и видим:

Браузер не доверяет этому сертификату. Как быть?

Нужно отметить выпущенный нами сертификат как Trusted. На Linux (Ubuntu и, наверное, остальных Debian-based дистрибутивах) это можно сделать через сам браузер. В Mac OS X это можно сделать через приложение Keychain Access. Запускаем приложение и перетаскиваем в окно файл mysite.localhost.crt. Затем открываем добавленный файл и выбираем Always Trust:

Обновляем страницу в браузере и:

Успех! Браузер доверяет нашему сертификату.

Сертификатом можно поделиться с другими разработчиками, чтобы они добавили его к себе. А если вы используете Docker, то сертификат можно сохранить там. Именно так это реализовано на всех наших проектах.

Делитесь в комментариях, используете ли вы https для локальной разработки?

Максим Ковтун,
Руководитель отдела разработки

Как получить SSL-сертификат за 7 простых шагов

Обновлено 5 января 2023 г.

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

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

В этой статье мы обсудим, как получить SSL-сертификат, сделав все максимально просто и без профессионального жаргона — обещаем!

SSL-сертификаты выдаются организацией, известной как центр сертификации (ЦС). Процесс получения SSL-сертификата может быть очень простым, особенно если вы заранее подготовили правильную информацию, требуемую ЦС. Эта информация включает:

Уникальный IP-адрес

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

Точная запись WHOIS

Когда вы запрашиваете SSL-сертификат для домена, центр сертификации должен подтвердить, что вы являетесь владельцем доменного имени. Для этого он проверит запись WHOIS домена.

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

Проверка бизнеса/организации

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

Существует множество различных типов SSL-сертификатов, и их можно классифицировать на основе:

  • Уровень проверки : Проверка домена, проверка организации и расширенная проверка
  • Защищенные домены : Один домен, групповой и многодоменный домен

Давайте рассмотрим краткий обзор каждого типа: Домен

2 Проверка

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

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

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

Один домен : Обеспечивает защиту одного поддомена. Например, SSL-сертификат, приобретенный для johndoe.com, нельзя использовать для поддоменов, таких как blog.johndoe.com

Подстановочный знак : обеспечивает защиту неограниченного количества поддоменов одного домена. Например, SSL-сертификат, приобретенный для johndoe.com, можно применять к любым поддоменам, таким как blog.johndoe.com или shop.johndoe.com.

Многодоменный : Обеспечивает защиту до 100 доменов с помощью одного SSL-сертификата. SSL-сертификат, приобретенный, например, для johndoe.com, можно применить к другим доменам, таким как janedoe.com.

Центр сертификации (ЦС) — это организация, выпускающая SSL-сертификаты. В мире действуют десятки 50 ЦС, но лишь немногие из них владеют большей частью мирового рынка SSL. Эти более крупные игроки включают GoDaddy и GlobalSign.

Источник изображения: О SSL

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

Запрос на подпись сертификата (CSR) — это файл, который создается на вашем веб-сервере перед тем, как вы запросите SSL-сертификат из ЦС. ЦС затем будет использовать информацию в этом файле для выпуска вашего SSL-сертификата.

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

Теперь, когда вы сгенерировали CSR, следующий шаг — перейти на веб-сайт выбранного вами ЦС и приобрести нужный тип SSL-сертификата.

После завершения процесса проверки ЦС попросит вас отправить файл CSR, созданный на предыдущем шаге.

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

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

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

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

Да, можно. Большинство ведущих хостинг-провайдеров, включая Bluehost, HostGator и InMotion, предоставляют вам бесплатный SSL-сертификат как часть вашего хостинг-пакета.

Показательный пример: Bluehost. Когда вы зарегистрируете учетную запись хостинга в Bluehost, вы обнаружите, что Let’s Encrypt SSL автоматически включается в ваш пакет. Чтобы активировать сертификат SSL, просто:

  1. Перейдите в панель управления Bluehost
  2. Перейдите к Мои сайты > Управление сайтом

3. На вкладке Безопасность включите сертификат SSL все, что нужно

’s 900! После того, как вы включили переключатель SSL, активация может занять несколько часов, поэтому не беспокойтесь, если это не произойдет мгновенно.

Как мы уже говорили, получение SSL-сертификата включает следующие шаги:

  1. Убедитесь, что у вас есть верная информация о веб-сайте
  2. Определите тип SSL-сертификата, который вам нужен
  3. Выберите центр сертификации (ЦС)
  4. Сгенерируйте запрос на подпись сертификата (CSR)
  5. Отправьте CSR в центр сертификации (ЦС)
  6. Дождитесь проверки ЦС
  7. Установите свой SSL-сертификат

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

Пример: SSL-сертификат — сгенерируйте ключ и CSR

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


Когда вы настраиваете Tableau Server для использования шифрования Secure Sockets Layer (SSL), это помогает обеспечить безопасность доступа к серверу и защиту данных, пересылаемых между Tableau Server и Tableau Desktop.

Ищете сервер Tableau для Linux? См. пример: SSL-сертификат – создание ключа и CSR (ссылка открывается в новом окне).

Сервер Tableau использует Apache, который включает OpenSSL(ссылка открывается в новом окне). Вы можете использовать набор инструментов OpenSSL для создания файла ключа и запроса на подпись сертификата (CSR), который затем можно использовать для получения подписанного сертификата SSL.

Действия по созданию ключа и CSR

Чтобы настроить Tableau Server для использования SSL, у вас должен быть SSL-сертификат. Чтобы получить SSL-сертификат, выполните следующие действия:

  1. serverwindows»> Установите переменную среды конфигурации OpenSSL (необязательно).
  2. Создать файл ключа.
  3. Создайте запрос на подпись сертификата (CSR).
  4. Отправьте CSR в центр сертификации (ЦС) для получения SSL-сертификата.
  5. Используйте ключ и сертификат, чтобы настроить сервер Tableau для использования SSL.

Дополнительную информацию можно найти на странице часто задаваемых вопросов по SSL (ссылка открывается в новом окне) на веб-сайте Apache Software Foundation.

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

Tableau Server разрешает SSL для нескольких доменов. Чтобы настроить эту среду, вам необходимо изменить файл конфигурации OpenSSL, openssl.conf, и настроить сертификат альтернативного имени субъекта (SAN) на сервере Tableau. См. раздел Для сертификатов SAN: измените файл конфигурации OpenSSL ниже.

Установите переменную среды конфигурации OpenSSL (необязательно)

Чтобы избежать использования аргумента -config при каждом использовании openssl.exe, вы можете использовать переменную среды OPENSSL_CONF , чтобы убедиться, что используется правильный файл конфигурации и все изменения конфигурации, сделанные в последующих процедурах в этой статье, приведут к ожидаемым результатам (например, вы должны установить переменную среды, чтобы добавить SAN в свой сертификат).

Откройте командную строку от имени администратора и выполните следующую команду:

установить OPENSSL_CONF=c:\Program Files\Tableau\Tableau Server\packages\apache.<код_версии>\conf\openssl.cnf

Примечание . При установке переменной среды конфигурации Open SSL не заключайте путь к файлу в кавычки.

Сгенерируйте ключ

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

  1. Откройте командную строку от имени администратора и перейдите к Каталог Apache для сервера Tableau. Например, выполните следующую команду:

    CD C:\Program Files\Tableau\Tableau Server\packages\apache.<код_версии>\bin

  2. Выполните следующую команду, чтобы создать файл ключа:

    openssl.exe genrsa -out .key 4096

    Примечание: Эта команда использует для ключа длину 4096 бит. Вы должны выбрать битовую длину не менее 2048 бит, потому что связь, зашифрованная с более короткой битовой длиной, менее безопасна. Если значение не указано, используется 512 бит.

Создание запроса на подпись сертификата для отправки в центр сертификации

Используйте файл ключа, созданный в описанной выше процедуре, для создания запроса на подпись сертификата (CSR). Вы отправляете CSR в центр сертификации (CA) для получения подписанного сертификата.

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

  1. Выполните следующую команду, чтобы создать файл запроса на подпись сертификата (CSR):

    openssl.exe req -new -key yourcertname.key -out yourcertname.csr

    Если вы не установили переменную среды конфигурации OpenSSL, OPENSSL_CONF , вы можете увидеть одно из следующих сообщений:

    • Сообщение об ошибке о невозможности загрузки информации о конфигурации. В этом случае повторите приведенную выше команду со следующим параметром: -config ..\conf\openssl.cnf .

    • Предупреждение о том, что каталог /usr/local/ssl не найден. Этот каталог не существует в Windows, и вы можете просто проигнорировать это сообщение. Файл успешно создан.

    Чтобы установить переменную среды конфигурации OpenSSL, см. раздел Установка переменной среды конфигурации OpenSSL (необязательно) в этой статье.

  2. При появлении запроса введите необходимую информацию.

    Примечание: Для Common Name введите имя сервера Tableau. Имя сервера Tableau — это URL-адрес, который будет использоваться для доступа к серверу Tableau. Например, если вы попадете на сервер Tableau, набрав tableau.example.com в адресной строке браузера, то tableau.example.com — общее название. Если общее имя не соответствует имени сервера, возникнут ошибки, когда браузер или рабочий стол Tableau попытаются подключиться к серверу Tableau.

Отправьте CSR в центр сертификации для получения SSL-сертификата.

Отправьте CSR в коммерческий центр сертификации (CA) для запроса цифрового сертификата. Дополнительную информацию см. в статье Википедии Центр сертификации (ссылка открывается в новом окне) и во всех связанных статьях, которые помогут вам решить, какой центр сертификации использовать.

Используйте ключ и сертификат для настройки сервера Tableau

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

Для сертификатов SAN: измените файл конфигурации OpenSSL

При стандартной установке OpenSSL некоторые функции не включены по умолчанию. Чтобы использовать SSL с несколькими доменными именами, перед созданием CSR выполните следующие действия, чтобы изменить файл openssl.cnf .

  1. Откройте проводник Windows и перейдите в папку Apache conf для сервера Tableau.

    Например: C:\Program Files\Tableau\Tableau Server\<код_версии>\apache\conf

  2. Откройте openssl.cnf в текстовом редакторе и найдите следующую строку: req_extensions = v3_req

    Эта строка может быть закомментирована знаком решетки (#) в начале строки.

    Если строка закомментирована, раскомментируйте ее, удалив # и пробел символов с начала строки.

  3. Перейти к разделу [ v3_req ] файла. Первые несколько строк содержат следующий текст:

    # Расширения для добавления к запросу сертификата
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment

    После строки keyUsage вставьте следующую строку:

    subjectAltName = @alt_names

    Если вы создаете самозаверяющий сертификат SAN, выполните следующие действия, чтобы дать сертификату право подписывать сертификат:

    1. Добавьте cRLSign и keyCertSign в строку keyUsage , чтобы она выглядела следующим образом: keyUsage = nonRepudiation, digitalSignature, keyEncipherment, cRLSign, keyCertSign

    2. После строки keyUsage добавьте следующую строку: subjectAltName = @alt_names

  4. В разделе [alt_names] укажите доменные имена, которые вы хотите использовать с SSL.