Перенаправление к SSL, только если поддержка браузера SNI

chkrootkit и rkhunter являются отличным выбором, оба являющийся только что сценариями оболочки.

Затем существуют другие средства обеспечения безопасности, такие как Nessus, Вводная часть, растяжка и помощник.

20
задан 16 May 2012 в 23:57
4 ответа

Поскольку SNI возникает во время установления связи SSL / TLS, невозможно обнаружить поддержку браузером, когда клиент подключается к HTTP.

Итак, вы правы; фильтр пользовательского агента - единственный способ сделать это.

Большой вопрос состоит в том, хотите ли вы действовать в черном списке против браузеров, которые, как вы знаете, не будут слушать SNI, или в белом списке браузеров, которые, как известно, поддерживают Это. Неизвестные или новые устройства, которые не могут использовать сайт, кажется препятствием, поэтому я бы сказал, что белый список может быть лучшим вариантом.

В вашем HTTP :

# Internet Explorer 7, 8, 9, on Vista or newer
RewriteCond %{HTTP_USER_AGENT} MSIE\s7.*Windows\sNT\s6 [OR]
RewriteCond %{HTTP_USER_AGENT} MSIE\s8.*Windows\sNT\s6 [OR]
RewriteCond %{HTTP_USER_AGENT} MSIE\s9.*Windows\sNT\s6 [OR]
# Chrome on Windows, Mac, Linux
RewriteCond %{HTTP_USER_AGENT} Windows\sNT\s6.*Chrome [OR]
RewriteCond %{HTTP_USER_AGENT} Macintosh.*Chrome [OR]
RewriteCond %{HTTP_USER_AGENT} Linux.*Chrome [OR]
# Firefox - we'll just make the assumption that all versions in the wild support:
RewriteCond %{HTTP_USER_AGENT} Gecko.*Firefox
RewriteRule ^/(.*)$ https://ssl.hostname/$1 [R=301]

Вот вариант черного списка тоже - имейте в виду, что это рискует отправить клиента, который не использует SNI, на сайт, требующий SNI, но, с другой стороны, отправит пользователей чего-то нового, например IE 10, в нужное место :

# IE 6
RewriteCond %{HTTP_USER_AGENT} !MSIE\s6
# Windows XP/2003
RewriteCond %{HTTP_USER_AGENT} !Windows\sNT\s5
# etc etc
RewriteRule ^/(.*)$ https://ssl.hostname/$1 [R=301]

Существует множество браузеров. Я довольно расплывчато использовал выражения и не рассмотрел многие браузеры - это может превратиться в настоящий кошмар для обслуживания.

Какой бы вариант вы ни выбрали ... удачи!

20
ответ дан 2 December 2019 в 20:10

Если вам нужна избыточность, вам необходимо использовать связывание для каждой пары сетевых адаптеров, подключенных к одной и той же подсети.
Документацию по настройке соединения можно найти по адресу http://www.novell.com/communities/node/6626/bonding-multiple-network-interfaces-sles-10

Если вы хотите получить избыточность, но не более пропускную способность, вы должны настроить связывание с mode = 1 .
Чтобы получить конфигурацию без единой точки отказа, вам, очевидно, потребуются два коммутатора, при этом каждая сетевая карта в паре подключена к другому коммутатору.

повторно отправив свой запрос. Это может или не может быть нарушением условий сделки (вы говорите, что все равно собираетесь отправить их на сайт без SSL, если они не поддерживают SNI, поэтому я предполагаю, что вас не слишком заботит безопасность. Если бы я был при разработке системы, в которой требовался SSL в качестве уровня шифрования или аутентификации, я был бы немного настойчивее в этом ...)

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

3
ответ дан 2 December 2019 в 20:10

Я бы хотел решить это одним из трех способов:

  1. RewriteRule на основе заголовков User-Agent .
  2. Загрузите https: // URI в теге

    Теги

    Похожие вопросы