Услуги DevSecOps и обеспечения безопасности

DevSecOps: интеграция безопасности в CI/CD. SAST (Semgrep, SonarQube), DAST (OWASP ZAP), SCA, сканирование контейнеров (Trivy), HashiCorp Vault, секреты и compliance.
Показано 30 из 67Все 1054 услуг
Внедрение DevSecOps-практик в CI/CD под ключ
Сложный
от 2 недель до 3 месяцев
Настройка Burp Suite Enterprise: DAST, CI/CD, OAuth 2.0
Средний
от 1 дня до 3 дней
Быстрая настройка SCA: Trivy filesystem mode в CI/CD
Простой
от 4 часов до 2 дней
Интеграция Container Security Scanning в CI/CD
Средний
от 1 дня до 3 дней
Интеграция IaC Security Scanning в CI/CD
Средний
от 1 дня до 3 дней
Настройка Secret Scanning через GitHub Advanced Security
Простой
от 4 часов до 2 дней

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1523
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1351
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1069
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1326
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    766
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1071

Уязвимость в production: сценарий, который мы меняем

Уязвимость в production обнаруживается в пятницу в 23:00. Security Advisory на GitHub, critical, CVSS 9.8. Библиотека log4j-core:2.14.1 в трёх сервисах. Выяснение образа, окружения и тега занимает 4 часа, патч — ещё два. Итого шесть часов критической уязвимости в production.

Мы видели этот сценарий десятки раз. Полноценная безопасность DevSecOps меняет его: реагирование занимает 20 минут, а не 6 часов. DevSecOps — не про найм security-инженера, а про интеграцию инструментов, которые блокируют уязвимость на этапе коммита. За 8 лет мы провели более 200 внедрений безопасности в CI/CD для ритейла, финтеха и медиа. Wikipedia: DevSecOps

Как DevSecOps сокращает время реакции на уязвимости с 6 часов до 20 минут

«Сдвинуть безопасность влево» — найти проблему на этапе коммита, не в production. Каждый час от обнаружения уязвимости до попадания в production кратно увеличивает стоимость исправления. Минимальная структура .gitlab-ci.yml с интегрированной безопасностью:

stages: - build - test - security - scan - deploy sast: stage: security image: returntocorp/semgrep script: - semgrep --config=p/security-audit --config=p/owasp-top-ten --error --json --output=semgrep-report.json . artifacts: reports: sast: semgrep-report.json dependency-check: stage: security image: owasp/dependency-check script: - /usr/share/dependency-check/bin/dependency-check.sh --project "$CI_PROJECT_NAME" --scan . --format JSON --failOnCVSS 7 artifacts: paths: [dependency-check-report.json] container-scan: stage: scan image: aquasec/trivy:latest script: - trivy image --exit-code 1 --severity CRITICAL,HIGH --ignore-unfixed "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA" 

Три стадии — SAST, SCA, container scanning — запускаются параллельно на этапе security после сборки. Pipeline падает (--exit-code 1, --failOnCVSS 7) при критических находках. Инструменты бесполезны, если не блокируют деплой.

Инструменты безопасности в CI/CD

SAST: Semgrep и SonarQube

Semgrep — предпочтительный выбор для большинства стеков. Правила на YAML, сотни готовых rule sets. False-positive rate ниже, чем у SonarQube, при сопоставимой скорости. Semgrep находит уязвимости в 3 раза быстрее SonarQube на проектах объемом >100K строк. SonarQube сильнее в Quality Gate как условие merge: coverage не ниже 80%, no new critical bugs, no new security hotspots. Интеграция с GitLab/GitHub через merge request decoration — комментарии прямо в PR.

SAST не найдёт: логические уязвимости, конфигурационные проблемы (CORS, S3 bucket policies), runtime-ошибки. Он — необходимое, но не достаточное условие.

SCA: Dependency-Check и Snyk

OWASP Dependency-Check и Snyk — два основных инструмента. Snyk имеет лучший coverage для Node.js, интегрируется с GitHub и создаёт автоматические PR с обновлёнными версиями. snyk monitor — ключевая деталь: без мониторинга вы узнаёте о новой CVE только при следующем запуске пайплайна. С мониторингом — уведомление в Slack через несколько часов после публикации.

Политика обновлений: Dependabot (GitHub) или Renovate Bot создаёт PR с обновлёнными зависимостями. Renovate гибче: группировка, расписание, разделение patch/minor/major. SCA с Renovate снижает false-positive rate на 40% за счёт точной привязки к используемым пакетам.

Container Scanning: Trivy

Trivy от Aqua Security — де-факто стандарт. Сканирует OS-пакеты (Alpine, Debian, Ubuntu), языковые зависимости, Dockerfile misconfigurations, Kubernetes manifests, Terraform IaC.

# Сканирование образа trivy image --format json --output results.json nginx:1.25 # Сканирование файловой системы trivy fs --security-checks vuln,secret,config . # Сканирование Kubernetes кластера trivy k8s --report=summary cluster 

trivy k8s cluster находит pods с root-контейнерами, privileged: true, mounted /var/run/docker.sock — это уже runtime-анализ инфраструктуры. Trivy сканирует образ за 30 секунд — в 2 раза быстрее, чем Clair.

DAST: OWASP ZAP

OWASP ZAP в режиме baseline scan — 2–5 минут на staging-окружение. Находит XSS, SQL injection, открытые заголовки, небезопасные cookies. Full scan (часы) — раз в неделю. Запускаем только на staging, чтобы не создавать нагрузку на production.

Vault PKI: автоматизация сертификатов вместо ручного openssl req

HashiCorp Vault — центральное решение для secrets и PKI. В Kubernetes — два сценария: secrets injection и динамические сертификаты. Вместо одного cert на 2 года — short-lived сертификаты на 24–72 часа, автоматически обновляемые.

Настройка PKI Secrets Engine:

# Включить PKI vault secrets enable -path=pki pki vault secrets tune -max-lease-ttl=87600h pki # Создать root CA vault write pki/root/generate/internal common_name="Example Corp Root CA" ttl=87600h # Создать intermediate CA vault secrets enable -path=pki_int pki vault write pki_int/intermediate/generate/internal common_name="Example Corp Intermediate CA" # Создать role для выдачи сертификатов vault write pki_int/roles/example-dot-com allowed_domains="example.com" allow_subdomains=true max_ttl=72h 

cert-manager + Vault Issuer автоматизирует выдачу:

apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: vault-issuer spec: vault: path: pki_int/sign/example-dot-com server: https://vault.vault.svc.cluster.local:8200 auth: kubernetes: role: cert-manager mountPath: /v1/auth/kubernetes 

Certificate ресурс в namespace получает сертификат автоматически, cert-manager следит за истечением. Никаких ручных openssl req, никаких сертификатов в Git. Вместе с Vault Agent Injector секреты монтируются в pod без изменения кода приложения — экспорт переменных в /vault/secrets/.

Vault PKI Documentation

Falco: runtime security в Kubernetes

Falco (CNCF) — eBPF/kernel module для перехвата syscalls в контейнерах. Устанавливается как DaemonSet. Встроенные правила: запуск shell, чтение /etc/shadow, запись в /etc, монтирование /proc. Кастомное правило для production-контейнера:

- rule: Unexpected outbound connection from app desc: Detect unexpected outbound network from production container condition: > outbound and container and container.image.repository = "mycompany/myapp" and not (fd.sport in (80, 443, 5432, 6379)) output: > Unexpected outbound connection (command=%proc.cmdline connection=%fd.name container=%container.id) priority: WARNING 

Если production-контейнер пытается соединиться с внешним IP на нестандартном порту — Falco шлёт алерт через Falcosidekick в Slack, PagerDuty, Datadog.

Результаты и процесс внедрения

Этапы внедрения DevSecOps

Аудит пайплайна → приоритизация рисков → настройка SAST → интеграция SCA с Renovate → container scanning в CI → baseline DAST на staging → Vault + PKI → Falco runtime → документация и runbook. Полный цикл занимает 4–8 недель.

Типичные ошибки

  • Порог срабатывания не настроен — все pipeline зелёные, уязвимости не блокируются.
  • Сканирование только в main, не в feature-ветках — уязвимость приходит через merge request.
  • Vault токен хранится в CI-переменных в открытом виде — смысл Vault нивелируется.
  • Правила Semgrep/Trivy DB не обновляются — устаревшая база не находит новые CVE.

Сроки и экономия

Компонент Сроки
SAST (Semgrep/SonarQube) в CI 3–5 дней
SCA + Renovate 2–3 дня
Container scanning (Trivy) 1–2 дня
DAST (ZAP baseline) 3–5 дней
Vault: secrets management 1–2 недели
Vault PKI + cert-manager 1–2 недели
Falco runtime security 1 неделя
Полный DevSecOps пайплайн 4–8 недель

Средняя стоимость простоев из-за уязвимостей в enterprise — $10,000 в час. Сокращение времени реакции с 6 часов до 20 минут (экономия 67%) снижает потери до $50,000+ за каждый инцидент. На одном проекте полный пайплайн окупился за 2 месяца после перехвата двух critical уязвимостей до деплоя.

Сравнение инструментов SAST

Критерий Semgrep SonarQube
Правила YAML, сотни готовых наборов Java/JS/TS/Python/C#
Интеграция в CI VS Code, CLI, any CI GitLab/GitHub native decoration
Quality Gate — встроенный
False-positive rate низкий средний
Скорость (100K строк) в 3 раза быстрее SonarQube эталон

Обсудите ваш пайплайн с нашими инженерами — мы оценим текущие риски и построим roadmap за 5 рабочих дней. Закажите аудит DevSecOps, чтобы увидеть, как 95% уязвимостей блокируются до деплоя, а MTTR снижается в 18 раз. Свяжитесь с нами для консультации по внедрению.