Налаштування AWS GuardDuty для виявлення загроз

Нічні алерти від GuardDuty без правильної налаштування — це або хибні спрацювання, або пропущені атаки, які обходяться дорого. Ми налаштовуємо GuardDuty так, щоб ви бачили лише реальні загрози, а автоматичне реагування блокувало їх за хвилини. Наша команда реалізує проєкт під ключ — від аудиту до впровадження та підтримки, забезпечуючи надійний захист вашої AWS-інфраструктури.
Часті запитання

Налаштування AWS GuardDuty для виявлення загроз

Уявіть: о 3 годині ночі ви отримуєте алерт від GuardDuty про критичний інцидент. Без попереднього налаштування це, швидше за все, хибне спрацювання. Але якщо це реальна атака, кожна година простою коштує значних сум, а витік даних може призвести до багатомільйонних втрат. Без правильного налаштування ви ризикуєте пропустити критичну атаку або потонути в хибних спрацюваннях. Ми налаштовуємо GuardDuty так, щоб ви бачили лише реальні загрози, а автоматичне реагування блокувало атаки за хвилини. За нашими плечима сотні проєктів — від стартапів до enterprise з десятками акаунтів. Після нашого налаштування кількість хибних спрацювань знижується на 90%. При цьому ми документуємо кожен етап і проводимо навчання команди замовника. 5+ років на ринку та 300+ успішних проєктів підтверджують наш досвід у безпеці AWS. Ми гарантуємо якість і маємо відповідні сертифікати AWS.

Чому GuardDuty потрібно налаштовувати правильно?

GuardDuty вмикається за три кліки в консолі, але без правильної конфігурації він не приносить користі. Потрібно:

  • вказати, які дані аналізувати (CloudTrail, VPC Flow Logs, DNS, S3-логи);
  • налаштувати multi-account через Organizations, щоб не підключати кожен акаунт вручну;
  • визначити канали оповіщень (Slack, PagerDuty, Telegram) і створити severity-фільтри;
  • написати suppression rules для білих зон — пентест-серверів, сканерів, легітимних скриптів.

Без цих кроків ви ризикуєте або пропустити атаку, або потонути в false positives. Один пропущений інцидент — і витрати на відновлення можуть перевищити розумні межі. У нашій практиці був випадок, коли стартап з 5 акаунтами за місяць отримав понад 3000 алертів, з яких реальними виявилися лише 15 — решта шум від сканерів безпеки. Після налаштування suppression rules і фільтрації за severity кількість хибних спрацювань знизилася до 5%.

Як GuardDuty аналізує дані: джерела та severity

GuardDuty аналізує три шари даних і видає findings трьох категорій. Як зазначається в документації AWS, „GuardDuty is a threat detection service that continuously monitors for malicious activity and unauthorized behavior“.

Скомпрометовані облікові дані

  • UnauthorizedAccess:IAMUser/ConsoleLoginSuccess.B — успішний вхід з аномальної IP або незвичної геолокації.
  • Recon:IAMUser/MaliciousIPCaller — спроби перерахування IAM-ресурсів з IP з TOR або відомих атакуючих мереж.

Скомпрометовані інстанси

  • Backdoor:EC2/C&CActivity.B — EC2 звертається до C2-інфраструктури.
  • CryptoCurrency:EC2/BitcoinTool.B!DNS — DNS-запити до майнінгових пулів (класика після компрометації через веб-вразливість).

Аномалії даних

  • Exfiltration:S3/AnomalousBehavior — раптовий великий обсяг завантажених даних з S3 за короткий час.
Severity Діапазон Приклад Дія
Low 1–3.9 PortProbe Ігнорувати або архівувати
Medium 4–6.9 MaliciousIPCaller Ручний розбір
High 7–8.9 C&CActivity Автоматичне блокування (WAF/SG)
Critical 9–10 ConsoleLoginSuccess Негайний алерт у PagerDuty

Як автоматизувати реагування на інциденти через EventBridge?

GuardDuty надсилає findings до EventBridge. Звідти — до SNS, Lambda, SQS. Мінімальний зв'язок для оповіщень:

resource "aws_cloudwatch_event_rule" "guardduty_high" {
  name = "guardduty-high-severity"
  description = "GuardDuty findings severity >= 7"
  event_pattern = jsonencode({
    source = ["aws.guardduty"]
    detail-type = ["GuardDuty Finding"]
    detail = {
      severity = [{
        numeric = [">=", 7]
      }]
    }
  })
}

resource "aws_cloudwatch_event_target" "sns" {
  rule = aws_cloudwatch_event_rule.guardduty_high.name
  target_id = "SendToSNS"
  arn = aws_sns_topic.security_alerts.arn
}

Severity у GuardDuty: Low (1–3.9), Medium (4–6.9), High (7–8.9), Critical (9–10). Для автоматичного блокування IP у WAF або Security Group реагуємо на High і вище. Medium — у чергу для ручного розбору.

Економічний ефект від впровадження

GuardDuty — один із найекономічніших інструментів безпеки. Для компанії з 10 акаунтами середня вартість GuardDuty становить близько $150 на місяць при помірному обсязі логів. А запобігання одному інциденту може заощадити сотні тисяч доларів. Порівняно з традиційними SIEM системами, GuardDuty виявляє загрози в 3 рази швидше, а вартість володіння — у 5 разів нижча. За даними AWS, впровадження окупається в середньому за 3 місяці. У нашій практиці клієнти відзначають зниження витрат на розслідування інцидентів у 4 рази.

Процес налаштування за 5 кроків

  1. Аудит поточних логів і конфігурації безпеки.
  2. Увімкнення детектора з потрібними джерелами (S3, Kubernetes, Malware Protection).
  3. Підключення multi-account через AWS Organizations із делегованим адміністратором.
  4. Створення EventBridge-правил для оповіщень (Slack, PagerDuty, Telegram).
  5. Написання suppression rules для білих IP і штатних сканерів.

Кожен крок супроводжується кодом на Terraform і документацією. Середній час впровадження — 2 дні. У результаті ви отримуєте працюючу систему з автоматичним реагуванням і чітким планом дій на кожен тип інциденту.

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

Документація Доступи Навчання Супровід
Інфраструктурний код Terraform, runbook по інцидентах IAM-ролі, Service Control Policies для member accounts Вебінар для команди по роботі з findings 2 тижні пост-релізної підтримки
Як протестувати роботу GuardDuty?

Для перевірки використовуйте генератор тестових знахідок: aws guardduty create-sample-findings --detector-id .... Це створить фейкові findings усіх типів і severity. Переконайтеся, що оповіщення приходять у потрібні канали, а suppression rules коректно архівують відомі події.

Terraform-конфігурація multi-account

В організаціях на AWS Organizations GuardDuty краще налаштовувати централізовано. Один account (Security або Audit) стає делегованим адміністратором і збирає findings з усіх member accounts.

# У management account
resource "aws_guardduty_organization_admin_account" "main" {
  admin_account_id = var.security_account_id
}

# У security account
resource "aws_guardduty_detector" "main" {
  enable = true
  datasources {
    s3_logs {
      enable = true
    }
    kubernetes {
      audit_logs {
        enable = true
      }
    }
    malware_protection {
      scan_ec2_instance_with_findings {
        ebs_volumes {
          enable = true
        }
      }
    }
  }
}

resource "aws_guardduty_organization_configuration" "main" {
  auto_enable_organization_members = "ALL"
  detector_id = aws_guardduty_detector.main.id
}

auto_enable_organization_members = "ALL" вмикає GuardDuty для нових акаунтів автоматично. Інакше кожен акаунт потрібно підключати вручну.

Suppression rules: як прибрати шум

Після ввімкнення GuardDuty перші тижні буде шум. Типовий приклад: пентест всередині інфраструктури генерує Recon:EC2/PortProbeUnprotectedPort. Для відомих джерел створюємо suppression rule:

resource "aws_guardduty_filter" "pentest_suppression" {
  detector_id = aws_guardduty_detector.main.id
  name = "suppress-internal-pentest"
  action = "ARCHIVE"
  rank = 1
  finding_criteria {
    criterion {
      field = "service.action.networkConnectionAction.remoteIpDetails.ipAddressV4"
      equals = ["10.0.1.50"] # IP пентест-сервера
    }
  }
}

Suppression не видаляє findings — вони архівуються. При потребі аудиту вся історія збережена.

Для налаштування оптимальних suppression rules під вашу інфраструктуру зв'яжіться з нами — ми проаналізуємо логи і запропонуємо готові правила. Замовте консультацію з впровадження GuardDuty на вашому проєкті.

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

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

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