Статьи

Основы HTTPS

Что такое HTTPS?

Протокол передачи гипертекста Безопасный протокол или протокол передачи гипертекста по протоколу SSL используется для безопасной связи по сети или, что еще важнее, через Интернет. Вы увидите https://

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

Зачем идти HTTPS?

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

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

Таким образом, HTTPS аутентифицирует ваш сайт и защищает конфиденциальную информацию, передаваемую через Интернет. Это стало возможным с помощью сертификатов и шифрования.

  • Сертификаты

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

  • шифрование

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

Так как же нам это реализовать?

Как пройти HTTPS

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

Чтобы получить сертификат, вам нужен закрытый ключ и запрос на подпись сертификата (CSR). Они генерируются на сервере, на котором размещен ваш сайт. В предыдущем разделе в разделе «Шифрование» мы видели, что делает закрытый ключ. CSR — это просто запрос, который необходимо отправить, чтобы получить сертификат. Когда вы создаете CSR, вы вводите информацию о себе, такую ​​как название компании, местоположение и т. Д.

Предположим, вы получили сертификат, подписанный центром сертификации, которому не доверяет определенный браузер или версия браузера. Это происходит редко, однако, если это произойдет, ваши пользователи увидят сообщение «соединение не является доверенным». Чтобы предотвратить это, ваш ЦС предоставит другой сертификат, называемый цепным сертификатом. У этого есть цепочка доверенных CA, которые могут проверить ваш CA и предоставленный сертификат.

Установка самоподписанных сертификатов

Статья на веб-сайте SSLShopper объясняет, как установить самоподписанный сертификат на вашем сервере Apache. Это также говорит больше о самозаверяющих сертификатах. Посмотрите здесь, если вы хотите сертификат в IIS 7.

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

Установка сертификатов, подписанных CA

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

Вы можете посмотреть документацию C Panel и помощь вашего хостинг-провайдера, если ваш сайт находится на общем хосте.

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

HTTPS установлен, что дальше?

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

Страницы, для которых необходимо безопасное общение, должны сначала прочитать https: // вместо http: // на вашем веб-сайте. Например, если вы хотите, чтобы страница http://mydomain.com/checkout.php загружалась безопасно; вам нужно изменить все ссылки на эту страницу на вашем сайте на https://mydomain.com/checkout.php .
В дополнение к этому вам также необходимо добавить настройку сервера для автоматического перенаправления пользователей, которые пытаются получить доступ к защищенным страницам через незащищенные URI. Например, пользователи, которые пытаются получить доступ к вышеуказанной странице (checkout.php) с помощью http: //, должны быть направлены на https: //. Посмотрим, как мы это сделаем на Apache.

Для этого добавьте следующий код в файл .htaccess,

 RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

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

 RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/?securepage/(.*) https://%{SERVER_NAME}/secureFolder/$1 [R,L]

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

Нам нужно сделать еще одну вещь. На вашей защищенной странице могут быть небезопасно загружены ресурсы (изображения, файлы CSS и т. Д.). Чтобы это исправить, просто замените http: // этих файлов на //, например:

 link rel="stylesheet" href="http://mysite.com/css/style.css"

Следует читать как,

 link rel="stylesheet" href="//mysite.com/css/style.css"

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

Вывод

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