Используйте Обсерватория сайта Mozilla для сканирования состояния безопасности вашего сайта.На сайте также есть сторонние сканеры, которые проверяют другие аспекты безопасности вашего сайта.
Вот пример результатов сканирования данного сайта:
Лучшая оценка - A + (баллы могут даже превышать 100%), но не удивляйтесь, что сайт получает прямую F (ошибка), даже если сайт прошел базовый контрольный список развертывания.
Чтобы повысить безопасность своего сайта, убедитесь, что у вас есть эти настройки в settings.py
:
CSRF_COOKIE_SECURE = True
CSRF_COOKIE_SAMESITE = 'Strict'
SESSION_COOKIE_SECURE = True
SECURE_BROWSER_XSS_FILTER = True
SECURE_CONTENT_TYPE_NOSNIFF = True
SECURE_SSL_REDIRECT = True
X_FRAME_OPTIONS = 'DENY'
SECURE_HSTS_SECONDS = 300 # set low, but when site is ready for deployment, set to at least 15768000 (6 months)
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
SECURE_HSTS_PRELOAD = True
Затем используйте SRI Hash Generator , чтобы убедиться, что все ваши скрипты загруженыбезопасно со сторонних сайтов.
Наконец, наиболее сложной и трудоемкой для реализации является Политика безопасности контента (CSP), особенно если сайт большой, содержит много стороннего кода иимеет много встроенных скриптов и стилей, разбросанных по всему проекту.Чтобы упростить задачу, вы можете установить Mozilla django-csp и использовать консоль браузера для отслеживания нарушений безопасности в своем коде.Вам также нужно будет указать следующие параметры в вашем settings.py
:
CSP_DEFAULT_SRC = ("'none'",)
CSP_STYLE_SRC = ("'self'",)
CSP_SCRIPT_SRC = ("'self'",)
CSP_FONT_SRC = ("'self'",)
CSP_IMG_SRC = ("'self'",)
Этот сайт помогает объяснить CSP и что делать со встроенными сценариями.
При желании вы можете установить django-referrer-policy , чтобы установить заголовок Referrer-Policy для дополнительной безопасности (и более высокого уровня!).
Я сам новичок, и всевыше, основано на моих исследованиях и на том, что я сделал для повышения безопасности своего сайта.