Разработка сайтов

HTTP против HTTPS: как защитить свой сайт с помощью SSL

Еще в августе 2014 года Google официально объявил, что будет использовать HTTPS в качестве сигнала ранжирования из-за проблем с безопасностью.
Переход Google означает, что перенос вашего веб-сайта с HTTP на HTTPS может немного улучшить результаты поиска. Итак, краткий ответ на вопрос, почему ваш веб-сайт должен использовать HTTPS вместо HTTP, - это потому, что Google это поддерживает.
Для большинства компаний рекомендация Google HTTPS является достаточной причиной для перехода, но в то же время мы считаем, что важно знать, что означают оба протокола, в чем разница между HTTP и HTTPS и каковы преимущества и недостатки каждого варианта. . Мы хотели бы начать с обзора протокола HTTP, а затем посмотреть, почему Google хочет, чтобы веб-сайты отошли от него.
Что такое HTTP, как он работает и почему он небезопасен?
HTTP, что означает протокол передачи гипертекста, - это метод передачи информации через Интернет, которому уже 15 лет. HTTP - это протокол, на котором была построена всемирная сеть. Этот протокол работает по модели клиент-сервер, как и многие другие интернет-протоколы. Веб-браузер, инициирующий HTTP-запрос, называется клиентом, а веб-сервер, который отвечает на этот запрос, называется сервером.
Допустим, вы сидите в кафе и пытаетесь войти в свой прекрасный профиль Facebook через локальную сеть, например, через Wi-Fi кафе (в этом примере мы предположим, что Facebook все еще использует HTTP). Сеть Wi-Fi кафе является общедоступной, и любой, кто подключается к ней, может получить доступ к передаваемым по ней данным. Теперь давайте посмотрим, что происходит с вашими данными, когда веб-сайт использует HTTP. Под данными мы подразумеваем все, включая ваш логин и пароль для вашей учетной записи Facebook.
Чтобы войти на веб-сайт (например, Facebook), вам необходимо ввести свои учетные данные (обычно ваш адрес электронной почты или номер телефона и ваш пароль). Как только вы нажмете кнопку входа в систему, ваши данные будут отправлены на сервер. Когда сервер получил ваши данные, он их проверяет. Если все верно, сервер отправляет HTTP-статус «ОК», и вы входите в свою учетную запись. Легко свежий. Вроде все нормально.
Но вот проблема - если ваши данные были переданы через HTTP, то они были отправлены в незашифрованном виде через небезопасное соединение (HTTP не использует шифрование), и поэтому любые данные, передаваемые по протоколу HTTP, находятся в открытом доступе и могут быть перехвачены или даже манипулируют третьими лицами. Вы, вероятно, никогда не слышали об атаке сетевого сниффинга, но такие ловушки действительно существуют.
Сниффинг - это тип атаки, который хакеры используют для перехвата конфиденциальной сетевой информации, такой как пароли, данные учетной записи, номера кредитных карт, идентификаторы пользователей и т. Д. Для этого хакеры обычно используют сниффер - приложение, которое может перехватывать сетевые пакеты. Снифферы также известны как анализаторы сетевых протоколов, но хотя сетевые анализаторы по сути являются инструментами устранения неполадок сети, хакеры могут умело использовать их в гнусных целях.
Если сетевые пакеты не зашифрованы (в нашем примере пакет включает ваш логин и пароль для вашей учетной записи Facebook), данные в этом сетевом пакете можно прочитать с помощью сниффера. Обнюхивание - это перехват сетевых пакетов, и после того, как пакет был перехвачен с помощью средства сниффера, его содержимое может быть проанализировано. Таким образом хакеры могут украсть вашу конфиденциальную и личную информацию.
Как мы видим, протокол HTTP имеет один большой недостаток - информация, передаваемая по протоколу HTTP между вашим устройством и веб-сервером, не зашифрована и теоретически может быть перехвачена хакером в любое время. Этот недостаток HTTP может показаться несущественным для людей, посещающих чисто информационные веб-сайты. Но это создает очевидные проблемы при работе с личной информацией, используемой в онлайн-покупках и банковских операциях. Однако проблемы безопасности, связанные с HTTP, можно легко решить, используя безопасный канал связи, известный как HTTPS.
HTTPS также может защитить вас от таких хакерских атак , как человек-в-середине атак , DNS перепривязки и атак воспроизведения - но так, чтобы не запутать вас, мы будем продолжать, описывая , как работает HTTPS и как он может защитить вас от атаки сниффинга, которые мы описали ранее.
Что такое HTTPS и как он может защитить ваш сайт?
HTTPS - это протокол связи в Интернете, который хранит любые данные, включая ваши пароли, текстовые сообщения и данные кредитной карты, в безопасности при передаче между вашим компьютером и серверами, на которые вы отправляете эти данные. Короче говоря, HTTPS - это просто безопасная версия HTTP: буква «S» в конце буквально означает «безопасный». HTTPS обеспечивает конфиденциальность ваших данных с помощью протокола безопасности транспортного уровня (TSL), часто называемого SSL (Security Sockets Layer). Но что такое SSL-сертификат?
SSL - это безопасный сертификат, который предлагает три уровня защиты: шифрование , что означает, что все данные, передаваемые между браузером (клиентом) и веб-сайтом (сервером), зашифрованы, поэтому даже в случае кражи или перехвата данных хакер не сможет расшифровать их; целостность данных , которая гарантирует, что ваши данные не могут быть изменены или повреждены во время передачи без обнаружения; и аутентификация , которая проверяет, действительно ли вы общаетесь с предполагаемым веб-сайтом. Чтобы убедиться, что ваше общение безопасно, вы можете найти специальный зеленый замок в адресной строке браузера, который указывает, является ли веб-сайт безопасным.
Давайте теперь посмотрим, как работает SSL-шифрование и как оно может защитить ваши данные от снифферов. Мы продолжим использовать тот же сценарий, что и раньше, когда вы пытаетесь войти в свою учетную запись Facebook, используя свой адрес электронной почты и пароль. Помните, что на этот раз вы входите в Facebook через соединение HTTPS, защищенное сертификатом SSL.
Сертификаты SSL используют так называемую асимметричную криптографию с открытым ключом или систему инфраструктуры открытого ключа (PKI). Система PKI использует два разных ключа для шифрования сообщений: открытый ключ и закрытый ключ. Все, что зашифровано с помощью открытого ключа, можно расшифровать только с помощью соответствующего закрытого ключа и наоборот.
Обратите внимание, что закрытый ключ, как следует из его названия, должен быть строго защищен и должен быть доступен только владельцу закрытого ключа. На веб-сайте закрытый ключ должен храниться в безопасности на веб-сервере. И наоборот, открытый ключ предназначен для распространения среди всех и каждого, кому необходимо иметь возможность расшифровать информацию, которая изначально была зашифрована с помощью закрытого ключа. Теперь, когда мы понимаем, как работают пары открытого и закрытого ключей, мы можем перейти к описанию того, как работают сертификаты SSL. Мы разделим этот процесс на несколько этапов, чтобы упростить выполнение.
Как работает сертификат SSL?

Шаг 1. Установите безопасную связь между сервером и браузером с помощью рукопожатия . Процесс установления связи начинается, когда браузер делает запрос URL (например, когда вы вводите «https://www.facebook.com/» в адресную строку). Отправляя этот URL-запрос, клиент инициирует безопасное SSL-соединение между браузером клиента и сервером, передавая параметры связи, такие как версия и тип шифрования. Отправка клиентом запроса на установление SSL-соединения называется приветствием клиента .

Шаг 2. Следующий шаг называется приветствием сервера . Получив запрос клиента, сервер отвечает, отправляя копию своего сертификата SSL вместе со своим public_key, таким образом завершая процесс приветствия клиента .

Шаг 3.Как только клиент получает эти данные обратно с сервера, браузер проверяет, доверяет ли он сертификату неявно или сертификат может быть проверен одним из нескольких центров сертификации (ЦС), которым браузер неявно доверяет. Этот метод работает, поскольку в каждом браузере есть предустановленный список доверенных сертификатов SSL от центров сертификации (ЦС), которые вы можете просматривать, добавлять и удалять. Эти сертификаты контролируются централизованной группой организаций безопасности, включая Symantec, Comodo и GoDaddy. Если сервер представляет сертификат из списка браузера, то он знает, что веб-сайту можно доверять. При проверке сертификата SSL браузер также создает уникальный симметричный public_key, используя public_key, отправленный сервером. На этом этапе наши данные окончательно зашифрованы.

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

Шаг 5. Теперь, когда сеанс SSL установлен, клиент и сервер могут безопасно обмениваться ранее зашифрованными данными. Симметричный ключ, созданный во время этого процесса, уникален для конкретного сеанса SSL и может использоваться для шифрования / дешифрования данных, которыми обмениваются клиент и сервер во время этого сеанса.
Использование HTTPS-соединения, защищенного сертификатом SSL, дает вам всю защиту, о которой мы упоминали ранее. Вы получаете аутентификацию, чтобы знать, что вы безопасно общаетесь с предполагаемым сервером. Вы получаете шифрование данных, так что даже если сниффер перехватит и украдет сетевой пакет, который включает public_key, он никогда не сможет его расшифровать. И, конечно же, вы получаете целостность данных, поэтому вы можете передавать свои конфиденциальные данные, не беспокоясь о том, что они были повреждены или изменены без вашего обнаружения.
Нужен ли моему сайту сертификат SSL?
Прежде чем вы примете решение использовать HTTPS вместо HTTP, мы хотели бы подытожить основные преимущества HTTPS (вместе с протоколом SSL) вместо HTTP для вашего веб-сайта:

  • Безопасность. Вся информация, которую вы и ваши клиенты передаете на ваш веб-сайт и с него, зашифрована и проверена (обеспечивая целостность данных). Это избавит вас от ряда потенциальных хакерских атак, таких как сниффинг, «человек посередине» и т. Д., И обеспечит базовый уровень безопасности вашему бизнесу.

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

  • SEO. Даже небольшое повышение рейтинга в поисковых системах поможет пользователям найти ваш сайт.
На alexosmanov.ru мы рекомендуем всем новым веб-сайтам использовать HTTPS. Если ваш веб-сайт уже создан, вы можете перейти с HTTP на HTTPS, но вам не обязательно делать это прямо сейчас. Если вы заинтересованы в том, чтобы новый или текущий веб-сайт работал с HTTPS, мы можем помочь вам на протяжении всего процесса, от покупки сертификата до обеспечения правильной работы входящих HTTP-ссылок.
Made on
Tilda