Налаштування сканера вразливостей для сайту

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування сканера вразливостей для сайту
Середня
від 1 робочого дня до 3 робочих днів
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування сканера уразливостей для сайту

Автоматизований сканер уразливостей перевіряє додаток на відомі CVE, місконфігурації та уразливості OWASP Top 10. Запускається регулярно в CI/CD-пайплайні або за розписанням, забезпечуючи постійний моніторинг безпеки.

Інструменти

DAST (динамічне сканування — проти працюючого додатку):

  • OWASP ZAP — відкритий, повнофункціональний, інтеграція з CI/CD
  • Nuclei — швидкий, шаблонний, 7000+ перевірок
  • Nikto — спеціалізується на конфігурації веб-сервера

SAST (статичне сканування — по коду):

  • Semgrep — багатомовний, правила OWASP
  • SonarQube — повний статичний аналіз з дашбордом

SCA (залежності):

  • npm audit, composer audit, pip-audit
  • Trivy — контейнери + залежності
  • Snyk — комерційний, глибока інтеграція з GitHub

OWASP ZAP в CI/CD (GitHub Actions)

name: Security Scan

on:
  schedule:
    - cron: '0 3 * * 1'
  push:
    branches: [main]

jobs:
  zap-scan:
    runs-on: ubuntu-latest
    steps:
      - name: ZAP Baseline Scan
        uses: zaproxy/[email protected]
        with:
          target: 'https://staging.example.com'
          rules_file_name: '.zap/rules.tsv'
          cmd_options: '-a -j'

      - name: Upload Report
        uses: actions/upload-artifact@v3
        with:
          name: zap-report
          path: report_html.html

Nuclei — шаблонне сканування

go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

nuclei -update-templates

nuclei -u https://target.example.com \
    -t cves/ \
    -t misconfigurations/ \
    -t exposures/ \
    -severity critical,high \
    -o nuclei_report.json \
    -json

Semgrep SAST в CI/CD

- name: Semgrep SAST
  uses: semgrep/semgrep-action@v1
  with:
    config: >-
      p/owasp-top-ten
      p/php
      p/laravel
      p/javascript
  env:
    SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}

Сканування залежностей

composer audit
npm audit --audit-level=high
npx audit-ci --high
pip-audit --output=json -o pip-audit.json

trivy image myapp:latest \
    --severity HIGH,CRITICAL \
    --format json \
    -o trivy-report.json

SonarQube — постійний SAST

services:
  sonarqube:
    image: sonarqube:community
    ports:
      - "9000:9000"
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
    volumes:
      - sonar_data:/opt/sonarqube/data

sonar.projectKey=my-webapp
sonar.sources=app,resources/js
sonar.exclusions=**/vendor/**,**/node_modules/**
sonar.php.coverage.reportPaths=coverage.xml

Розписання та сповіщення

security-scan:
  stage: security
  image: owasp/zap2docker-stable
  script:
    - zap-baseline.py -t $STAGING_URL -r zap-report.html
  artifacts:
    paths: [zap-report.html]
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
  only:
    - schedules

Сповіщення в Slack/Telegram при виявленні High/Critical:

CRITICAL=$(cat nuclei_report.json | jq '[.[] | select(.info.severity == "critical")] | length')

if [ "$CRITICAL" -gt "0" ]; then
    curl -X POST $SLACK_WEBHOOK \
        -H 'Content-type: application/json' \
        --data "{\"text\":\"Знайдено ${CRITICAL} критичних уразливостей\"}"
fi

Управління результатами (False Positives)

# .zap/rules.tsv
10016	IGNORE
10021	IGNORE
90033	IGNORE

Тривалість реалізації

  • OWASP ZAP baseline в GitHub Actions: 1 день
  • Nuclei + сповіщення: 1 день
  • Semgrep SAST + сканування залежностей: 1–2 дні
  • Повне налаштування SonarQube: 2–3 дні