Самозаверяющий https-сертификат интрасети
Самозаверяющий https-сертификат интрасети

HTTPS (полное название: протокол передачи гипертекста Secure) — это безопасная версия HTTP (протокол передачи гипертекста). По сути, HTTPS обеспечивает шифрование данных, защиту целостности и аутентификацию через протокол SSL/TLS на основе HTTP для обеспечения безопасности передачи данных в сети. HTTPS широко используется для безопасной связи в Интернете, особенно при выполнении онлайн-транзакций и обработке конфиденциальной информации. В этой статье в качестве примера развертывания самозаверяющего сертификата https используется Nginx.

1. К основным особенностям HTTPS относятся:

  • Шифрование: HTTPS использует протокол SSL/TLS для установки зашифрованного соединения между клиентом и сервером.,Защита конфиденциальности во время передачи данных и безопасность,Предотвратите перехват или подделку данных во время передачи.
  • Целостность данных: убедитесь, что данные не были подделаны во время передачи, и поддерживайте целостность данных.
  • Проверка личности. Помогите подтвердить истинную идентичность сервера с помощью сертификата SSL/TLS и предотвратить проблемы безопасности, такие как перехват DNS или атаки «посредник». 2. Как работает HTTPS:
  • Клиент отправляет HTTPS-запрос: пользователь вводит URL-адрес HTTPS в браузере.,Браузер отправляет запрос на сервер,Запрос на установление SSL-соединения.
  • Ответ сервера: сервер отправляет клиенту свой SSL-сертификат, который содержит такую ​​информацию, как открытый ключ сервера и орган, выдавший сертификат.
  • Сертификат проверки на стороне клиента: клиент (например, браузер) проверяет действительность сертификата.,Убедитесь, что он выдан доверенным центром сертификации (CA).,И доменное имя, соответствующее Сертификату, соответствует посещаемому доменному имени. Если проверка сертификата пройдена,затем продолжить, если не удалось;,Пользователи будут предупреждены о том, что соединение не является безопасным.
  • Обмен ключами: клиент генерирует случайный симметричный ключ.,Зашифруйте этот симметричный ключ, используя открытый ключ сервера.,и отправлен на сервер. сервер Расшифровать с помощью собственного закрытого ключа,Получите симметричный ключ.
  • Зашифрованная связь: обе стороны используют согласованный выше симметричный ключ для шифрования содержимого связи и обеспечения целостности передачи данных. 3. Почему HTTPS так важен:
  • Защита конфиденциальности: HTTPS шифрует все взаимодействия между пользователями и веб-сайтом, защищая конфиденциальность пользовательских данных.
  • Безопасность Повышенная безопасность: благодаря аутентификации и проверке целостности данных HTTPS снижает риск атак «человек посередине».
  • Повышение доверия: веб-сайт использует HTTPS для отображения знака блокировки «Безопасность» в адресной строке браузера, что повышает доверие пользователей к веб-сайту.
  • Поисковая оптимизация: многие поисковые системы,Включая Google,Дайте более высокий рейтинг веб-сайту, использующему HTTPS. 4. Для развертывания HTTPS необходимо выполнить следующие основные условия и шаги: Получите действительный сертификат SSL/TLS:

Приобретение сертификата. Вы можете приобрести сертификат SSL/TLS во многих центрах сертификации (CA), таких как VeriSign, Comodo, Let's Encrypt и т. д. Эти сертификаты бывают разных цен и типов (например, проверка домена DV, проверка организации OV, расширенная проверка EV) и подходят для разных потребностей и бюджетов. Бесплатные сертификаты. Let's Encrypt предлагает бесплатные сертификаты SSL/TLS, которые подходят для большинства основных потребностей и поддерживают автоматическое продление. Это упрощает внедрение HTTPS для различных веб-сайтов. Настройте сертификат SSL/TLS на сервере:

Процесс установки и настройки сертификата будет зависеть от программного обеспечения вашего сервера (например, Apache, Nginx, IIS и т. д.). Как правило, вам потребуется установить полученный сертификат (обычно файл .crt) и закрытый ключ (файл .key) на сервер, а также, возможно, потребуется установить промежуточный сертификат от центра сертификации. В процессе настройки вам необходимо изменить файл конфигурации сервера, указать расположение файла сертификата и файла закрытого ключа, а также, возможно, потребуется указать параметры безопасности, такие как используемый набор шифров и версию протокола. Убедитесь, что ресурсы сайта загружаются по протоколу HTTPS:

Убедитесь, что все ресурсы на вашем веб-сайте (такие как изображения, сценарии, таблицы стилей и т. д.) загружаются через HTTPS, а не HTTP, чтобы избежать проблем со «смешанным контентом», которые могут привести к появлению предупреждений безопасности браузера. Для внешних ресурсов убедитесь, что ссылки используют HTTPS, или рассмотрите возможность размещения их на собственном сервере. Перенаправить HTTP-запросы на HTTPS:

Настройте сервер на автоматическое перенаправление всех HTTP-запросов на HTTPS, гарантируя, что пользователи смогут получить доступ к веб-сайту через безопасное соединение HTTPS, даже если они введут URL-адрес HTTP. Реализация перенаправлений в конфигурации сервера обычно проста, например, на сервере Apache вы можете использовать файл .htaccess для настройки правил перенаправления. Обновите конфигурацию сайта и сторонние сервисы:

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

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

Nginx развертывает локально сгенерированный https

Локальная генерация основана на IP, когда доменное имя отсутствует. Если доменное имя существует, бесплатный сертификат можно сгенерировать на основе certbot.

1 Проверьте, поддерживает ли nginx настройку
Язык кода:javascript
копировать
nginx -V
1664992bb8883d.png
1664992bb8883d.png
2 Генерация сертификата
Язык кода:javascript
копировать
ubuntu:
sudo apt-get install libssl-dev

centos:
yum install openssl
yum install openssl-devel
3 Создать сертификат
Язык кода:javascript
копировать
1Войдите в каталог сертификатов.

cd /etc/nginx/sslkey
 

2Создайте локальный закрытый ключ

openssl genrsa -out ssl.key 2048
 
3Следуйте инструкциям для входа

openssl req -new -key ssl.key -out ssl.csr
 

4 Создать сертификатcrt

openssl x509 -req -days 1460 -in ssl.csr -signkey ssl.key -out ssl.crt
 5создавать Сертификатpem

openssl dhparam -out ssl.pem 2048
4 Конфигурация Nginx
Язык кода:javascript
копировать
server {
    listen       80;
    return 301 https://$host$request_uri;
}

server {
    listen 443   ssl;
    ssl_certificate                          /etc/nginx/sslkey/ssl.crt;
    ssl_certificate_key                        /etc/nginx/sslkey/ssl.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.2;
    ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!KRB5:!aECDH:!EDH+3DES;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
}

Проверьте элементы конфигурации и перезапустите

Язык кода:javascript
копировать
nginx -t 

nginx -s reload

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

Всего в этой статье 1401 слово, а среднее время чтения ≈ 4 минуты.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose