Перейти к содержимому

Аудит безопасности проекта на Django и Django REST Framework

В Django есть встроенная проверка настроек перед выкладкой, но её запускают редко. Мы проверяем и её, и то, что она не видит.

Django серьёзно относится к безопасности: защита форм, экранирование шаблонов, защита от подделки запросов и команда check --deploy, которая подсказывает, что поправить в настройках перед выкладкой. Проблемы обычно возникают не в самом фреймворке, а в том, как проект настроен и как в нём устроено разграничение доступа.

Особое внимание — API на Django REST Framework. Права доступа задаются для каждого представления или глобально, и если глобальную настройку не задали, а в части представлений забыли указать права, эти методы доступны шире, чем задумано. Проверяем все представления и наборы, сверяя их с ролями пользователей.

Ещё один частый вопрос — административная панель. Она мощная и удобная, поэтому её открывают сотрудникам, подрядчикам, иногда партнёрам. Смотрим, кто туда входит, с какими правами, есть ли второй фактор и ограничения по адресам, и что видно в журнале действий.

Типовой проект · пакет «Орбита»

168 800 ₽

3–4 недели

  • Настройки продакшена
  • Права в API
  • Административная панель
  • Файлы

Подготовка к аудиту

Что подготовить?

Тестовое окружение с данными-заглушками, учётные записи для каждой роли и краткое описание, кто что должен видеть.

Нужна ли документация API?

Схема OpenAPI сильно ускоряет работу. Если её нет, соберём список методов сами по коду и трафику приложения.

Почему Django-проекту нужен аудит, если фреймворк безопасный

Фреймворк защищает от типовых ошибок, но не знает вашей бизнес-логики. Он не может понять, что менеджер филиала не должен видеть клиентов другого филиала, а пользователь — чужие записи. Эти правила пишет команда, и в больших проектах их легко пропустить в одном из десятков представлений.

Аудит проходит все точки доступа и сверяет фактическое поведение с тем, что задумано. Результат — список конкретных мест с рекомендациями, а не общие советы.

Калькулятор

Аудит приложения на Django — расчёт стоимости

Отраслевые модули уже отмечены. Уберите лишнее или добавьте нужное — сумма в счёте будет та же, что в смете.

1

Выберите пакет

2

Добавьте нужное

+ 29 900 ₽
+ 9 900 ₽
+ 9 900 ₽
+ 14 900 ₽
от 14 900 ₽ за роль
от 24 900 ₽ за 50 методов
+ 69 900 ₽
+ 79 900 ₽
+ 49 900 ₽
+ 39 900 ₽
от 24 000 ₽ за 10 ч
+ 14 900 ₽
3

Ваша смета

  • Пакет «Орбита»129 000 ₽
  • Подробная проверка API на DRF29 900 ₽
  • Аудит зависимостей Python9 900 ₽

Стоимость работ

0 ₽

Срок: 3–4 недели

Счёт сейчас: 84 400 ₽ — предоплата 50%, остаток после приёмки

Без регистрации. Счёт и анкета придут на почту сразу. Работаем по договору и с разрешения владельца системы.

Возможности

Что проверяем

01

Настройки продакшена

Отладка, разрешённые хосты, секретный ключ, cookie, HTTPS-настройки.

02

Права в API

Права каждого представления DRF, фильтрация данных по владельцу.

03

Административная панель

Пользователи, права моделей, второй фактор, ограничения входа.

04

Файлы

Загрузка, проверка типов, раздача медиафайлов и доступ к приватным документам.

05

Фоновые задачи и зависимости

Celery и панели мониторинга, пакеты Python с известными уязвимостями.

Самопроверка перед аудитом

  • Команда check --deploy проходит без предупреждений
  • В настройках DRF задан глобальный класс прав, а не только права в отдельных представлениях
  • Административная панель недоступна обычным пользователям и закрыта вторым фактором
  • Приватные документы пользователей отдаются через проверку прав
  • Панели мониторинга фоновых задач закрыты от интернета

Экспресс-аудит и полная проверка

«Спутник»

  • Без доступа к коду
  • Настройки, заголовки, служебные адреса
  • Неделя
  • Отчёт с приоритетами

«Орбита»

  • С доступом к тестовому окружению
  • Роли, API, файлы, логика доступа
  • 2–3 недели
  • Повторная проверка после исправлений

Вопросы и ответы

Вопросы о проверке Django

Мы запускали check --deploy. Этого мало?

Это хорошая проверка настроек, но она не видит логику прав доступа, API и файлы. Именно там обычно находятся серьёзные проблемы.

Нужен ли доступ к репозиторию?

Для подробной проверки API — да, это ускоряет работу. Для экспресс-аудита — нет.

Проверите проект на FastAPI или Flask?

Да, подход тот же: настройки, права, API, файлы и зависимости. Детали отличаются, цена — по пакетам.

Сколько времени займёт?

Экспресс-аудит — неделя, ручная проверка API — 2–3 недели.

Поможете с исправлениями?

Да, по опции «Исправление найденного» или консультациями вашей команде.

Пример: сервис онлайн-записи на Django с API для мобильного приложения

Пакет «Орбита» (129 000 ₽) + подробная проверка API на DRF (29 900 ₽) + аудит зависимостей Python (9 900 ₽). Итог — 168 800 ₽ и около трёх недель. В отчёте — несколько представлений без явных прав доступа, медиафайлы клиентов, доступные по прямой ссылке, и пакеты, требующие обновления.

Собрать свой вариант
Помощник по заказуЦены, сроки, оплата, договор — отвечает сразу

Спросите что угодно о заказе: сколько будет стоить ваш проект, что входит в пакет, как платить, какие документы получите.