The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Раздел полезных советов: Перенаправление на HTTPS при помощи..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Перенаправление на HTTPS при помощи..."  +/
Сообщение от auto_tips on 24-Окт-15, 10:21 
Протокол HSTS (HTTP Strict Transport Security) позволяет администратору сайта указать на необходимость обращения только по HTTPS и автоматизировать проброс на HTTPS при изначальном обращении по ссылке на HTTP. Управление производится при помощи HTTP-заголовка Strict-Transport-Security, который выдаётся при обращении по HTTPS (при выдаче по HTTP заголовок игнорируется) и указывает браузеру на необходимость оставаться в зоне HTTPS даже при переходе по ссылкам "http://". Замена http:// на https:// будет автоматически выполняться при обращении к защищаемому ресурсу с внешних сайтов, а не только для внутренних ссылок.

Использование в Apache:

При помощи mod_headers устанавливаем для HTTPS-блока виртуального хоста заголовок Strict-Transport-Security (max-age - срок действия (1 год), includeSubdomains - распространять замену http:// на https:// для всех поддоменов; preload - занести в поддерживаемый браузером статический список).
Дополнительно устанавливаем заголовок "X-Frame-Options: DENY" для запрета встраивания контента сайта в блоки iframe.

   LoadModule headers_module modules/mod_headers.so

   <VirtualHost 192.168.1.1:443>
      Header always set Strict-Transport-Security "max-age= 31536000; includeSubdomains; preload"
      Header always set X-Frame-Options DENY
   </VirtualHost>

Для HTTP-блока хоста настраиваем редирект:

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

Настройка в nginx:

Добавляем в блок server:

    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
    add_header X-Frame-Options "DENY";

Настройка в Lighttpd:

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


URL: https://raymii.org/s/tutorials/HTTP_Strict_Transport_Securit...
Обсуждается: https://www.opennet.ru/tips/info/2918.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от hander email on 24-Окт-15, 10:21 
не лишним будет обратить внимание на includeSubdomains и то что эти субдомены(если есть) должны быть готовы перейти, точней перейдут автоматом, даже если заголовок не отдается на субдоменах.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от cmp (ok) on 24-Окт-15, 19:31 
А на виртуальном хосте:80 не проще редирект повесить на 443 порт, надо извращаться?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от ALex_hha (ok) on 24-Окт-15, 19:37 
> RewriteCond %{HTTPS} off
> RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI&#...

а чем не устроило ?

Redirect 301 / https://www.example.com/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от pavlinux (ok) on 25-Окт-15, 03:05 
Может пора уже на 80 порту выдавать HTTPS
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от PavelR (??) on 25-Окт-15, 08:23 
>При помощи mod_headers устанавливаем для HTTPS-блока виртуального хоста
>заголовок Strict-Transport-Security (max-age - срок действия (1 год),

А в конфигах

>Header always set Strict-Transport-Security "max-age= 31536000; includeSubdomains; preload"
>add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
>setenv.add-response-header  = ( "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload"

У apache, в отличие от nginx и Lighttpd, какой-то свой год?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +1 +/
Сообщение от PavelR (??) on 25-Окт-15, 08:26 
>А на виртуальном хосте:80 не проще редирект повесить на 443 порт, надо извращаться?

Редирект тоже вешают, это разные меры.

После включения HSTS браузер уже никогда не будет делать httP запросы к указанному домену, только httpS. Таким образом нельзя будет встать посередине, перехватить (заблокировать) редирект 80 -> 443 и дальше контролировать весь открытый трафик.

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от cmp (ok) on 25-Окт-15, 09:36 
> это разные меры.

То есть контент можно получить по http? но пытаемся средствами сервера запретить клиенту это делать?

> перехватить (заблокировать) редирект 80 -> 443

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

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от PavelR (??) on 28-Окт-15, 17:06 
>> это разные меры.
> То есть контент можно получить по http? но пытаемся средствами сервера запретить
> клиенту это делать?

Отдать /модифицированный/ контент по httP мог MtM-прокси. При этом он мог получить его вполне себе по httpS.

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

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

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от cmp (ok) on 29-Окт-15, 12:54 
Костылизм впечатлил
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от keir (ok) on 06-Ноя-15, 14:20 
Это вот отсюда - https://raymii.org/s/tutorials/HTTP_Strict_Transport_Securit...

Дело хорошее, но только после этого - https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от Аноним email(??) on 19-Ноя-15, 14:20 
Не работает. Проверил на двух сборках nginx.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от hander email on 08-Дек-15, 22:41 
у меня не хотело работать без [R=301,L]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI&#... [R=301,L]
</IfModule>

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от Аноним (??) on 13-Дек-15, 17:27 
Ага, особенно с учетом того, что на проксе это выбивается в одно действие. Достаточно просто заголовки подменить.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от Иван (??) on 02-Апр-16, 23:16 
max-age=63072000 - не слишком ли много на два года?
Что за бездумный копипаст
Сделайте на месяц 2592000 секунд
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Перенаправление на HTTPS при помощи HSTS в Apache, NGINX и L..."  +/
Сообщение от Александр Лыженков email on 23-Май-18, 17:58 
Я использовал отличную статью по покупке и настройке https на nginx
https://onlinebd.ru/blog/instrukciya-po-nastroike-https-dlya...
Полная инструкция по настройке HTTPS с оценкой А+
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру