Введение
Статья посвящена обзору и сравнению разных видов SSL-сертификатов.
Сегодня мы все заботимся о безопасности: на машину ставим сигнализацию, двери закрываем на замок. Точно так же сегодня почти все сайты обеспечивают себе безопасность. Один из главных элементов этой безопасности — SSL-сертификат, применяемый с далёкого 1994 года. Именно он обеспечивает безопасный канал связи.
SSL-сертификаты бывают трёх видов:
• DV (‘Domain Validation’) — проверка домена, быстрая выдача от 15 минут,
• OV (‘Organization Validation’) — проверка организации, от нескольких дней,
• EV (‘Extended Validation’) — расширенная проверка, знаменитый зелёный замочек, как у Timeweb, до недели выдачи.
Сегодня мы будем рассматривать только сертификаты с проверкой домена (DV), причём только бесплатные, выберем, какой сертификат больше всего подходит для старта.
Let’s Encrypt — классика жанра
Let’s Encrypt (letsencrypt.org) — некоммерческая организация, созданная уже как 7 лет назад (в 2012 году), обрела свою популярность из-за исключительно бесплатных сертификатов (на 90 дней).
Плюсы:
+ сертификат сроком 90 дней,
+ поддержка IDN (с 2016 года),
+ поддержка поддоменов,
+ уведомления об истечении сертификата.
Минусы:
− требуется установить клиент на сервер для получения сертификата или пользоваться сторонними сервисами, как sslforfree.com или zerossl.com,
− из-за этого увеличивается время выдачи — в среднем от 15 минут,
− не поддерживаются некоторые операционные системы и старые браузеры, не очень большая совместимость,
− нет гарантии безопасности,
− нет SiteSeal.
Cloudflare — хитрый вариант
Cloudflare (cloudflare.com) — американская компания, предоставляющая услуги защиты от DDoS-атак и имеющая бесплатный тариф, который как раз нас и интересует. Если размещать на нём сайт — SSL-сертификат предоставляется на бесплатной основе.
Плюсы:
+ сертификат сроком один год с продлением,
+ поддержка IDN.
Минусы:
− поддержка далеко не всех операционных систем,
− обязателен перенос DNS на их сервера,
− в сертификате будете не только вы, он будет выдан один на 50 сайтов — недостаток в безопасности,
− придётся помучиться с настройкой, быстро получить сертификат не получится,
− нет гарантии безопасности,
− нет SiteSeal.
Free SSL Space — новый вариант
Free SSL Space (freessl.space) — довольно новый проект, партнёрами которого являются один из крупнейших сертифицирующих центров — Sectigo CA (sectigo.com, ранее Comodo CA), выпускающий эти сертификаты, и крупный продавец платных сертификатов GoGetSSL (gogetssl.com).
Плюсы:
+ защита www и основного сайта,
+ получение сертификата — не более 5 минут,
+ разные способы подтверждения домена (HTTP, CNAME и почта),
+ сертификат на 90 дней с безлимитными продлениями,
+ поддержка IDN,
+ есть SiteSeal,
+ уведомления об истечении сертификата,
+ гарантия 10,000$ от GoGetSSL,
+ поддержка 99,6% устройств (очень высокая совместимость).
Минусы:
− нет возможности добавить поддомены, для каждого нужно заказывать свой сертификат.
Немного о платных сертификатах
Под конец статьи хочется напомнить, что бесплатный сертификат никогда не заменит платного и рекомендуется для использования только во время тестирования. Если ваш проект уже является серьёзным, советуем купить платный сертификат: и надежнее, и волноваться меньше.
Хорошим примером соотношения цены и качества будет Sectigo Positive SSL — можете купить по низкой цене в панели Timeweb: один домен, но на год, а не на 90 дней.
Выводы
Если выбирать среди бесплатных.
По времени сертификата побеждает Cloudflare, однако его настройка будет проблематичной, и по поводу безопасности есть сомнения. Let’s Encrypt выигрывает в номинации поддержка поддоменов, но проигрывает в количестве поддерживаемых устройств, как и Cloudflare.
По быстроте и удобству выдачи несомненная победа у Free SSL Space, безопасность и гарантия тоже на его стороне, именно поэтому мы рекомендуем использовать именно его, лучше сделать для доменов отдельный сертификат, чем жалеть потом об убытках.
Использование защищенного соединения в настоящее время стало необходимым, если ваш сайт использует любые персональные данные пользователей, логины, пароли. Для этого нужны сертификаты (и приватные ключи) для шифрования трафика между браузером и сайтом.
Однако стоимость их, мягко говоря, завышена. Чтобы создать самоподписанный сертификат, понадобится минут 5 времени, из которых 99% — это ввод данных о домене. Понятно, что компании хотят кушать и поэтому продают их. Бесплатно можно получить лишь при регистрации домена на первый год, это вроде как сыра в мышеловке.
Указанный ниже способ работает, если у вас есть доступ к SSH. Если его нет, то Let’s Encrypt предоставляет бесплатный сертификат только на 3 месяца и придется заморачиваться этим каждый раз.
К примеру, на моем проекте Электронная сервисная книжка авто веб-сервер Nginx и операционная система Debian 9. Поэтому я выбрал их и далее откроется детальная инструкция по дальнейшим шагам. Если у вас другой веб-сервер или ОС, дальнейшие примеры будут немного отличаться, но шаги будут примерно одинаковыми.
Устанавливаем Certbot
sudo apt-get install certbot python-certbot-nginx
Выбираем, как хотим запустить Certbot
Если хотим, чтобы бот автоматически установил сертификат и отредактировал конфиг Nginx (прописал пути до полученных сертификатов), выполним команду
Как получить бесплатный SSL сертификат для сайта?
Какой SSL лучше — бесплатный или платный
На сайте 2domains вы можете сделать SSL-сертификат бесплатно на год при условии, что ваш домен заказан (или перенесён) в 2domains. Однако мы рекомендуем всегда выбирать платные SSL-сертификаты.
Рассмотрим преимущества и недостатки платного и бесплатного сертификатов.
Преимущества платного SSL-сертификата
-
Платный SSL подтверждает существование организации и её бизнес-уровень: посетители будут уверены, что вашему сайту можно доверять;
-
один сертификат защищает и основной домен и все поддомены;
-
гарантия от взлома на сумму от 10000 до 1,5 миллионов долларов.
Недостатки бесплатного SSL-сертификата
-
Бесплатный SSL защищает только соединение: в услугу не входит проверка организации. Следовательно, посетители могут сомневаться, что у вас надежный сайт;
-
защищает только основной домен и не защищает поддомены;
-
не дает гарантий от взлома.
Если вы решили выбрать бесплатный SSL-сертификат, следуйте инструкции ниже.
Как заказать бесплатный SSL-сертификат
Перед заказом SSL создайте почтовый ящик для домена по инструкции. После этого:
-
Перейдите в Личный кабинет.
-
Выберите в списке услуг домен, для которого хотите установить бесплатный SSL-сертификат:
-
Внизу страницы в блоке “Рекомендуем” нажмите Заказать в строке бесплатного SSL-сертификата:
-
На открывшейся вкладке автоматически сгенерируйте CSR — зашифрованный запрос на выпуск сертификата. Нажмите Получить CSR автоматически:
-
Откроется окно с параметрами заказа. Укажите в нём данные организации. Нажмите Generate:
-
Скачайте CSR и приватный ключ, нажав соответствующие кнопки. Обязательно сохраните эти два файла. Затем нажмите Продолжить:
-
На следующей вкладке поле “Строка запроса (CSR)” заполнится автоматически. Введите контакты администратора домена. Нажмите Выбрать:
-
В корзине проверьте правильность заказа и нажмите Оплатить с баланса:
-
Если все прошло успешно, откроется страница активации заказа. Дождитесь окончания активации или перейдите к услугам, нажав Открыть список ваших услуг:
-
В списке услуг появится GlobalSign DomainSSL Free для выбранного домена со статусом “Активируется”:
Через 10-15 минут услуга станет активна — появится срок действия:
Готово! Вы заказали и активировали бесплатный SSL-сертификат для домена.
Чтобы установить бесплатный SSL-сертификат, используйте инструкцию: Как установить 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 для локальной разработки?
Максим Ковтун,
Руководитель отдела разработки
Чуть ранее в этом году также стало известно, что организации, ответственные за выдачу сертификатов, должны будут начать учитывать специальные DNS-записи. Эти записи позволят владельцам доменов определять «круг лиц», которым будет дозволено выдавать SSL/TLS-сертификаты для их домена.
Все эти решения в какой-то степени связаны с увеличением числа хакерских атак и фишинговых сайтов. Зашифрованные соединения с веб-сайтами по HTTPS приобретают всё большее распространение в интернете. Сертификаты не только позволяют зашифровать данные, пересылаемые между браузером и веб-сервером, но и удостоверить организацию, которой принадлежит сайт. В сегодняшнем материале мы посмотрим, какие виды сертификатов бывают и коснемся вопросов их получения.
/ Flickr / montillon.a / CC
Все SSL-сертификаты используют одинаковые методы защиты данных. Для аутентификации применяются асимметричные алгоритмы шифрования (пара открытый — закрытый ключ), а для сохранения конфиденциальности — симметричные (секретный ключ). Однако при этом они различаются по методу проверки: любой сертификат должен быть верифицирован центром сертификации, дабы удостовериться, что он принадлежит корректному и авторизованному сайту. Выделяют несколько видов сертификатов.
Первый тип сертификатов — это сертификаты с проверкой домена (Domain Validated). Они подходят для некоммерческих сайтов, поскольку подтверждают только обслуживающий сайт веб-сервер, на который осуществлён переход. DV-сертификат не содержит идентифицирующей информации в поле имени организации. Обычно там числится значение «Persona Not Validated» или «Unknown».
Для проверки лица запросившего сертификат центр сертификации высылает письмо на электронный адрес, связанный с доменным именем (например, [email protected]). Это делается для того, чтобы удостовериться, что лицо, запросившее сертификат, действительно является владельцем доменного имени. Компании Google не нужно доказывать общественности, что www.google.com принадлежит ей, поэтому она вполне может использовать простые сертификаты с проверкой домена (однако ИТ-гигант все равно использует OV-сертификаты, о которых далее).
Другие варианты верификации — добавление TXT-записи в DNS или размещение на сервере специального файла, который может быть прочитан CA. Этот вид сертификата самый дешевый и популярный, но не считается полностью безопасным, поскольку содержит информацию лишь о зарегистрированном доменном имени. Поэтому они часто используются для защиты во внутренних сетях или на небольших веб-сайтах.
Второй тип сертификатов носит название Organization Validated, или сертификаты с проверкой организации. Они более надежны, по сравнению с DV, поскольку дополнительно подтверждают регистрационные данные компании-владельца онлайн-ресурса. Всю необходимую информацию компания предоставляет при покупке сертификата, а CA затем напрямую связывается с представителями организации для её подтверждения.
Третий тип — это Extended Validation, или сертификат с расширенной проверкой, который считается самым надежным. Впервые появился в 2007 году и нужен веб-сайтам, которые проводят финансовые транзакции с высоким уровнем конфиденциальности. В этом случае целая адресная строка браузера будет выделяться зеленым цветом (поэтому их и называют «с зеленой строкой»). Плюс в зеленой области будет указано название компании.
О том, как разные браузеры информируют пользователей о наличии того или иного сертификата можно почитать тут.
Отметим, что если для совершения платежей и обработки транзакций пользователь перенаправляется на сторонний сайт, подтверждённый сертификатом с расширенной проверкой, то в этом случае хватит обычных сертификатов OV.
EV-сертификаты полезны, если необходимо «жестко» связать домен с физической организацией. Например, Bank of America и домен bankofamerica.com. В этом случае сертификат с проверкой организации гарантирует, что ресурс действительно принадлежит банку, куда пользователь может физически занести свои деньги — это как минимум удобно для пользователей.
Более того, EV-сертификаты защищают от атак с использованием фишинговых сайтов, как это было в случае с Mountain America Credit Union. Злоумышленники сумели получить легальный SSL-сертификат для копии сайта кредитной организации. Дело в том, что банк использовал доменное имя macu.com, а атакующие использовали имя mountain-america.net и при подаче заявки «вывесили» невинно выглядящий сайт. После получения сертификата сайт был заменен на фишинговый ресурс. EV-сертификаты серьезно затрудняют выполнение подобного «фокуса» — как минимум адрес виновника становится сразу известен.
Выдавая сертификаты типа OV или EV, сертификационный центр должен убедиться, что компания, получающая сертификат, действительно существует, официально зарегистрирована, имеет офис, а все указанные контакты — рабочие. Оценка организации начинается с проверки её официальной государственной регистрации. На территории России это выполняется с помощью реестра юридических лиц, представленного на сайте ФНС.
После получения заявки на сертификат, CA присылает бланки с вопросами об организации, которые нужно заполнить и подписать. Свои подписи и печати ставят руководитель компании и главный бухгалтер. После чего отсканированные документы отправляются обратно в центр сертификации, где их проверяют по идентификаторам ЕГРЮЛ и ИНН.
Если предоставленные данные полностью удовлетворяют сотрудников сертификационного центра, то выдается сертификат. Если же потребуется провести легализацию документов, то придется отправить по электронной почте в центр сертификации отсканированные изображения запрошенных документов.
Предварительно стоит уточнить, требуется ли перевод этих документов и нотариальное удостоверение перевода, а также требуется ли удостоверение нотариуса апостилем. Вместо апостиля для подтверждения полномочий нотариуса, можно сообщить центру сертификации соответствующую ссылку на сайте Федеральной нотариальной палаты. И перевод, и нотариальные услуги, и апостиль потребуют некоторых дополнительных расходов и организационных усилий, поэтому до подтверждения необходимости этих действий центром сертификации заниматься ими не стоит.
CA могут выдавать EV-сертификаты и государственным учреждениям, однако последние должны удовлетворять ряду требований. Во-первых, существование организации должно подтверждаться административно-территориальным образованием, в котором она оперирует. Во-вторых, организация не должна находиться в стране, где запрещена деятельность CA, выдающего сертификат. Также сама государственная структура не должна быть представлена в каком-либо из перечней запрещенных организаций.
При этом отметим, что также существуют международные агентства, которые могут проверять официальные документы компании и выступать удостоверителем её законного существования. Наиболее известным из таких агентств является Dun & Bradstreet. После проверки организации D&B выдаёт цифровой идентификатор — DUNS (Digital Universal Numbering System) — на который можно ссылаться для подтверждения легальности организации.
Оформление SSL-сертификата типа OV или EV потребует от организации, желающей его получить, некоторых расходов. Однако результатом всех затраченных усилий станет повышение репутации и уровня доверия клиентов к организации в интернете.
Цепочки сертификатов
Вообще, чтобы зашифровать данные, пересылаемые между веб-сервером и браузером пользователя, достаточно одного сертификата. Однако, если посмотреть на путь сертификации ресурса google.ru, можно увидеть, что их целых три.
При посещении многих сайтов, например, банков или железнодорожных касс, пользователи хотят уверенными не только в том, что соединение защищено, но и в том, что открывшийся сайт — правильный. Для удостоверения этого факта одного сертификата недостаточно. Нужно, чтобы третья сторона (центр сертификации) подтвердила, что для защиты соединения используется сертификат, выпущенный именно для этого сайта.
Если некто «Б» удостоверил личность «А», и вы доверяете «Б», то проблема решена.
Если же вы не знаете «Б», то он может сообщить, что его знает «В».
Длина цепочки удостоверений не ограничена. Главное, чтобы в ней оказался тот, кому доверяет пользователь. Более того, исторически и технологически сложилось так, что ряд центров сертификации получили наибольшее признание в ИТ-области. Поэтому было принято согласованное решение назвать их криптографические сертификаты корневыми и всегда доверять таким подписям.
Перечень корневых центров сертификации и их публичных ключей хранится на компьютере пользователя. Если цепочку последовательно подписанных сертификатов завершает корневой сертификат, все сертификаты, входящие в эту цепочку, считаются подтверждёнными.
Другие виды сертификатов
Напоследок хотелось бы сказать, что помимо обозначенной градации сертификатов — DV, OV, EV — существуют и другие типы сертификатов. Например, сертификаты могут отличаться по количеству доменов, на которые они выдаются. Однодоменные сертификаты (Single Certificate) привязываются к одному домену, указываемому при покупке. Мультидоменные сертификаты (типа Subject Alternative Name, Unified Communications Certificate, Multi Domain Certificate) будут действовать уже для большего числа доменных имен и серверов, но за каждое наименование, включаемое в список сверх обозначенного количества, придется доплачивать отдельно.
Еще существуют поддоменные сертификаты (типа WildCard), которые охватывают все поддомены указанного при регистрации доменного имени. Иногда могут потребоваться сертификаты, которые будут одновременно включать помимо доменов несколько поддоменов. В таких случаях стоит приобретать сертификаты типа Comodo PositiveSSL Multi-Domain Wildcard и Comodo Multi-Domain Wildcard SSL. Отметим, что в этом случае можно также приобрести обычный мультидоменный сертификат, в котором просто указать необходимые поддомены.
Получить SSL-сертификат можно и самостоятельно: пара ключей для этого получается через любой генератор, например, бесплатный OpenSSL. Такие защищенные каналы связи можно с легкостью использовать для внутренних нужд компании: для обмена между устройствами сети или приложениями. Однако для использования на внешнем веб-сайте необходимо покупать официальный сертификат. В этом случае браузеры не будут показывать сообщения о небезопасном соединении, а будут спокойны за пересылаемые данные.
P.S. Несколько материалов по теме из нашего блога:
Установка бесплатного SSL-сертификата для сайта 🔒
Каждый покупатель веб-хостинга Eternalhost с панелью ISPmanager может подключить бесплатный сертификат Let’s Encrypt. Этот SSL-сертификат с проверкой домена (DV) предоставляется на неограниченный срок. Его можно устанавливать на любое количество сайтов.
Содержание:
Что такое SSL-сертификат
Для входа на любой сайт, нужно подключиться к серверу, где он размещён. SSL-сертификат защищает такое подключение с помощью шифрования данных. Кибер-злоумышленники лишаются шанса использовать в своих интересах логины, пароли и номера банковских карт пользователей. Даже, если они перехватят данные, то не смогут их расшифровать.
Зачем устанавливать SSL-сертификат
С 2017 года наличие SSL-сертификата на сайте стало одним из важнейших параметров мониторинга для популярных поисковых систем. Сайты без HTTPS рассматриваются поисковыми роботами Google, а также браузерами Google Chrome и Mozilla Firefox как ненадежные. Отсутствие SSL-сертификата может критически понизить поисковую позицию сайта в выдаче и подорвать его посещаемость.
Кому необходим SSL
Бесплатные SSL-сертификаты Let’s Encrypt способны защитить любой тип сайтов. Их нельзя применять как сертификаты подписи исполняемого кода и для шифрования email.
Как установить бесплатный SSL-сертификат
Шаг 1. Откройте панель управления ISPmanager. Перейдите в раздел «WWW» → «SSL-сертификаты» и нажмите на иконку «Let’s Encrypt».
Шаг 2. В появившемся меню «SSL-сертификаты» укажите домен для установки сертификата. Основным условием выдачи сертификата является делегирование домена – по нему должен открываться сайт. Нажмите «Ok»
Шаг 3. На сайт с указанным доменом произойдёт автоматическая установка SSL-сертификата Let’s Encrypt. На этапе проверки сайта на него устанавливается самоподписанный сертификат. Когда процесс выпуска завершиться, в меню «SSL-сертификаты» тип изменится с «Самоподписанный» на «Существующий».
Шаг 4. Бесплатный SSL-сертификат для сайта установлен. Теперь ресурс защищен полноценным сертификатом Let’s Encrypt. Об этом сигнализирует значок зелёного замка в адресной строке. Срок действия сертификата продлевается автоматически.
Возможен ли автоматический редирект с HTTP на HTTPS
Даже когда SSL-сертификат установлен, автоматического перехода с ссылок «http://…» на ссылки «https://…» не происходит. Пользователь, переходящий по старым ссылкам, может не узнать, что сайт защищен шифрованием и безопасен. Перенаправление всех запросов по сайту на шифрованный вариант (HTTP → HTTPS) нужно настраивать вручную.
Какие типы проверки выполняются
Бесплатный SSL-сертификат Let’s Encrypt предусматривает лишь проверку домена (DV). Обычная и расширенная проверка организаций (OV/EV) не предусмотрена и не планируется.
Скорость выпуска Let’s Encrypt
Процесс получения бесплатного SSL-сертификата Let’s Encrypt занимает несколько минут. Главное, что для этого нужно — делегированный домен. Т.е. то доменное имя, к которому нужно привязать сертификат, должно открываться в адресной строке браузера. Если по названию домена можно свободно перейти на сайт, с выпуском бесплатного SSL-сертификата не возникнет никаких сложностей.
Срок действия Let’s Encrypt
Бесплатные SSL-сертификаты в ISPmanager действуют бессрочно. Изначально срок выпуска Let’s Encrypt — 3 месяца. В панель управления ISPmanager встроен плагин, который автоматически обновляет сертификаты за 7 дней до конца положенного срока.
Посчитают ли браузеры Let’s Encrypt доверенным сертификатом
Да, большинство популярных браузеров поддерживают эти SSL-сертификаты. Более подробную информацию можно получить на официальном форуме поддержки Let’s Encryps.
Подходит ли Let’s Encrypt для коммерческого использования
Подходит. Коммерческое использование – основное предназначение SSL-сертификатов Let’s Encrypt.
Есть ли поддержка национальных доменов (IDN)
Let’s Encrypt – SSL-сертификаты с поддержкой IDN. Они подходят для имён доменов, которые пишутся символами национальных алфавитов. Поддерживают сертификаты и кириллические домены типа мойсайт.рф.
Есть ли поддержка поддоменов (Wildcard)
SSL-сертификаты поддерживают групповой сертификат Wildcard для защиты группы поддоменов. Подобные сертификаты проходят проверку только через DNS-записи.
Бесплатный SSL для сайта
Хотите бесплатный SSL для вашего сайта, это не является сложностью. Главный минус бесплатного SSL сертификата в том, что его выдают всего на 3 месяца и после нужна повторная перерегистрация. Сегодня мы получим SSL сертификат на 3 месяца для моего сайта blogas.info.
Что нам нужно для того чтобы получить сертификат:
Создаем доменную почту
Создать доменную почту для своего домена, создать почтовый ящик [email protected] конечно вместо моего домена (blogas.info) вам нужно прописать свой. Я обычно создаю доменную почту через яндекс, вы выбирайте как вам удобнее и читайте соответствующую инструкцию по ссылке — здесь.
Авторизоваться перейти в свой новый почтовый ящик и не закрывать вкладку (лучше зафиксировать ее в браузере).
Генерируем CSR и получаем приватный ключ
Сгенерировать CSR с приватным ключом для вашего домена. Я для этого использую онлайн генератор https://ssl.com.ua/online-CSR-generator
Вы путаетесь как заполнить поля при генерации CSR? Это не сложно, пример как я сделал для своего домена.
Как видите в поле доменное имя вводите адрес вашего сайта без http:// и без последнего слэша, так же без www даже если вы и используете его у себя на сайте. Обязательно отметить пункт (Отправить CSR и приватный ключ (RSA) на указанный адрес), нажимать кнопку «Сгенерировать CSR«, лишь после того когда создадите доменную почту и админский почтовый ящик как описано в пункте 1. Так вы сохраните CSR и приватный ключ себе на почту, они вам далее пригодятся при регистрации сертификата. После как сгенерировали CSR и приватный ключ с помощью онлайн генератора, лучше не закрывать эту вкладку где отображается готовый код с CSR и приватным ключом так как бывают задержки и сообщение с архивом может долго доходить на ваш майл, а так вы быстрей с данной вкладки скопируете CSR и Private Key когда в этом будет необходимость.
Регистрация на сайте Comodo
Далее регистрируемся на сайте Comodo https://my.gogetssl.com/en/order/details/new жмем кнопку Next Step, после выше увидите кнопку Create new account, жмем ее и заполняем свои данные для регистрации.
Если уже зарегистрированы, это хорошо, если нет, тогда регистрация обязательна, заполните все пункты пока не завершите регистрацию и не авторизуетесь под своими данным на странице https://my.gogetssl.com/en
Создаем заказ на покупку сертификата
После авторизации переходим на страницу выбора SSL сертификата https://my.gogetssl.com/ru/user/sslcerts/all/ и жмем кнопку «Create New Order«.
С списка предложенных сертификатов выбрать «Comodo Trial SSL«. Напротив данного сертификата жмем кнопку «Order«.
- После вас направит на страницу https://my.gogetssl.com/ru/order/ где жмем кнопку «Complete Order«.
- После нажатия на кнопку «Complete Order» страница просто обновится, не пугайтесь, все правильно, так и должно быть так как на обычном этапе здесь происходит оплата, а при бесплатном вас просто направляет на главную вашего кабинета.
- Далее перейдите в список сертификатов в вашем кабинете, в левой колонке ищем пункт «SSL Certificates» или просто перейдите по ссылке https://my.gogetssl.com/ru/user/sslcerts/all/ смотрим на первый пункт списка и видим наш сертификат который мы начали регистрировать. Как вы видите, сертификат выдается на 3 месяца. Далее в столбике «Status» вы видите восклицательный знак в желтом треугольнике с надписью «Incomplete«, что нам сообщает, что сертификат не до конца сгенерирован и нужно завершить начатое, жмем напротив на кнопку «View«.
- После вас направит на страницу генерации, вы увидите большую кнопку «Generate Certificate«, жмем ее. Далее начинается сам процесс завершения генерации сертификата.
Вставляем CSR и начинаем генерацию сертификата
В поле CSR как я отметил на скриншоте, нужно вставить содержимое CSR файла которое мы генерировали на сайте https://ssl.com.ua/online-CSR-generator-next/ смотрим на скриншот:
Вот все содержимое с отмеченного поля копируем и ставим в поле CSR на сайте https://my.gogetssl.com/ и жмем кнопку Validate CSR.
Проходим валидацию и подтверждаем права на управление доменом
После нажатия на кнопку «Validate CSR«:
Нас просят подтвердить управление доменом. Выбираем как я показал на скриншоте, способ подтверждения ваша почта для вашего домена вида [email protected] мы ее указывали при генерации CSR, валидатор ее автоматически определяет при валидации. Жмем кнопку «Next Step» после нас просят заполнить поля:
и указать свои персональные данные. Указать нужно те данные, которые вы указывали при генерации CSR, здесь конечно еще запрашивается номер телефона, указать нужно с кодом города без + вначале. Если все заполнили (заполнять на английском), жмем кнопку «Complete Generation«.
- Далее проверяем нашу почту [email protected] на которую должно прийти сообщение с кодом: на скриншоте я отметил стрелочками, тот код который возле (1) копируем, далее переходим по ссылке что возле (2). Далее вставляем код как показано на скриншоте: и жмем кнопку «Next«, видим что все корректно: после просто закрываем данную вкладку.
- После проверяем свою почту которую указывали на 13 этапе: на нее придет SSL сертификат вот как мне пришел.
Прикрепляем сертификат к сайту
Остаются лишь мелочи, перейти в панель управления сайтом и прикрепить сертификат, я перешел раздел Безопасность — SSL http://sitename.ru/panel/?a=ssl_certificate отмечаем пункт «Подключить HTTPS» и начинаем прикрепление сертификата. В поле «Приватный ключ» ставим содержимое которое мы генерировали на сайте https://ssl.com.ua/online-CSR-generator-next/ вот скриншот:
выделил рамкой, вот все содержимое с данного поля вставляем в первое поле в панели управления.
Я надеюсь вы уже скачали архив с сертификатом вида:
который вам пришел на почту, вот в нем еще два файла сертификата для второго и третьего поля. В второе поле вставляем содержимое с файла вида «blogas_info» Сертификат домена и в третье поле «Промежуточный сертификат» вставляем содержимое с файла вида «blogas_info.ca-bundle» и жмем кнопку «Сохранить«. Вот как-то так это должно выглядеть.
Выделил на скриншоте:
как видите нам удачно выдан сертификат сроком на 3 месяца.
После прикрепления сертификата нужно подождать 15-20 минут чтобы он активировался полностью так как сразу вы будете видеть ошибку нарушение безопасности, не пугайтесь это как-бы нормально (стандартная процедура). Далее вам нужно на сайте как в исходом коде шаблона сайта так и в стилях и в материалах исправить ссылки на файлы стилей, на скрипты и на изображения, их желательно сделать либо относительными или же заменить протокол http на https (относительные ссылки конечно лучше так как вдруг вы не продлите сертификат ссылки в дальнейшем будут работать без ошибок по старому протоколу http).
На этом пожалуй завершим, если у вас остались вопросы, пишите на почту [email protected]
Как купить и отменить SSL от AMP
Дополнительную информацию о SSL-сертификатах и о том, когда они могут понадобиться для вашего веб-сайта, см. В нашей статье: Что такое SSL и почему он важен?
Обратите внимание, что следующая информация предназначена для клиентов , приобретающих и SSL через InMotion Hosting. Если у вас есть (или вы будете заказывать) SSL у отдельного (стороннего) поставщика SSL, ознакомьтесь с нашей статьей о том, как запросить установку стороннего SSL.Общий против выделенного SSL
сертификатов FreeSSL
Бесплатный SSL предоставляет зрителям безопасное соединение и надежный зеленый замок без самозаверяющей ошибки. Достаточно для блогов и информационных сайтов. Тем не менее, крупные предприятия и владельцы интернет-магазинов должны рассмотреть вопрос о выделенном SSL. Существуют различные процедуры бесплатной установки SSL для общих учетных записей, учетных записей реселлеров и учетных записей VPS. Они автоматически обновляются каждые три месяца.
Примечание: Перед переключением между бесплатным SSL и выделенным SSL вам может потребоваться удалить старые SSL с помощью раздела cPanel SSL / TLS.Вы можете прочитать больше в нашей подробной статье, объясняющей различия между бесплатным SSL и платным SSL-сертификатами.
общих SSL-сертификатов
Если вы находитесь на общем сервере (хостинг бизнес-класса), у вас будет доступ к общему SSL-сертификату на сервере. Чтобы получить доступ к этому, вы можете создать https-ссылки в файлах вашего сайта, которые используют безопасное имя сервера. Имя защищенного сервера всегда «secure ##», где ## — это номер вашего сервера. Номер вашего сервера указан в технических данных вашей учетной записи в AMP.
Например, если вы находитесь на сервере biz30.inmotionhosting.com и ваше имя пользователя — «userna1», ваш безопасный URL будет:
https://secure30.inmotionhosting.com/~userna1
Обратите внимание, что приведенный выше URL будет виден, когда посетители наводят ссылки на ваш сайт.
Имейте в виду, что если вы используете общий SSL, каждая ссылка должна использовать ту же структуру ссылок, что и выше. Общий SSL работает только с использованием формата URL, показанного выше (https: // secure ##.inmotionhosting.com/~userna1).Â
Дополнительную информацию об общих сертификатах SSL см. В нашей статье «Как работает общий SSL?».
выделенных сертификатов SSL
Чтобы установить сертификат SSL, информация WHOIS вашего домена должна соответствовать информации для сертификата SSL. Запросы SSL-сертификатов, отправленные нашему поставщику сертификатов с несоответствующей информацией, НЕ будут обрабатываться. После завершения установки SSL наша служба поддержки вышлет вам электронное письмо с дополнительной информацией.Нажмите здесь, чтобы узнать больше о выделенном хостинге.Наши выделенные SSL-сертификаты представляют собой 256-битные зашифрованные SSL-сертификаты Comodo и стоят всего $ 99,99 в год. Существует также единовременная плата за установку $ 25 для всех сертификатов SSL.
Приобретите выделенный SSL-сертификат у AMP
- Войти в AMP (Панель управления учетной записью).
- Нажмите кнопку Купить выделенный сертификат SSL .
- На следующем экране выберите длину подписки на сертификат SSL (т.е.е. 1 или 2 года). Также введите Желаемое имя сертификата . Вообще www. — это наиболее распространенные имена сертификатов, за которыми следует доменное имя. Например, сертификат для нашего сайта будет иметь вид www.inmotionhosting.com. Когда вы закончите, нажмите Далее .
- Введите действительных контактных данных для владельца или бизнес , для которого требуется сертификат SSL.
- Наконец, после нажатия Далее вы можете выбрать способ выставления счета SSL.После того, как вы заполните форму, нажмите Отправить , вы увидите сообщение « Ваш заказ отправлен на обработку. Пожалуйста, поищите ответ от наших сотрудников в ближайшее время. “
Сколько времени до установки SSL?
Типичное время оборота составляет до 48 часов , но есть много причин, почему выдача SSL может занять больше времени. Если этот SSL важен для вашего бизнеса, я рекомендую выделить до 2 недель для этого процесса, на случай, если у вас возникнут какие-либо проблемы.
Как узнать, когда установка SSL завершена?
Служба технической поддержкиотправит вам электронное письмо сразу после успешной установки SSL. Письмо будет отправлено на ваш основной адрес электронной почты в файле, который вы можете обновить в AMP.
Получение изображения и кода для вашей безопасной печати
После того, как вы настроите SSL, вы можете показать Secure Comodo Seal на своем веб-сайте. Для получения дополнительной информации см. Наше полное руководство:
Отмена SSL от AMP
- Войти в AMP.
- В главном меню наведите указатель мыши на опцию Billing и выберите Мои подписки .
- Найдите свой SSL на странице Мои подписки и нажмите « X » справа.
- Подтвердите, что вы хотите отменить SSL на следующем экране, нажав кнопку Отправить . После этого вы увидите сообщение « Вы отменили подписку SSL ».
В этом посте описываются шаги, необходимые для настройки автоматического создания и обновления сертификатов SSL, с использованием Let’s Encrypt в качестве автоматического центра сертификации, который обеспечивает поддерживаемый API.
acme-dns-route53
— это инструмент для получения сертификатов SSL от Let Encrypt с использованием DNS-01, вызов с Route53 и Amazon Certificate Manager от AWS. acme-dns-route53
также имеет встроенную функциональность для использования этого инструмента в AWS Lambda, и это то, что мы собираемся сделать.
Этот пост разбит на 4 раздела:
- создать автономный, развертываемый zip-файл
- создание роли IAM для лямбда-функции, которая дает ей необходимые разрешения для выполнения
- создание лямбда-функции, которая выполняет
acme-dns-route53
- создание таймера CloudWatch, который запускает лямбда-функцию дважды в день
Примечание: перед запуском убедитесь, что GoLang 1.9+ и AWS CLI уже установлены.
Создан автономный, развертываемый zip-файл
acme-dns-route53
написан на GoLang и поддерживает версию не ниже 1.9. Нам нужно создать автономный, развертываемый zip-файл, который содержит исполняемый файл acme-dns-route53
.
Первым шагом является создание исполняемого файла из удаленного репозитория GitHub из acme-dns-route53
, используя команду go install
:
$ env GOOS = linux GOARCH = amd64 go install github.com / begmaroman / acme-dns-route53
Исполняемый файл будет установлен в каталог $ GOPATH / bin
. Важное замечание: как часть этой команды мы используем env для временной установки двух переменных среды на время выполнения команды ( GOOS = linux
и GOARCH = amd64
). Они инструктируют компилятору Go создавать исполняемый файл, подходящий для использования с ОС Linux и архитектурой amd64 — на чем он будет работать, когда мы развернем его в AWS.
AWS требует, чтобы мы загрузили наши лямбда-функции в zip-файл, поэтому давайте сделаем acme-dns-route53.zip
zip-файл, содержащий только что созданный исполняемый файл:
$ zip -j ~ / acme-dns-route53.zip $ GOPATH / bin / acme-dns-route53
Обратите внимание, что исполняемый файл должен находиться в корне zip-файл — не в папке внутри zip-файла. Чтобы убедиться в этом, я использовал флаг -j
в приведенном выше фрагменте для нежелательных имен каталогов.
Теперь zip-файл можно развернуть, но для его работы все еще требуются разрешения.
Создание роли IAM для лямбда-функции, которая дает ей необходимые разрешения для выполнения
Нам нужно настроить роль IAM, которая определяет разрешение, которое будет иметь наша лямбда-функция при ее запуске.
А пока давайте настроим роль lambda-acme-dns-route53-executor
и прикрепим к ней управляемую политику AWSLambdaBasicExecutionRole
. Это даст нашей лямбда-функции базовые разрешения, необходимые для запуска и входа в сервис AWS CloudWatch.
Сначала мы должны создать файл JSON политики доверия. По сути, это будет указывать AWS, чтобы разрешить службам lambda принимать роль lambda-acme-dns-route53-executor
:
$ touch ~ / lambda-acme-dns-route53-executor-policy.json
Содержимое созданного файла JSON должно быть следующим:
{
«Версия»: «2012-10-17»,
"Утверждение": [
{
«Эффект»: «Разрешить»,
«Действие»: [
"Входит: CreateLogGroup"
],
«Ресурс»: «arn: aws: logs: : : *»
},
{
«Эффект»: «Разрешить»,
«Действие»: [
"журналы: PutLogEvents",
"Входит: CreateLogStream"
],
«Ресурс»: «arn: aws: журналы: : : группа журналов: / aws / lambda / acme-dns-route53: *»
},
{
"Сид": "",
«Эффект»: «Разрешить»,
«Действие»: [
"route53: ListHostedZones",
"Cloudwatch: PutMetricData",
"АСМ: ImportCertificate",
"ACM: ListCertificates"
],
"Ресурс": "*"
},
{
"Сид": "",
«Эффект»: «Разрешить»,
«Действие»: [
"SNS: Опубликовать",
"Route53: GetChange",
"route53: ChangeResourceRecordSets",
"АСМ: ImportCertificate",
"АСМ: DescribeCertificate"
],
«Ресурс»: [
"ARN: AWS: с.н.с.: : : ",
"ARN: AWS: route53 ::: hostedzone / *",
"ARN: AWS: route53 ::: изменение / *",
"ARN: AWS: ACM: : : сертификат / *"
]
}
]
}
Затем с помощью команды aws iam create-role
создайте роль с помощью этой политики доверия:
$ aws iam create-role --role-name lambda-acme-dns-route53-executor \
--assume-role-policy-document ~ / lambda-acme-dns-route53-executor-policy.json
Запишите возвращенный ARN (имя ресурса Amazon) — это понадобится вам на следующем шаге.
Теперь создана роль lambda-acme-dns-route53-executor , нам нужно указать разрешения, которые имеет эта роль. Самый простой способ сделать это — использовать команду aws iam attach-role-policy-policy
, передав ARN-код AWSLambdaBasicExecutionRole
, например:
$ aws iam attach-role-policy --role-name lambda-acme-dns-route53-executor \
--policy-arn arn: aws: iam :: aws: policy / service-role / AWSLambdaBasicExecutionRole
Примечание: здесь вы можете найти список других политик разрешений, которые могут быть полезны.
Создание лямбда-функции, которая выполняет acme-dns-route53
Теперь мы готовы развернуть лямбда-функцию в AWS, что мы можем сделать с помощью команды aws lambda create-function
. Лямбда-функция должна быть настроена со следующими параметрами:
-
AWS_LAMBDA
переменная среды со значением1
, которая настраивает инструмент для использования внутри лямбда-функции. -
ДОМЕНЫ
— это переменная среды, которая содержит разделенный запятыми список доменов, для которых будут выдаваться сертификаты. -
LETSENCRYPT_EMAIL
— это переменная среды, которая содержит письмо об истечении срока действия Let Encrypt. -
NOTIFICATION_TOPIC
— это переменная среды, которая содержит тему уведомления SNS ARN. -
STAGING
— это переменная среды, которая должна содержать значение1
для использования промежуточной среды Let Encrypt или0
для производственной среды. -
RENEW_BEFORE
— это количество дней, определяющих период до истечения срока, в течение которого сертификат должен быть продлен. -
1024
МБ — лимит памяти (может быть изменен при необходимости). -
900
секунд (15 минут) — максимальное время ожидания. -
acme-dns-route53
— имя обработчика лямбда-функции. -
fileb: //~/acme-dns-route53.zip
— это созданный файл .zip выше.
Попробуйте и разверните его:
$ aws lambda create-function \
--function-name acme-dns-route53 \
--runtime go1.Икс \
--role arn: aws: iam :: : роль / lambda-acme-dns-route53-executor \
--environment Variables = "{AWS_LAMBDA = 1, DOMAINS = \" example1.com, example2.com \ ", LETSENCRYPT_EMAIL = begmaroman @ gmail.com, STAGING = 0, NOTIFICATION_TOPIC = acme-dns-route53-полученный, RENEW_BEFORE = 7 } "\
- размер памяти 1024 \
- время ожидания 900 \
--handler acme-dns-route53 \
--zip-файл fileb: //~/acme-dns-route53.zip
{
"FunctionName": "acme-dns-route53",
«LastModified»: «2019-05-03T19: 07: 09.325 + 0000»,
"RevisionId": "e3fadec9-2180-4bff-bb9a-999b1b71a558",
«MemorySize»: 1024,
"Окружающая среда": {
«Переменные»: {
"ДОМЕНЫ": "пример1.ком, example2.com»,
«STAGING»: «1»,
"LETSENCRYPT_EMAIL": "[email protected]",
"NOTIFICATION_TOPIC": "acme-dns-route53-полученный",
"RENEW_BEFORE": "7",
"AWS_LAMBDA": "1"
}
},
"Версия": "$ LATEST",
"Роль": "arn: aws: iam :: : роль / lambda-acme-dns-route53-executor",
«Тайм-аут»: 900,
"Runtime": "go1.x",
"TracingConfig": {
"Mode": "PassThrough"
},
"CodeSha256": "+ 2KgE5mh5LGaOsni36pdmPP9O35wgZ6TbddspyaIXXw =",
"Описание": "",
"CodeSize": 8456317,
"FunctionArn": "arn: aws: lambda: us-east-1: : function: acme-dns-route53",
«Обработчик»: «acme-dns-route53»
}
Создание таймера CloudWatch, который запускает лямбда-функцию один раз в день.
Последний шаг — создание ежедневного триггера для функции.Для этого мы можем:
- создайте правило CloudWatch с нужным
schedule_expression
(когда оно должно выполняться). - создайте цель правила (что должно выполняться), указав ARN лямбда-функции.
- дает разрешение правилу CloudWatch для вызова лямбда-функции.
Я вставил свою конфигурацию Terraform для нее ниже, но это также очень просто сделать с консоли AWS или CLI.
# Правило события Cloudwatch, которое запускает acme-dns-route53 lambda каждые 12 часов
ресурс "aws_cloudwatch_event_rule" "acme_dns_route53_sheduler" {
name = "acme-dns-route53-эмитент-планировщик"
schedule_expression = "cron (0 * / 12 * *? *)"
}
# Укажите лямбда-функцию для запуска
ресурс "aws_cloudwatch_event_target" "acme_dns_route53_sheduler_target" {
rule = "$ {aws_cloudwatch_event_rule.acme_dns_route53_sheduler.name}»
arn = "$ {aws_lambda_function.acme_dns_route53.arn}"
}
# Дайте CloudWatch разрешение на вызов функции
ресурс "aws_lambda_permission" "разрешение" {
action = "lambda: InvokeFunction"
имя_функции = "$ {aws_lambda_function.acme_dns_route53.function_name}"
принципал = "events.amazonaws.com"
source_arn = "$ {aws_cloudwatch_event_rule.acme_dns_route53_sheduler.arn}"
}
Теперь вы также можете иметь 100% автоматическое обновление сертификатов TLS!
Как получить сертификат HTTPS для вашего сайта
17% опрошенных компаний улучшат безопасность своего сайта. Выполните следующие 5 шагов, чтобы защитить все ваши передачи данных с помощью сертификата HTTPS для вашего сайта.
Безопасная передача данных клиентов имеет решающее значение для успеха бизнеса. Недавние исследования показывают, что угрозы безопасности растут, и 17% малых предприятий планируют повысить уровень безопасности в Интернете. Идеальное место для начала — защитить ваши пользовательские данные с помощью HTTPS.
HTTPS — безопасный протокол передачи гипертекста — это безопасная версия протокола автоматической передачи данных HTTP, найденная в вашем URL.
HTTPS — это единственный способ обеспечить автоматическое шифрование всех данных, отправляемых на ваш сервер и с него.
ИсточникИспользование HTTPS означает, что:
- Посетители могут подтвердить, что вы являетесь зарегистрированным владельцем домена
- Информация о клиенте зашифрована и не может быть перехвачена (номера кредитных карт, пароли и т. Д.)
- Клиенты с большей вероятностью будут доверять и совершать покупки на вашем сайте благодаря безопасности HTTPS
Как определить, какие веб-сайты и страницы безопасны? Вместо http: // в URL ищите https: //.
Google Chrome и Firefox также отображаются при использовании HTTPS с помощью значка блокировки, показанного здесь.
ИсточникТакже известный как SSL (уровни защищенных сокетов), этот безопасный процесс передачи предотвращает доступ хакеров к информации и защищает конфиденциальные данные пользователя.
Даже если сетевое соединение нарушено, злоумышленнику все равно необходимо расшифровать данные, которые передаются между браузером и веб-сайтом.
К счастью, настроить HTTPS (он же SSL) сертификат очень просто. Выполните следующие 5 шагов, чтобы зашифровать передачу данных и перейти к безопасности в Интернете:
- Переключение на выделенный IP-адрес
- Получите сертификат HTTPS
- Актив сертификат HTTPS
- Установите сертификат HTTPS
- Обновите свой сайт для использования HTTPS
1.Переключиться на выделенный IP-адрес
Выделенный IP-адрес — это интернет-адрес, назначаемый исключительно учетной записи хостинга вашего предприятия.
Для сравнения: учетные записи общего хостинга, предоставляемые планами веб-хостинга, например, через GoDaddy, заставляют вас использовать IP-адрес сервера. Когда несколько сайтов используют одно и то же местоположение, вы не можете быть уверены, что трафик сервера является безопасным или вашим собственным.
Вы можете попросить веб-хостинга обновить вашу учетную запись до выделенного IP-адреса.Это потребует небольшой платы, но IP-адрес бизнес-уровня — это первый шаг к защите пользовательских данных на вашем сайте.
2. Получить сертификат HTTPS
HTTPS-сертификат (также называемый SSL-сертификатом) похож на идентификационную карту вашего сайта. Доказывает серверу, что ваш сайт — это ваш сайт.
HTTPS-сертификат — это фактически абзац цифр и букв, уникальный для вашего домена. Когда кто-то посещает ваш сайт через HTTPS, сертификат проверяется.
При совпадении все данные, поступающие на ваш веб-сайт и с него, впоследствии шифруются.
Вы можете получить сертификат HTTPS одним из трех способов:
- Платные сертификаты HTTPS : Вы можете заплатить коммерческому центру сертификации (CA) или вашей хостинговой компании за приобретение сертификата HTTPS. За небольшую плату вы получите дополнительное преимущество технической поддержки во время установки.
- Облачные сертификаты HTTPS : Облачные провайдеры, такие как сети доставки контента (CDN) и межсетевые экраны приложений веб-сайтов (WAF), также могут предоставить вам преимущества сертификата.Такие сервисы, как Securi, выступают в качестве прокси-сервера для вашего сайта, направляя записи вашего домена на их серверы и отфильтровывая любой вредоносный трафик.
- Бесплатные сертификаты HTTPS : Вы можете создать сертификат для своего сайта самостоятельно. Открытые центры сертификации, такие как Let Encrypt, позволяют создавать и устанавливать собственный сертификат HTTPS, следуя их инструкциям.
Хотите создать бесплатный сертификат HTTPS?
Вам понадобится следующая информация о вашем сервере:
- IP-адрес
- Имя пользователя сервера (с правами администратора)
- Пароль пользователя (или аутентификация по ключу SSH)
- Тип программного обеспечения
- Операционная система
Вы можете связаться с вашим веб-хостинга для любой недостающей информации.
Получив необходимую информацию, подключитесь к своему серверу и установите инструмент, который сгенерирует для вас сертификат HTTPS / SSL.
Этот инструмент позволит вашему компьютеру отправлять команды SSH. Это зашифрованные протоколы, используемые для доступа к защищенному серверу из небезопасного местоположения.
Это позволяет вам вносить изменения в сервер и без риска получать доступ к своему сертификату HTTPS.
Вот пример вашего сертификата:
Пользователи SourceMac могут использовать встроенное приложение под названием Terminal for SSH.Пользователи Windows могут загрузить приложение под названием PuTTY или Certbot.
Установив приложение, вы можете подключиться к серверу по SSH, используя свой IP-адрес, имя пользователя и пароль.
Затем следуйте инструкциям в приложении, чтобы сгенерировать свой сертификат и автоматизировать продление сертификата (чтобы вам не пришлось повторять этот процесс).
3. Активируйте сертификат HTTPS
Ваш веб-хостинг должен выполнить этот шаг для вас. Активация сертификата займет 1-2 дня.
Если вы хотите активировать сертификат самостоятельно, вам необходимо сгенерировать CSR или запрос на подпись сертификата.
Это блок закодированного текста, который выдается Центру сертификации при подаче заявки на сертификат HTTPS. Он содержит коды ключей для публичного и частного доступа к вашему сайту.
Чтобы создать сертификат, перейдите на панель управления веб-хостинга.
В области администрирования SSL / TLS вы получите
.SSL и SSL-сертификатов для начинающих
Secure Sockets Layer (SSL) и Безопасность транспортного уровня (TLS) — это протоколы, которые обеспечивают безопасную связь через компьютерную сеть или канал связи.
Они обычно используются в веб-браузере и электронной почте.
В этом уроке мы посмотрим:
- TLS и SSL
- открытых и закрытых ключей
- Почему нам нужны сертификаты и что они делают
- Как получить цифровой сертификат и понять различные распространенные типы сертификатов.
Что такое TLS
TLS основан на SSL и был разработан в качестве замены в ответ на известные уязвимости в SSLv3.
SSL — это широко используемый термин, и сегодня он обычно относится к TLS.
Обеспечение безопасности
SSL / TLS обеспечивает шифрование данных, целостность данных и аутентификацию.
Это означает, что при использовании SSL / TLS вы можете быть уверены, что
- Никто не прочитал ваше сообщение
- Никто не изменил ваше сообщение
- Вы общаетесь с намеченным лицом (сервером)
При отправке сообщения между двумя сторонами возникают две проблемы, которые необходимо решить.
- Откуда ты знаешь, что никто не прочитал сообщение?
- Откуда ты знаешь, что никто не изменил сообщение?
Решения этих проблем:
- Зашифруйте это. — Это делает контент нечитаемым, так что для любого, кто просматривает сообщение, это просто бред.
- Подпишите его — это позволяет получателю быть уверенным, что вы отправили сообщение и что сообщение не было изменено.
Оба этих процесса требуют использования ключей.
Эти ключи являются просто числами (128-битными являются общими), которые затем объединяются с сообщением с использованием определенного метода, обычно известного как алгоритм, например RSA, чтобы зашифровать или подписать сообщение.
Симметричные ключи и публичные и частные ключи
Практически все используемые сегодня методы шифрования используют открытых и закрытых ключей .
Они считаются гораздо более безопасными, чем старые симметричные ключи.
С симметричным ключом ключ используется для шифрования или подписи сообщения, а тот же ключ используется для дешифрования сообщения.
Это то же самое, что ключи (двери, ключи от машины), с которыми мы имеем дело в повседневной жизни.
Проблема с этим типом расположения ключей заключается в том, что если вы потеряете ключ, любой, кто найдет его, сможет открыть вашу дверь.
При использовании открытых и закрытых ключей используются двух ключей, которые математически связаны (они принадлежат паре ключей ), но различаются.
Это означает, что сообщение , зашифрованное открытым ключом , не может быть дешифровано тем же открытым ключом .
Для расшифровки сообщения требуется закрытый ключ .
Если бы этот тип расположения клавиш использовался с вашим автомобилем. Затем вы можете заблокировать автомобиль и оставить ключ в замке, так как тот же ключ не может разблокировать автомобиль.
Этот тип расположения ключей очень безопасен и используется во всех современных системах шифрования / подписи.
ключей и SSL-сертификатов
SSL / TLS используют систему с открытым и закрытым ключом для шифрования данных и целостности данных.
Открытые ключи могут быть доступны любому, отсюда и термин открытый.
В связи с этим возникает вопрос доверия, а именно:
Как вы узнаете, что конкретный открытый ключ принадлежит тому лицу / объекту, к которому он относится?
Например, вы получаете ключ, претендующий на принадлежность вашему банку.
Откуда вы знаете, что он принадлежит вашему банку?
Ответ на использовать цифровой сертификат.
Сертификат служит той же цели, что и паспорт в повседневной жизни.
Паспорт установил связь между фотографией и человеком, и эта связь была проверена доверенным органом (паспортный стол).
Цифровой сертификат обеспечивает связь между открытым ключом и объектом (бизнес, доменное имя и т. Д.), Который был проверен ( подписан ) доверенной третьей стороной (центр сертификации )
Цифровой сертификат предоставляет удобный способ распространения доверенных открытых ключей шифрования .
Получение цифрового сертификата
Вы получаете цифровой сертификат от признанного центра сертификации (CA). Также как вы получаете паспорт в паспортном столе.
На самом деле процедура очень похожа.
Вы заполняете соответствующие формы, добавляете свои открытые ключи (они просто цифры) и отправляете их / их в центр сертификации. (это запрос сертификата )
Центр сертификации выполняет некоторые проверки (зависит от полномочий) и отправляет обратно ключи, включенные в сертификат .
Сертификат подписан , выдавшим центр сертификации , и это гарантирует ключи.
Теперь, когда кому-то нужны ваши открытые ключи, вы отправляете им сертификат, они проверяют подпись на сертификате, и если он проверяет, то они могут доверять вашим ключам .
Пример использования
Для иллюстрации рассмотрим типичный веб-браузер и соединение с веб-сервером с использованием SSL . ( https ).
Это соединение используется в Интернете для отправки электронной почты в Gmail и т. Д., А также при осуществлении банковских операций в Интернете, покупках и т. Д.
- Браузер подключается к серверу с использованием SSL (https)
- Сервер отвечает сертификатом сервера, содержащим открытый ключ веб-сервера.
- Браузер проверяет сертификат, проверяя подпись CA. Для этого сертификат CA должен находиться в доверенном хранилище браузера (см. Далее) Браузер
- использует этот открытый ключ для согласования сеансового ключа с сервером.
- Веб-браузер и сервер шифруют данные через соединение, используя сеансовый ключ .
Вот видео, которое более подробно описывает вышесказанное:
Типы цифровых сертификатов
Если вы пытаетесь приобрести сертификат для веб-сайта или использовать для шифрования MQTT, вы столкнетесь с двумя основными типами:
- Сертификаты, подтвержденные доменом (DVC)
- Сертификаты расширенной проверки (EVC)
Разница между этими двумя типами заключается в степени доверия к сертификату, который проходит более строгую проверку.
Уровень шифрования, который они предоставляют, идентичен
Сертификат , подтвержденный доменом ( DV ), является цифровым сертификатом X.509 , обычно используемым для безопасности транспортного уровня (TLS), где удостоверение кандидата было подтверждено путем подтверждения некоторого контроля над доменом DNS.- Вики
Процесс проверки обычно полностью автоматизирован, что делает их самой дешевой формой сертификата. Они идеально подходят для использования на веб-сайтах, таких как этот сайт, которые предоставляют контент, и не используются для конфиденциальных данных.
Расширенный сертификат проверки (EV) — это сертификат, используемый для веб-сайтов HTTPS и программного обеспечения, подтверждающий юридическое лицо, контролирующее веб-сайт или пакет программного обеспечения. Получение сертификата EV требует проверки личности запрашивающего объекта центром сертификации (CA).
Они, как правило, дороже, чем сертификаты, подтвержденные доменом, поскольку они включают ручную проверку.
Ограничения на использование сертификата — подстановочные знаки и SAN
Обычно сертификат действителен для использования на одном полностью определенном доменном имени ( FQDN ).
Это сертификат, приобретенный для использования на www.mydomain.com нельзя использовать на mail..mydomain.com или www.otherdomain.com.
Однако если вам необходимо защитить несколько поддоменов, а также имя основного домена, вы можете приобрести сертификат Wildcard.
Подстановочный сертификат охватывает всех поддоменов под конкретным доменным именем.
Например, подстановочный сертификат для *.mydomain.com можно использовать на:
- mail.mydomain.com
- www.mydomain.com
- ftp.mydomain.com
- и т. Д.
Его нельзя использовать для защиты как mydomain.com , так и myotherdomain.com .
Чтобы покрыть несколько разных доменных имен в одном сертификате, вы должны приобрести сертификат с SAN (Subject Alternative Name).
Они обычно позволяют защитить 4 дополнительных доменных имени в дополнение к основному доменному имени.Например, вы можете использовать тот же сертификат на:
- www.mydomain.com
- www.mydomain.org
- www.mydomain.net
- www.mydomain.co
- www.mydomain.co.uk
Вы также можете изменить охватываемое доменное имя, но потребуется переиздание сертификата.
Зачем использовать коммерческие сертификаты?
очень легко создать свои собственные сертификаты SSL и ключи шифрования с помощью бесплатных программных инструментов.
Эти ключи и сертификаты так же безопасны, как и коммерческие, , и в большинстве случаев их можно считать еще более безопасными.
Коммерческие сертификаты необходимы, когда вам нужна широкая поддержка для вашего сертификата.
Это связано с тем, что поддержка основных коммерческих центров сертификации встроена в большинство веб-браузеров и операционных систем.
Если я установил свой собственный самогенерируемый сертификат на этом сайте при посещении, вы увидите сообщение, подобное приведенному ниже, в котором говорится, что сайт не является доверенным.
===============
кодировки сертификатов и файловых расширений
Сертификаты могут быть закодированы как:
- Двоичные файлы
- ASCII (base64) файлы
Распространенные расширения файлов:
- .DER
- .PEM (электронная почта повышенной конфиденциальности)
- .CRT
- .CERT
Примечание: Нет реальной корреляции между расширением файла и кодировкой.Это означает, что файл .crt может быть либо кодированным файлом .der , либо файлом .pem .
Вопрос — Как узнать, есть ли у вас файл в кодировке .der или .pem ?
Ответ — Вы можете использовать openssl tools , чтобы найти тип кодировки и конвертировать между кодировками. Посмотрите этот урок — DER против CRT против CER против сертификатов PEM
Примеры сертификатов
Потому что .Сертификаты в кодировке pem — это файлы ASCII, которые можно прочитать с помощью простого текстового редактора.
Важно отметить, что они начинаются и заканчиваются строками Begin Certificate и End Certificate .
Сертификатымогут храниться в собственном файле или вместе в одном файле, называемом , комплект .
корневых сертификатов CA и хешированных сертификатов
Хотя корневые сертификаты существуют в виде отдельных файлов, их также можно объединить в пакет.
В системах Linux на основе Debian эти корневые сертификаты хранятся в папке / etc / ssl / certs вместе с файлом с именем ca-certificate.crt .
Этот файл является пакетом всех корневых сертификатов в системе.
Он создается системой и может обновляться, если новые сертификаты добавляются с помощью команды update-ca-Certificates . Смотрите здесь
Файл ca-certifcates.crt выглядит следующим образом
Папка certs также содержит каждый отдельный сертификат или символическую ссылку на сертификат вместе с хешем.
Хеш-файлы создаются командой c_rehash и используются, когда указан каталог, а не файл. Например, инструмент mosquitto_pub можно запустить как:
mosquitto_pub --cafile /etc/ssl/certs/ca-certificates.crt или mosquitto_pub --capath / etc / ssl / certs /
корневые сертификаты, промежуточные сертификаты и цепочки сертификатов и связки.
Центр сертификации может создавать подчиненные центры сертификации, которые отвечают за выдачу сертификатов клиентам.
Чтобы клиент мог проверить подлинность сертификата, ему необходимо иметь возможность проверить подписи всех ЦС в цепочке, это означает, что клиенту необходим доступ к сертификатам всех ЦС в цепочке.
Клиент может уже иметь установленный корневой сертификат, но, вероятно, не сертификаты промежуточных ЦС.
Поэтому сертификаты часто предоставляются как часть пакета сертификатов .
Этот пакет будет состоять из всех сертификатов CA в цепочке в одном файле, обычно называемом CA-Bundle.crt .
Если ваши сертификаты отправляются индивидуально, вы можете создать свой собственный пакет, выполнив следующие действия.
Видео
общих вопросов и ответов
Q- Что такое надежный магазин?
A- Это список сертификатов CA, которым вы доверяете. Все веб-браузеры поставляются со списком доверенных центров сертификации.
В. Могу ли я добавить свой собственный ЦС в доверенный магазин моего браузера?
A- Да в Windows, если вы щелкнете правой кнопкой мыши по сертификату, вы увидите опцию установки
Q- Что такое самозаверяющий сертификат?
A- Самозаверяющий сертификат — это сертификат, подписанный тем же объектом, который этот сертификат проверяет.Это как если бы вы одобрили собственную заявку на паспорт. см. вики
Q Что такое отпечаток сертификата?
A- Это хеш фактического сертификата, и его можно использовать для проверки сертификата без необходимости установки сертификата CA.
Это очень полезно для небольших устройств, у которых недостаточно памяти для хранения файлов CA.
Также используется при ручной проверке сертификата.
Смотрите здесь для более подробной информации
В. Что произойдет, если сертификат сервера будет украден?
A- Может быть отозван.Есть несколько способов, которыми клиент (браузер) может проверить, отозван ли сертификат, см. Здесь
Ресурсы
Связанные учебники:
Пожалуйста, оцените? И используйте Комментарии, чтобы сообщить мне больше
[Всего: 55 Среднее: 4,7 / 5] ,