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

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, 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)

# .github/workflows/security-scan.yml
name: Security Scan

on:
  schedule:
    - cron: '0 3 * * 1'  # каждый понедельник в 3:00
  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

# Исключить ложные срабатывания через конфиг
nuclei -u https://target.example.com \
    -exclude-tags dos \
    -rate-limit 50 \
    -timeout 10

Semgrep SAST в CI/CD

# .github/workflows/sast.yml
- 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 }}
# Локальный запуск
semgrep --config=p/owasp-top-ten \
        --config=p/laravel \
        --output=semgrep-report.sarif \
        --sarif \
        ./app

Dependency Scanning

# PHP
composer audit

# Node.js
npm audit --audit-level=high
npx audit-ci --high

# Python
pip-audit --output=json -o pip-audit.json

# Docker-образы
trivy image myapp:latest \
    --severity HIGH,CRITICAL \
    --format json \
    -o trivy-report.json

SonarQube — постоянный SAST

# docker-compose.yml для локальной установки
services:
  sonarqube:
    image: sonarqube:community
    ports:
      - "9000:9000"
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
    volumes:
      - sonar_data:/opt/sonarqube/data

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

Расписание и уведомления

# Gitlab CI с еженедельным сканированием
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:

#!/bin/bash
# parse-and-notify.sh
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\":\"🚨 Security scan: ${CRITICAL} critical vulnerabilities found on ${TARGET}\"}"
fi

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

# .zap/rules.tsv — исключения для ZAP
10016	IGNORE	# Web Browser XSS Protection Not Enabled (устаревший)
10021	IGNORE	# X-Content-Type-Options Missing (уже настроен)
90033	IGNORE	# Loosely Scoped Cookie — false positive для /api

Срок реализации

  • OWASP ZAP baseline в GitHub Actions: 1 день
  • Nuclei + уведомления: 1 день
  • Semgrep SAST + Dependency scanning: 1–2 дня
  • SonarQube full setup: 2–3 дня