VoyageTeam строит системы, где защита не патч поверх кода — она вшита в архитектуру. Каждый эндпоинт, каждая сессия, каждая строка в базе данных проходит через многоуровневую систему проверок.
Весь трафик между пользователем и нашими серверами защищён протоколами TLSv1.2 и TLSv1.3 с аппаратными шифрами ECDHE-RSA/ECDSA AES-256-GCM. Сертификаты Let's Encrypt обновляются автоматически.
Заголовок Strict-Transport-Security: max-age=63072000; includeSubDomains; preload гарантирует, что браузер никогда не попытается соединиться с нашим доменом по незашифрованному HTTP — даже при первом визите.
Мы реализовали двухуровневый Rate Limiter — на уровне Nginx и внутри FastAPI.
Nginx-уровень: максимум 10 req/s для API и 30 req/s для статики с burst-буфером. Максимум 10 одновременных соединений с одного IP.
FastAPI-уровень (SimpleRateLimitMiddleware):
/portal/login, /portal/verify-login, /request-password-recovery, /reset-password): 5 запросов в минуту с одного IP.Каждый вход в Личный кабинет (my.voyageteam.xyz) проходит через обязательную 2FA:
mail.voyageteam.online).Все данные хранятся в зашифрованной SQLite базе с использованием AES-256 через SQLCipher. Ключ шифрования (DB_ENCRYPTION_KEY) хранится только в переменных окружения на сервере и никогда не попадает в репозиторий или логи.
Каждая заявка с сайта проходит через многоуровневый фильтр до записи в базу:
Наш Nginx-конфиг активно блокирует автоматические сканеры уязвимостей:
.php, .asp, .env, .git, .sql, .bak, .yml файлам — возвращаем 403 Forbidden./wp-admin, /phpmyadmin, /xmlrpc, /shell, /cmd и других типичных векторов атак.X-Content-Type-Options: nosniff предотвращает MIME-sniffing атаки.X-Frame-Options: SAMEORIGIN блокирует Clickjacking через iframe.Есть вопросы по безопасности вашего проекта? Обсудим архитектуру защиты.
Обсудить проект →