hstspreload
Описание hstspreload
Библиотека hstspreload позволяет проверить, находится ли сайт в списке HSTS preload. Проверка выполняется офлайн, без использования сторонних сервисов.
HSTS (сокр. от англ. HTTP Strict Transport Security) — механизм, принудительно активирующий защищённое соединение через протокол HTTPS.
Имеется 2 способа, которым веб-браузеры могут узнать, что сайт использует HSTS:
1) HTTP заголовок веб-сервера сообщает, что данный веб-сайт использует HSTS.
После получения такого заголовка, веб-браузер пользователя запоминает, что данный сайт использует HSTS и впоследствии пытается подключиться к нему только по протоколу HTTPS, запрещая использование HTTP.
2) Списки, в которых собраны сайты, использующие HSTS. Такой список обслуживает Google и он поддерживается всеми веб-браузерами. Подробности смотрите по ссылкам:
- https://hstspreload.org/
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
Поскольку HSTS preload имеется в исходном коде веб-браузера Chromium, а исходный код этого веб-браузера открыт, то можно выполнять проверку доменов на присутствие в HSTS preload используя этот файл.
hstspreload — это список Chromium HSTS Preload в виде пакета Python.
Пакет предоставляет одну функцию: in_hsts_preload(), которая принимает хост с кодировкой IDNA и возвращает True или False относительно того, следует ли осуществлять доступ к этому хосту только через HTTPS.
Этот пакет полностью создан с помощью автоматизированного скрипта, который запускается раз в месяц. То есть данные в этом пакете обновляются раз в месяц.
Файл, который используется в качестве источника данных (файл в кодировке Base64): https://chromium.googlesource.com/chromium/src/+/main/net/http/transport_security_state_static.json?format=TEXT
Домашняя страница: https://github.com/sethmlarson/hstspreload
Автор: Seth Michael Larson
Лицензия: BSD-3
Справка по hstspreload
Пакет предоставляет одну функцию: in_hsts_preload(), которая принимает хост с кодировкой IDNA и возвращает True или False относительно того, следует ли осуществлять доступ к этому хосту только через HTTPS.
Вы можете импортировать модуль hstspreload в скрипте Python и из него вызывать функцию in_hsts_preload().
Таким образом, если проверяемый домен имеется в списке HSTS preload, то будет возвращено True. Если домен отсутствует в этом списке, то будет возвращено False.
Руководство по hstspreload
Страница man отсутствует.
Примеры запуска hstspreload
Создайте файл hstspreload_checker.py и скопируйте в него следующее содержимое:
from sys import argv import hstspreload host = argv[1] print (hstspreload.in_hsts_preload(host))
Запускайте файл следующим образом:
python hstspreload_checker.py DOMAIN
Например, следующая команда проверит, имеется ли домен suip.biz в списке HSTS preload:
python hstspreload_checker.py suip.biz
Ещё примеры проверки:
python hstspreload_checker.py hackware.ru python hstspreload_checker.py youtube.com python hstspreload_checker.py paypal.com python hstspreload_checker.py www.paypal.com
Вы также можете проверять домены верхнего уровня (top-level domain, TLD):
python hstspreload_checker.py com python hstspreload_checker.py net python hstspreload_checker.py dev python hstspreload_checker.py microsoft python hstspreload_checker.py youtube
Если домен верхнего уровня добавлен в список HSTS preload, то все домены второго и любого последующего уровней также будут доступны только по протоколу HTTPS:
python hstspreload_checker.py just.whatever.if.dev
Установка hstspreload
Установка в Kali Linux
Вы можете выбрать любой из следующих двух способов установки:
#1. Установка с помощью pip:
pip install --break-system-packages hstspreload
Для обновления установленного таким образом пакета выполните команду:
pip install --break-system-packages -U hstspreload
#2. Установка из github:
git clone https://github.com/sethmlarson/hstspreload cd hstspreload sudo python setup.py install
Для обновления установленного таким образом пакета выполните команду:
cd hstspreload git pull sudo python setup.py install
Установка в BlackArch
pikaur -S aur/python-hstspreload
Смотрите также: Автоматическая установка и обновление пакетов AUR
Установка в Ubuntu, Linux Mint, Debian
pip install --break-system-packages hstspreload
Для обновления установленного таким образом пакета выполните команду:
pip install --break-system-packages -U hstspreload
Скриншоты hstspreload
Инструкции по hstspreload
- Как проверить, использует ли сайт HSTS и HSTS preload
- Проверить использует ли сайт HSTS и HSTS preload
- Проверить включён ли сайт в HSTS preload
Comments are Closed