Приходите на https принцип настройки "одного окна"

внешний интерфейс алгоритм HTTPS Nginx

предисловие

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

Зачем использовать https вместо существующего http?

Давайте сначала поговорим о скрытых опасностях http

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

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

Еще один взгляд на международные тренды

Чтобы поощрить развертывание https

  • Google скорректировал алгоритм своей поисковой системы, чтобы сайты https могли занимать более высокие позиции в результатах поиска.
  • Браузер Chrome пометил сайты с протоколом HTTP как небезопасные.
  • Apple требует, чтобы все приложения в App Store использовали зашифрованные соединения https в 2017 году;
  • Апплет WeChat требует использования https
  • Поддержка протокола HTTP/2 нового поколения должна основываться на https.

По этим причинам развертывание https является обязательным.

https-функции

https — это обновленная версия протокола http, которая добавляется на основе протокола http.SSL/TLSПол. Грубо говоря о принципе: основная идея заключается в использовании шифрования с открытым ключом, клиент запрашивает у сервера открытый ключ и, получив открытый ключ, использует его для шифрования информации, а сервер использует закрытый ключ, соответствующий открытый ключ для расшифровки информации после получения информации.

Предыдущая картинка дополняет принцип

Цель этого:

  • Шифрование передаваемого контента для обеспечения безопасности передачи данных
  • Аутентификация для предотвращения олицетворения
  • Проверка целостности данных для предотвращения олицетворения или подделки контента третьими лицами.

Процесс развертывания HTTPS

Возьми вас через сертификаты

1) Зачем нужен сертификат?

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

2) Как подать заявку на сертификат?

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

3) Какова информация о содержании сертификата?

  • Имя центра сертификации
  • Цифровая подпись самого сертификата
  • Открытый ключ владельца сертификата + некоторая информация
  • Алгоритм хеширования, используемый для подписи сертификата

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

4) Проверка действительности сертификата

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

  • Ошибка центра выдачи сертификатов — опасный сертификат
  • Центр, выдавший сертификат, указан правильно.Дайджест сертификата расшифровывается в соответствии с открытым ключом корневого сертификата ЦС, и расшифровка не удалась — опасный сертификат; при расшифровке удается получить дайджест А, а затем дайджест сертификата В вычисляется в соответствии с подписанный алгоритм хеширования, и по сравнению с А С В, если он равен, то это нормально, если он не равен, то он был подделан — опасный сертификат.
  • Срок действия сертификата истек - опасный сертификат.

Заявка на сертификат

Я сказал так много теоретических знаний выше и, наконец, открыл практическую работу, не бб, покажи код

Ниже я буду использовать центр сертификацииsslsПриходите на тренировку.

Что касается того, почему выбирают его?

  • Из-за высокой стоимости производительности цена в порядке, а качество сертификата очень высокое.
  • Компания использует

Такая умышленная причина. Ладно, вернемся к книге

Международная практика, зарегистрируйтесь и войдите -> выберите CERTS, затем выберите подходящий товар, добавьте в корзину, выберите количество и срок действия

Список продуктов, интерфейс по-прежнему очень красивый

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

1) Следуйте инструкциям и введите CSR. Генерируется с помощью openssl

openssl req -new -newkey rsa:2048 -sha256 -nodes -out www.hashfish.net.csr -keyout www.hashfish.net.key -subj "/C=CN/ST=BeiJing/L=BeiJing/O=HASH FISH./OU=Web Security/CN=www.hashfish.net"

Значение команды req - выполнить команду выдачи сертификата

-new - новый запрос на выпуск сертификата

-out - путь к выходному csr файлу

-keyout - указать путь к закрытому ключу

-subj - информация о пользователе, связанная с сертификатом (аббревиатура от subject)

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

2) Завершите другие операции (заполните почтовый ящик сертификата приема и т. д.), состояние ЗАКАЗА изменится на Выполняется, на этот раз вам нужно поместить файл проверки в разработанную директорию для завершения проверки SSLS.

Изображение выше, будьте более интуитивными

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

Сертификат слияния

//合并证书的命令
//将证书和CA证书合并成pem
cat  www.hashfish.net.crt  www.hashfish.net.ca-bundle > www.hashfish.net.pem

настроить nginx

//在特定的域名中添加
listen 443;
ssl_certificate  【合并过后的.pem文件路径】
ssl_certificate_key  【openssl生成的私钥文件路径】

На этом развертывание https-сертификата заканчивается. Последняя классическая картинка для описания процесса https запроса

При перепечатке обязательно указывать источник, спасибо. В статье есть упущения и поверхностность, прошу меня поправить