Как проверить уязвимости безопасности в Django и Как исправить - PullRequest
0 голосов
/ 19 сентября 2018

Прежде всего я использую django 2.1 + python 3.6

Я должен признать, что django - это среда, которая значительно облегчает жизнь разработчику, даже если онародственник.

Теперь, когда мы написали проект django, выполнили тесты, развернули его веб-приложение;

Вопросы:

  • Каковы точки безопасности, которые не особо защищены django?

  • Можем ли мы иметь контрольный список уязвимостей, связанных с сайтами, написанными на django?

  • Что такоеважные тесты безопасности для обеспечения стабильности приложения, написанные на django?

Спасибо за продвижение ...

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Используйте Обсерватория сайта Mozilla для сканирования состояния безопасности вашего сайта.На сайте также есть сторонние сканеры, которые проверяют другие аспекты безопасности вашего сайта.

Вот пример результатов сканирования данного сайта:

Security status grade

Лучшая оценка - 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 для дополнительной безопасности (и более высокого уровня!).

Я сам новичок, и всевыше, основано на моих исследованиях и на том, что я сделал для повышения безопасности своего сайта.

0 голосов
/ 19 сентября 2018

одна из проверок безопасности, которую вы можете выполнить: Контрольный список развертывания

Выполнение

manage.py check --deploy

другие проверки безопасности можно найти в Официальные документы

...