Skip to content

Безопасность и соответствие ​

Принцип: безопасность по умолчанию ​

Безопасность — не отдельная фаза, а часть каждого этапа разработки.

OWASP Top 10 ​

Каждый инженер должен знать и предотвращать основные уязвимости:

#УязвимостьНаше правило
A01Broken Access ControlПроверка авторизации на каждом эндпоинте
A02Cryptographic FailuresШифрование чувствительных данных at rest и in transit
A03InjectionПараметризованные запросы, валидация входных данных
A04Insecure DesignThreat modeling для критичных фич
A05Security MisconfigurationIaC + security baseline в CI
A06Vulnerable ComponentsАвтоматический аудит зависимостей
A07Auth FailuresMFA, rate limiting, secure session management
A08Data Integrity FailuresПодпись артефактов, проверка CI/CD пайплайна
A09Logging FailuresАудит-лог для security-событий
A10SSRFWhitelist для внешних запросов

Безопасная разработка ​

Обязательные практики ​

  • Никаких секретов в коде — используй vault / env variables
  • Минимальные привилегии — сервисы получают только необходимые права
  • Input validation — валидируй всё на входе, санитизируй на выходе
  • Dependency scanning — автоматическая проверка зависимостей на уязвимости

Security в CI/CD ​

Code → SAST (Static Analysis) → Dependency Scan → Container Scan → Deploy
ИнструментНазначение
gosec / semgrepSAST для Go
TrivyСканирование контейнеров
Dependabot / RenovateОбновление уязвимых зависимостей
OWASP ZAPDAST на staging

PCI DSS ​

WARNING

Если работаешь с платёжными данными — обязательно ознакомься с требованиями PCI DSS и проконсультируйся с командой безопасности.

Ключевые требования ​

  • Данные карт никогда не хранятся на наших серверах
  • Токенизация через платёжного провайдера
  • Логирование доступа к чувствительным данным
  • Регулярные пен-тесты

Реагирование на инциденты ​

При обнаружении уязвимости:

  1. Не паникуй — оцени scope и критичность
  2. Сообщи в канал #security немедленно
  3. Не обсуждай детали уязвимости в публичных каналах
  4. Следуй процедуре Incident Management