Моніторинг безпеки сайту

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

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

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Моніторинг безпеки сайту
Середня
постійна підтримка
Часті питання

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

Етапи розробки

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

  • 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

Моніторинг безпеки сайту

Моніторинг безпеки — постійне спостереження за ознаками атак, вразливостей та несанкціонованих змін. Складається з кількох шарів, кожен із яких виявляє різні класи загроз.

Рівні мониторинга безпеки

1. WAF (Web Application Firewall) — фільтрація шкідливих запитів до потрапляння у додаток.

  • Cloudflare WAF, AWS WAF, ModSecurity (self-hosted)
  • Блокує SQL injection, XSS, CSRF, path traversal

2. Аналіз журналів — аналіз журналів доступу на підозрілі шаблони.

3. Моніторинг цілісності файлів (FIM) — виявлення змін файлів.

4. Сканування залежностей — моніторинг CVE в використаних бібліотеках.

5. Час роботи + частота помилок — непрямі ознаки атаки (DDoS, brute force).

Cloudflare WAF + события безпеки

// Отримання подій безпеки через Cloudflare API
const events = await fetch(
  `https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/security/events?per_page=50`,
  {
    headers: {
      'Authorization': `Bearer ${CF_API_TOKEN}`,
      'Content-Type': 'application/json',
    },
  }
).then(r => r.json());

// Аналіз: топ атакуючих IP-адрес
const ipCounts = events.result.reduce((acc, e) => {
  acc[e.clientIP] = (acc[e.clientIP] || 0) + 1;
  return acc;
}, {});

ModSecurity + Nginx

# /etc/nginx/modsec/modsecurity.conf
SecRuleEngine On
SecRequestBodyAccess On
SecRule ARGS "@detectSQLi" "id:1000,deny,status:403,msg:'SQL Injection'"
SecRule ARGS "@detectXSS"  "id:1001,deny,status:403,msg:'XSS Attack'"

Моніторинг цілісності файлів за допомогою AIDE

# Встановлення AIDE
sudo apt install aide

# Ініціалізація бази даних (після встановлення, до очікуваних змін)
sudo aide --init
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

# Щоденна перевірка (cron)
sudo aide --check | mail -s "AIDE Report" [email protected]

Моніторинг через Fail2ban

# /etc/fail2ban/jail.local
[nginx-botsearch]
enabled  = true
port     = http,https
filter   = nginx-botsearch
logpath  = /var/log/nginx/access.log
maxretry = 5
findtime = 60
bantime  = 3600

[nginx-http-auth]
enabled = true
port    = http,https
logpath = /var/log/nginx/error.log
maxretry = 5
bantime = 86400

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

# GitHub Actions: щотижневий аудит залежностей
name: Security Audit
on:
  schedule:
    - cron: '0 9 * * 1'  # Кожного понеділка

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm audit --audit-level=high
      - run: npx snyk test --severity-threshold=high
        env:
          SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}

Оповіщення про аномалії

# Скрипт аналізу журналів на brute force
import re
from collections import defaultdict

def detect_brute_force(log_file, threshold=50):
    ip_attempts = defaultdict(int)

    with open(log_file) as f:
        for line in f:
            if '/wp-login.php' in line or '/admin/login' in line:
                ip = re.search(r'(\d+\.\d+\.\d+\.\d+)', line)
                if ip:
                    ip_attempts[ip.group(1)] += 1

    return {ip: count for ip, count in ip_attempts.items() if count >= threshold}

Налаштування базового моніторингу безпеки (Cloudflare WAF + Fail2ban + dependency alerts) — 1–2 дні.