Рубрики
Без рубрики

Советы безопасности для джангунавтов

Закрепите свое приложение Django и будь звездой. Теги за безопасностью, Python, Django.

Отдается вам, вы пользователю веб-структуры для перфекционистов с сроками (ака Джанго). Команда Django привела большую мысль в свою практику безопасности. Я подвел некоторые из лучших советов, чтобы сохранить ваш проект Django. Смотреть все десять советов здесь

Аутентификация пользователя дроссельной заслонки

Django предоставляет множество функций безопасности, запеченных, но система аутентификации не по своей природе защищает от атак грубой силы. Влагоприятный актер может ударить вашу систему многочисленными попытками входа в систему, и потенциально войти.

Если этот вид атаки вызывает обеспокоенность для вашего проекта, используйте проект, такой как Django Defender, чтобы заблокировать пользователей после слишком большого количества попыток входа в систему.

Защитите свой исходный код

Защита вашего исходного кода может показаться очевидным шагом, но это многогранный шаг и, следовательно, стоит изучить. Один из способов защиты вашего исходного кода – убедиться, что он не включен в корневой каталог вашего веб-сервера. Если это так, есть возможность того, что она подается или что, часть этого, выполняется таким образом, что вы не планировали.

И хотя он не говорит, если ваш проект чувствителен, обязательно используйте частный репозиторий на GitHub, Bitbucket или GitLab. Кроме того, обязательно не проверяйте свои секреты в вашу систему управления версиями, независимо от того, намереваетесь ли вы использовать частное репо. Возможно, что частный репозиторий не всегда остается частным, и кто-то с доступом к частной репо, не всегда может быть доверен.

Используйте RAB-запросы и пользовательские SQL с осторожностью

Хотя заманчиво написать RAW SQL-запросы и пользовательские SQL, делать это может открыть дверь для атаки. Объективное отображение объекта Django (ORM) предназначена для выполнения вашей базы данных. Запрошимы построены с использованием параметизации запроса. Параметры запроса были абстрагированы вдали от кода SQL QUERY. Пользователь, пытающийся выполнить инъекцию SQL (выполнить произвольное SQL в базе данных), будет намного сложнее, если вы всегда используете ORM.

Django позволяет использовать необработанные запросы, но их использование не рекомендуется. Если вы используете их, возьмите дополнительную помощь, чтобы правильно избежать любых параметров. Если вы обнаружите, что Django ORM недостаточно для ваших нужд, можно использовать другой ORM в Django. SQLalchemy является примером ORM, который можно использовать с Django. Если есть ORM, которая лучше подходит для вашего проекта, что при использовании предпочтительно написать большие суммы RAW SQL.

Не позволяйте идеальному попаданию в пользу хорошего

Каждая шага безопасности, которую вы берете, это шаг в правильном направлении. Django может быть для перфекционистов с сроками, но код не должен быть идеальным, чтобы получить преимущества безопасности. Реализация концепций, обсуждаемых выше, к лучшему из ваших возможностей, может значительно улучшить безопасность вашего кода и привести к более здоровому, более устойчивому проекту. Счастливое кодирование, Pythonistas!

Я защитчик разработчика в Снайк Отказ Этот пост изначально появился на блоге Snyk, с еще более подсказками безопасности. Найти полную статью здесь а также легко общий PDF.

Оригинал: “https://dev.to/hayleydenb/security-tips-for-djangonauts-3mbf”