Надстройка / пользовательский скрипт Firefox для принудительной попытки HTTPS по умолчанию на каждом домене?

Я использую HTTPS Everywhere в Firefox, но он применяет HTTPS только для очень ограниченного набора очень известных сайтов (по умолчанию).

Я использую большое количество гораздо более мелких сайтов, которые имеют версии HTTPS, но при переходе на HTTP они не применяют автоматически свой HTTPS (не говоря уже о HSTS ), поэтому, если я специально не забуду ввести HTTPS (и/или добавить все свои домены в белый список в HTTPS Everywhere), я снова и снова использую незащищенные версии веб-сайтов, которые я легко мог бы автоматически использовать для безопасной версии благодаря какой-то оригинальной надстройке Firefox или пользовательскому скрипту.

Это может привести к небольшому затруднению в использовании, но я хотел бы опробовать эту концепцию ради потенциально гораздо большей конфиденциальности от прослушивающих шпионов, подслушивающих в Интернете. (например, мой VPN, мой интернет-провайдер или другие гнусные стороны, такие как АНБ).

Это может быть даже очень простой скрипт Greasemonkey. Я бы предположил, что это пойдет:

  • Принудительно менять каждую страницу на httpв httpsURL-адресе, если это еще не сделано https.
  • Если httpsстраница загружается нормально со стандартным ответом HTTP, ничего не делайте (миссия выполнена).
  • Если httpsстраница не загружается, вернитесь httpи добавьте домен в качестве @excludeзаписи в сценарий (или другой элегантный способ создания «черного списка» в сценарии), чтобы попытка не предпринималась снова.

Я бы не знал, как это закодировать.

В качестве отличного бонуса можно добавить кнопку/уведомление с надписью «Бу, этого сайта не существует на HTTPS!». чтобы напомнить мне, когда я в настоящее время нахожусь на «небезопасном» сайте, чтобы, возможно, я мог начать меньше использовать эти сайты и вместо этого придерживаться тех, которые, как я знаю, не могут быть отслежены так же часто.

И, кстати, что касается (плохих) сертификатов (доверия): я бы предпочел автоматически использовать сертификат, который использует сайт, и сделать второй шаг проверки, если я действительно войду в него, а не автоматически НЕбезопасная версия бесчисленных лениво настроенных сайтов, не осознавая этого.

Ответы (1)

На SO есть связанный с этим вопрос: как заменить http-ссылки на https на всей странице с помощью Greasemonkey? Но это удовлетворило бы только ваше первое условие. Надстройка NoScript для Firefox, по-видимому, также имеет возможность принудительно использовать https , но здесь вам нужно настроить список сайтов вручную.

Хотя эти два не удовлетворяют всем вашим условиям, мое исследование выявило интересную статью на Geeks.IM под названием « Как автоматически перенаправить с HTTP на HTTPS в Firefox» , в которой для этой цели рекомендуется использовать HTTPS Finder :

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

Кажется, это именно то, что вы хотите. Чтобы дать вам некоторые визуальные эффекты:

Настройки средства поиска HTTPS
Настройки HTTPS Finder (источник: Geeks.IM ; щелкните изображение, чтобы увеличить его)

Как вы можете видеть в «Результатах обнаружения сеанса», этот аддон даже дает вам дополнительное преимущество, позволяя увидеть, насколько на самом деле безопасен https, когда речь идет о «вторичных данных» в виде файлов cookie, которые вы хотите защитить (думая о ваши идентификаторы сеансов).

Поскольку HTTPS Finder был удален с сайта дополнений Mozilla, вы можете найти его .xpiв разделе загрузки проекта . К сожалению, похоже, что это дополнение больше не поддерживается (последняя указанная версия от 12/2013), поэтому я не могу сказать вам, совместимо ли оно (или может ли оно работать) с последними версиями Firefox. 1


Обновление: 2

Аддон, использующий прямо противоположный подход, — это HTTP Nowhere , основная функция которого — блокировать все URL-адреса HTTP, которые вы посещаете, но в настройках которого также есть опция: «Всегда пробовать HTTPS вместо блокировки». Таким образом, это позволит полностью избежать незащищенного просмотра: либо он найдет защищенный вариант, либо не позволит вам получить доступ к запрошенному вами URL-адресу. ОП попробовал это, и он работает хорошо, и даже если, по общему признанию, у него есть основная (неотключаемая) функция (блокировка HTTP), которая технически не входит в объем первоначального вопроса, это тот, с которым он решил пойти, и это работает отлично подходит как для белого, так и для черного списка, в обоих направлениях.

Настройки HTTP нигде
Настройки HTTP Nowhere (щелкните изображение, чтобы увеличить его)

Хотя этот аддон по-прежнему доступен на AMO, неясно, поддерживается ли он по-прежнему активно: его последняя версия от 9/2013 стала еще старше.

1: как указывает OP: просто дважды проверил то, что вы нашли, я бы сказал, что это не соответствует всем требованиям, поскольку похоже, что оно «проверяет» HTTPS вместо ПРИНУДИТЕЛЬНОГО (затем смотрит, работает ли это), и Я думаю, только после загрузки всей HTTP-страницы. Мне это кажется отчасти правдой, поскольку он придерживается httpURL-адреса , * когда для него не было найдено https . В связанной статье говорится: вы можете позволить ему предупредить вас, когда он обнаружит такое более безопасное соединение , или автоматически перенаправить на HTTPS .
2: по запросу ОП с предоставленной им информацией

HTTPS везде (по крайней мере, на данный момент) также имеет одинаковую block all HTTP trafficопцию.