Безопасность и соответствие
Принцип: безопасность по умолчанию
Безопасность — не отдельная фаза, а часть каждого этапа разработки.
OWASP Top 10
Каждый инженер должен знать и предотвращать основные уязвимости:
| # | Уязвимость | Наше правило |
|---|---|---|
| A01 | Broken Access Control | Проверка авторизации на каждом эндпоинте |
| A02 | Cryptographic Failures | Шифрование чувствительных данных at rest и in transit |
| A03 | Injection | Параметризованные запросы, валидация входных данных |
| A04 | Insecure Design | Threat modeling для критичных фич |
| A05 | Security Misconfiguration | IaC + security baseline в CI |
| A06 | Vulnerable Components | Автоматический аудит зависимостей |
| A07 | Auth Failures | MFA, rate limiting, secure session management |
| A08 | Data Integrity Failures | Подпись артефактов, проверка CI/CD пайплайна |
| A09 | Logging Failures | Аудит-лог для security-событий |
| A10 | SSRF | Whitelist для внешних запросов |
Безопасная разработка
Обязательные практики
- Никаких секретов в коде — используй vault / env variables
- Минимальные привилегии — сервисы получают только необходимые права
- Input validation — валидируй всё на входе, санитизируй на выходе
- Dependency scanning — автоматическая проверка зависимостей на уязвимости
Security в CI/CD
Code → SAST (Static Analysis) → Dependency Scan → Container Scan → Deploy| Инструмент | Назначение |
|---|---|
| gosec / semgrep | SAST для Go |
| Trivy | Сканирование контейнеров |
| Dependabot / Renovate | Обновление уязвимых зависимостей |
| OWASP ZAP | DAST на staging |
PCI DSS
WARNING
Если работаешь с платёжными данными — обязательно ознакомься с требованиями PCI DSS и проконсультируйся с командой безопасности.
Ключевые требования
- Данные карт никогда не хранятся на наших серверах
- Токенизация через платёжного провайдера
- Логирование доступа к чувствительным данным
- Регулярные пен-тесты
Реагирование на инциденты
При обнаружении уязвимости:
- Не паникуй — оцени scope и критичность
- Сообщи в канал
#securityнемедленно - Не обсуждай детали уязвимости в публичных каналах
- Следуй процедуре Incident Management