1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/freessl-https-start

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
HSTS.md 5.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 05:26 339ab30

Как включить HSTS на сайте

Первый шаг

Конфигурация Nginx

В блоке server конфигурации сайта добавьте следующую строку:

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

max-age — единица измерения в секундах, которая указывает браузеру, что для доступа к сайту по HTTP-протоколу необходимо сначала заменить его на HTTPS и только потом отправлять запрос. includeSubDomains — необязательный параметр, который указывает, что все поддомены этого сайта также должны использовать протокол HTTPS. preload — дополнительный параметр.

Затем введите команду для перезапуска Nginx:

service nginx restart

Конфигурация Apache2

# Опционально загружаем модуль заголовков:
LoadModule headers_module modules/mod_headers.so
 
<VirtualHost 0.0.0.0:443>
    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
</VirtualHost>

HTTP перенаправление на HTTPS

<VirtualHost *:80>
  [...]
  ServerName example.com
  Redirect permanent / https://example.com/
</VirtualHost>

Только перенаправление

<VirtualHost *:80>
  [...]
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
  </IfModule>
</VirtualHost>

Перезапуск Apache2

Конфигурация Lighttpd

server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
    setenv.add-response-header  = ( "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload")
}

Перезапуск Lighttpd

Второй шаг

Отправка в Preload List

HSTS Preload List

HSTS может эффективно предотвратить атаки с понижением версии HTTPS, но для первого HTTP-запроса до активации HSTS всё ещё существует риск перехвата. Чтобы решить эту проблему, производители браузеров предложили схему HSTS Preload List: встроенный список, который периодически обновляется и позволяет использовать HTTPS даже для доменов, которые пользователь ранее не посещал. В настоящее время этот список поддерживается Google Chrome, и его используют Chrome, Firefox, Safari, IE 11 и Microsoft Edge. Для добавления своего домена в этот список необходимо выполнить следующие условия:

  • Иметь действительный сертификат (если используется сертификат SHA-1, срок действия должен истечь до 2016 года)
  • Перенаправлять весь HTTP-трафик на HTTPS
  • Обеспечить использование HTTPS для всех поддоменов
  • Выдавать заголовок ответа HSTS
    • max-age не менее 18 недель (10886400 секунд);
    • обязательно указать параметр includeSubdomains;
    • обязательно указать параметр preload.

Нажмите Отправить

Первый шаг

Введите домен в поле example.com и нажмите Check status and eligibility. Рисунок 1

Второй шаг

После нажатия кнопки на первом шаге, если нет никаких проблем, появится следующий рисунок, затем установите флажки в двух полях под кнопкой Submit и нажмите кнопку Submit yourdomain.com to the HSTS preload list. Рисунок 2

Третий шаг

После успешной отправки появится сообщение об успешном выполнении. Рисунок 3

Четвёртый шаг

При повторном запросе будет отображаться сообщение о том, что домен находится в процессе отправки. Рисунок 4

После проверки ваш домен будет добавлен в новый список Chrome, Firefox/Mozilla и Safari, обеспечивая более безопасное предварительное подключение HTTPS.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/freessl-https-start.git
git@api.gitlife.ru:oschina-mirror/freessl-https-start.git
oschina-mirror
freessl-https-start
freessl-https-start
master