Послуги 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 днів
Інтеграція IaC Security Scanning у CI/CD
Середній
від 1 дня до 3 днів
Часті запитання

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

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    815
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139

Вразливість у production: сценарій, який ми змінюємо

Вразливість у production виявляється в п'ятницю о 23:00. Security Advisory на GitHub, critical, CVSS 9.8. Бібліотека log4j-core:2.14.1 у трьох сервісах. З’ясування образу, оточення та тегу займає 4 години, патч — ще дві. Разом шість годин критичної вразливості в production.

Ми бачили цей сценарій десятки разів — маємо 8 років досвіду, понад 200 впроваджень DevSecOps та сертифікацію Kubernetes, HashiCorp Vault. Наш досвід показує: повноцінна безпека DevSecOps скорочує реагування до 20 хвилин, а не 6 годин. Ми інтегруємо інструменти, які блокують уразливість на етапі коміту — під ключ, з документацією та навчанням команди. Замовте аудит поточного пайплайна — оцінимо ризики за 5 робочих днів.

Чому 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-помилки. Він — необхідна, але не достатня умова.

Чому SAST недостатньо та коли потрібні SCA та DAST?

SAST аналізує код, але не залежності. Саме SCA виявляє CVE в бібліотеках — log4j, OpenSSL, axios. DAST же знаходить XSS та SQL injection на staging. Комбінація цих трьох методів покриває 95% вразливостей до деплою. Для порівняння: лише SAST покриває ~40%.

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, змонтований /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.

Чому short-lived сертифікати безпечніші? Vault PKI замість openssl req

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

# Увімкнути 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/.

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.

Порівняння інструментів 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 еталон

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

Етапи впровадження DevSecOps під ключ

  1. Аудит пайплайна та пріоритизація ризиків
  2. Налаштування SAST (Semgrep/SonarQube) у CI
  3. Інтеграція SCA з Renovate та автоматичними PR
  4. Container scanning (Trivy) у pipeline
  5. Baseline DAST на staging (ZAP)
  6. Vault + PKI + cert-manager
  7. Falco runtime security
  8. Документація, 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 — десятки тисяч доларів за інцидент. Скорочення часу реакції з 6 годин до 20 хвилин суттєво знижує втрати. На одному проекті повний пайплайн окупився за 2 місяці після перехоплення двох critical вразливостей до деплою.

Що входить у роботу

Після впровадження ви отримуєте:

  • Документацію налаштованих інструментів (семантичні правила, конфіги, експлуатація)
  • Доступи до всіх систем з розмежуванням ролей (RBAC)
  • Runbook для team lead та інженерів (що робити при знахідці)
  • Супровід 2 тижні після здачі (відповіді на запитання, доробки)
  • Рекомендації щодо подальшого розвитку безпеки

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