Наши проекты включают практические меры безопасности на всех этапах разработки приложений, развертывания и администрирования серверов, с особым вниманием к защите пользовательских данных и сокращению распространенных поверхностей атак.
Для приложений Django мы соответствующим образом настраиваем параметры безопасности production-среды, включая разрешенные хосты, защиту CSRF, безопасность сессий, обработку паролей, безопасную конфигурацию и другие защиты на уровне фреймворка.
Мы защищаем системы регистрации и аутентификации с помощью надлежащей валидации, контроля доступа, защищенных ресурсов и управления разрешениями. Когда проекты требуют внешних поставщиков идентификации, мы также работаем с OAuth и социальной аутентификацией.
На стороне сервера мы используем Gunicorn и Nginx с четким разделением между уровнями приложения и веб-сервера. Production-сервисы настроены так, чтобы ограничить ненужную экспозицию и изолировать компоненты приложения там, где это необходимо.
Администрирование Linux-серверов также включает практическую работу по безопасности, в том числе права доступа к файлам и сервисам, управление окружением, контролируемый доступ к production-ресурсам и тщательную настройку работающих сервисов.
Мы поддерживаем практики резервного копирования и восстановления для данных приложений и баз данных, учитывая не только регулярные резервные копии, но и то, можно ли действительно восстановить данные, когда что-то идет не так.
Безопасность также пересекается с надежностью. Мы отслеживаем использование памяти, производительность приложений и серверные ресурсы, чтобы выявлять аномальное поведение, проблемы с ресурсами и другие вопросы до того, как они перерастут в более крупные сбои в production-среде.
Подход практический, а не теоретический: сократить ненужную экспозицию, защитить те части, которые нужны защиты, поддерживать восстановимые резервные копии и уделять внимание тому, что на самом деле делает production-система.