Перейти к основному содержанию
Главная
messure.ru

Main navigation

  • Музыка
    • Все категории
    • Альбомы
    • Плэйлисты
    • Сборники
    • Синглы
    • Саундтрэк
  • Видео
  • Сообщение
  • Помощь
  • Блог
    • android
    • debian
    • drupal
    • ecu
User account menu
  • Войти

Строка навигации

  1. Главная
Автор: messure, 28 октября, 2022

Теги

  • blog
  • debian

Certbot Logo

Полная инструкция по получению и настройке Веб-сервера с Let's Encrypt SSL для сайтов через Certbot.

Если на сайте не установлен или просрочен SSL-сертификат, посетители увидят сообщение в браузере, что сайт небезопасен. Такие сообщения заставляют с недоверием относится к ресурсу. HTTPS - это протокол для передачи данных между сайтом и компьютерами его посетителей. Данные, которые передаются по HTTPS шифруются. Google и Яндекс рекомендуют устанавливать SSL-сертификаты для любых сайтов, даже если это небольшой блог или сайт-визитка. Бесплатный SSL-сертификаты от Let's Encrypt подойдут для простых информационных сайтов, которые не собирает данные пользователей

Let’s Encrypt — некоммерческий доверенный центр сертификации. Он выдает SSL-сертификаты бесплатно. При этом процесс выпуска полностью автоматизирован. Большинству людей с доступом имеющие доступ к серверу по SSH рекомендуется использовать клиент Certbot. Он автоматизирует выпуск и установку сертификата без перерыва в работе.

В Debian все просто, Certbot представлен в официальном списке пакетов. Для проверки и наличия пакетов наберите комманду:

apt search Certbot

apt search certbot

Далее для его установки достаточно выполнить одну простую команду:

apt install certbot

Также будут подтянуты необходимые python-зависимости.

Certbot User Guide

apt install certbot

Чтобы подтвердить установку, нажмите Y и Enter. Certbot установлен на сервер.

python3-certbot-apache

Так же понадобятся пакет: python3-certbot-apache

Apache является самым распространенным и популярным веб-сервером, актуальной версией является 2.4.x.

apt search certbot 2

python3-certbot-apache - это плагин, который обеспечивает интеграцию Certbot и Apache, благодаря чему вы сможете автоматизировать получение сертификата и настройку HTTPS на вашем веб-сервере с помощью одной команды.

apt install python3-certbot-apache

install sertbot plugin

Далее необходимо получить сертификат. Для генерации используется такая команда:

certbot certonly --apache -d messure.ru -d www.messure.ru

Для генерации сертификата

При первом запуске утилита предложит вам указать ваш Email адрес, для того чтобы отправлять вам уведомления о необходимости обновить сертификат и новости, а также попросит принять лицензионное соглашение. А потом спросит можно ли передать ваш адрес их партнёрам. Только после этого начнётся генерация сертификата. 

Программа сообщает, что сертификат сохранён в папке /etc/letsencrypt/live/messure.ru/ и вы можете его использовать. Если вы просмотрите этот каталог, то увидите там четыре файла:

  • cert.pem - файл сертификата, его необходимо прописать в параметре SSLCertificateFile;
  • chain.pem - файл цепочки сертификата, обычно прописывается в параметре SSLCertificateChainFile;
  • privkey.pem - приватный ключ сертификата, должен быть прописан в SSLCertificateKeyFile;
  • fullchain.pem - в нём объединено содержимое cert.pem и chain.pem, можно использовать вместо этих обоих файлов.

/etc/letsencrypt/live/

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

Для обычного сайта у нас хост в настройках веб сервера Apache существует. Теперь необходимо создать хост для SSL версии. Например:

nano /etc/apache2/sites-available/messure.ru.ssl.conf

SSL

Этой конфигурации достаточно чтобы всё заработало. Обратите внимание на порт 443.

Тут кроме стандартных настроек надо добавить новые 4 параметра:

SSLEngine on 
SSLCertificateFile /etc/letsencrypt/live/messure.ru/fullchain.pem 
SSLCertificateKeyFile /etc/letsencrypt/live/messure.ru/privkey.pem 
SSLCACertificateFile /etc/letsencrypt/live/messure.ru/chain.pem

Далее включаем новый хост на сервере Apache командой:

a2ensite messure.ru.ssl.conf

И не забудьте включить модуль для поддержки SSL:

a2enmod ssl

Также советую изменить имена файлов логов:

ErrorLog ${APACHE_LOG_DIR}/messure.ru.ssl.error.log 
CustomLog ${APACHE_LOG_DIR}/messure.ru.ssl.access.log combined

После всех этих манипуляций мне только оставалось настроить редирект (Moved Permanently) с http на https и перезагрузить веб-сервер.

Редирект

nano /var/www/messure.ru.conf

После правки файла настроек хоста перезапускаем веб-сервер:

systemctl restart apache2

Далее не забыть открыть порт 443 на роутере и при необходимости в фаирволе.

Для получения конфигурации набора шифров SSL / TLS определяющих параметры соединения HTTPS можно воспользоваться сервисом:

>> Mozilla SSL Configuration Generator

Сервис предлагает несколько вариантов настроек, оптимальным является использование опции Intermediate.

Mozilla Configuration

Здесь ниже мы увидим предлагаемые настройки файла хоста и набор алгоритмов шифрования, сгруппированных в набор шифров «Cipher Suite».

Задаем доступные к использованию шифры которые предлагают специалисты Mozilla. Создание набора шифров - это сложная задача, которая подбирается для каждого Веб-сервера администратором самостоятельно. В данном примере используем те что перечислены в конфигураторе.

SSL Generator

Чтобы добавить больше безопасности Конфигуратор предлагает какие устаревшие протоколы SSL следует  отключить SSLv2 и SSLv3, а также TLS ниже 1.2.

TLS v1.2 или TLS v1.3 должны быть вашим основным протоколом, поскольку эти версии предлагают современное аутентифицированное шифрование (также известное как AEAD).

Строка вот такого вида:

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

и далее видим:

SSLHonorCipherOrder off 
SSLSessionTickets off

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

nano /etc/apache2/sites-available/messure.ru.ssl.conf

SSL protocol all

 

 

Перезапустил Apache:

systemctl restart apache2

Далее можно добавить новый тип DNS-записи у регистратора вашего доменного имени. DNS CAA - это стандарт, который позволяет владельцам доменных имен ограничивать, какие центры сертификации могут выдавать сертификаты для своих доменов. В сентябре 2017 года CA/Browser Forum обязал поддержку CAA в рамках своих базовых требований к стандарту выдачи сертификатов. При наличии CAA поверхность атаки для мошеннических сертификатов уменьшается, что фактически делает сайты более безопасными. Если центры сертификации имеют автоматизированный процесс выдачи сертификатов, то они должны проверять наличие записи DNS CAA, поскольку это уменьшит неправильную выдачу сертификатов.

Рекомендуется внести центры сертификации Lets Ecrypt в белый список, добавив запись CAA для сертификата.

В личном кабинете регистратора вашего домена выполните:

Выбираете ваш домен --> Управление зоной --> Добавить запись

CAA-запись

Можно так же пройти процедуру верификации домена. Для этого через личный кабинет у регистратора домена в соответствующем пункте можно отправить документы для подтверждения своей личности. Требуется отсканировать некоторые страницы паспорта и загрузить их в личный кабинет.

Официальный WHOIS сервис для получения информация о домене:

>> whois.ru

whois.ru

 

Для проверки работы сайта на протоколе HTTPS воспользуйтесь следующим сервисом по ссылке: 

>> ssllabs.com

SSL Report: messure.ru

Тест SSL-сервера от Qualy's SSL Labs - это простой способ определить, насколько безопасна ваша настройка SSL. В этой статье по примеру выше сайт получил рейтинг A.

Некоторые правила повышают оценку до A+, чтобы вознаграждать исключительные конфигурации.

Для большинства веб-сайтов достаточно безопасности, обеспечиваемой 2048-битными ключами RSA. Алгоритм открытого ключа RSA широко поддерживается, что делает ключи этого типа безопасным выбором по умолчанию. Для большинства веб-сайтов использование ключей RSA более 2048 бит и ключей ECDSA более 256 бит является пустой тратой мощности процессора и может ухудшить пользовательский опыт.

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


HSTS (HTTP Strict Transport Security) — механизм, принудительно активирующий защищённое соединение через протокол HTTPS. Данная политика безопасности позволяет сразу же устанавливать безопасное соединение через HTTPS-протокол даже если сайт был запрошен через http.

Механизм использует особый заголовок HTTP Strict-Transport-Security, для переключения пользователя, зашедшего по HTTP, на HTTPS-сервер.

Для того что бы включить HSTS для веб-сервера Apache необходимо добавить соответствующий модуль заголовков и сделать запись в хост вашего сайта.

Включите модуль заголовков для Apache командой:

a2enmod headers

a2enmod headers

Теперь откройте хост файл вашего сайта и добавьте заголовок следующего вида:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains ;preload"

 

HSTS запись хоста

  • max-age - срок действия (1 год) количество времени в секундах
  • includeSubdomains - распространять замену http:// на https:// для всех поддоменов
  • preload - дает разрешение на внесение сайта в список предварительной загрузки

Далее сохраняем файл настроек хоста и перезапускаем Apache.

systemctl restart apache2

Перейти на hstspreload.org и отправить URL вашего домена в соответствующую форму.

hstspreload.org

А так же можно выполнить команду в терминале вашего сервера:

curl -I https://messure.ru


Следующий механизм который понадобиться это OCSP Stapling и OCSP Must-Staple.

OCSP (Online Certificate Status Protocol) - протокол статуса онлайн-сертификата. Метод OCSP Stapling помогает быстро и безопасно установить достоверность SSL-сертификата. OCSP - это запрос о статусе одного конкретного сертификата в Центр Сертификации на проверку списка отозванных сертификатов. OCSP Stapling позволяет браузеру выполнить проверку статуса онлайн-сертификата, получив ответ статуса онлайн-сертификата вместе с сертификатом. Это называется Stapling (буквально — Сшивание). Сшивание OCSP позволяет веб-серверам вместо браузеров получать подписанные ответы OCSP для своих сертификатов.

 Добавьте следующие строчки в настройки файла хоста для работы OCSP Stapling:

#OCSP Stapling, only in httpd 2.3.3 and later 
SSLUseStapling          on 
SSLStaplingResponderTimeout 5 
SSLStaplingReturnResponderErrors off 
SSLStaplingCache        shmcb:/var/run/ocsp(128000)

OCSP Stapling

Механизм OCSP Must-Staple избавляет клиента от необходимости выполнять этот внешний запрос. Хост-сайт сам делает запрос и передаёт браузеру клиента тем самым перекладывает нагрузку на себя.

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

Генерируем новый сертификат с новыми флагами --must-staple

certbot renew --force-renewal --apache --must-staple --rsa-key-size 2048

certbot renew

В случае компрометации и получения злоумышленником нашего ключа, для его использования ему также придется настроить работу OCSP Staple. Если злоумышленник не настроит поддержку OCSP Staple, браузер отклонит сертификат (потому что флаг OCSP Must-Staple в сертификате предпишет это сделать), а если всё же настроит OCSP Staple, то в ответе OCSP будет указано, что сертификат отозван, и браузер отклонит его.


Далее меняю цепочку шифров для поддержки старых браузеров, возможно вам эта настройка не подойдёт.

SSLCipherSuite          HIGH:!aNULL:!MD5:!3DES:!CAMELLIA:!AES128 
SSLHonorCipherOrder     on 
SSLSessionTickets       off 
SSLOpenSSLConfCmd Curves secp521r1:secp384r1:prime256v1

SSLCipherSuite

Для проверки работы сайта с новыми настройками снова воспользуйтесь следующим сервисом по ссылке: 

>> ssllabs.com

А+ рейтинг

 

Как видим, настроить веб-сервер Apache для работы по HTTPS совсем несложно. А Let's Encrypt обеспечит бесплатное получение и обновление сертификатов.

Letsencrypt.org

Так же ссылка на сервис по аудиту сайта PageSpeed Insights

Обход DPI (Android)
ByeByeDPI.v.1.4.9.apk

Proxy (Android)
rudostup.1.0.4.apk
для браузера (windows)

Outline
Outline-Client.apk
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpKSWhONnJCS2thRWJvTE5YVlN2NXJx@ca225.vpnbook.com:80/?outline=1 

outline-vpn.com


  • Видеоредактор для Android. Приложение Video Maker (Video.Guru) Версия 1.500.145.
    46 минут 37 секунд ago
  • LazyMedia Deluxe смотрим фильмы и сериалы бесплатно на Android устройствах.
    1 час ago
  • Команды с успехом более 50% для ByeByeDPI
    1 месяц 3 недели ago
  • раздел "Помощь"
    1 месяц 3 недели ago
  • OceanLab - Sirens Of The Sea
    8 месяцев 4 недели ago
  • Darude - Rush
    8 месяцев 4 недели ago

​


Копирайт. © 2022 - 2023 Все права защищены. Вы можете написать мне через форму обратной связи в разделе меню. Все размещаемые на сайте материалы носят исключительно ознакомительный характер. Любое копирование и использование материалов сайта запрещено!