INTEGRITY Документация

Graylog

В этом руководстве объясняется, как анализировать Cloudflare Logs ↗ с помощью Graylog ↗.

Обзор

Если вы ещё не пользовались Cloudflare Logs, посетите нашу Документация по журналам , где вы найдёте дополнительные сведения. Чтобы включить журналы для своей учётной записи, обратитесь в вашу команду Cloudflare Customer Account Team.

Предварительные требования

Прежде чем отправлять данные журналов Cloudflare в Graylog, убедитесь, что вы:

Задача 1 - Подготовка

Прежде чем начать получать журналы Cloudflare в Graylog:

  1. Настройте Cloudflare Logpush для отправки журналов со всеми нужными полями в выбранный вами бакет AWS S3.
  2. Скачайте последнюю версию Интеграция Graylog для Cloudflare ↗.
  3. Распакуйте ZIP-файл.

После распаковки пакет интеграции включает:

Задача 2 - Создание и настройка функции AWS Lambda

  1. Перейдите на страницу службы Lambda в веб-консоли AWS.
  2. Создайте новую функцию Lambda и укажите имя функции по вашему выбору и Java-8 runtime.
  3. Создайте или укажите роль выполнения со следующими правами доступа. При необходимости вы можете дополнительно ограничить права доступа к ресурсам с учётом особенностей своей конфигурации.
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Policy",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup"
        "s3:GetObject",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:your-region:your-account-number:*",
        "arn:aws:s3:your-region::cloudflare-bucket-name/*"
      ]
    }
  ]
}

Примечание: Если ваш кластер Graylog работает в VPC, может потребоваться добавить AWSLambdaVPCAccessExecutionRole управляемую роль, которая позволит функции Lambda направлять трафик в VPC.

  1. После создания функции Lambda загрузите код функции graylog-s3-lambda.jar загружен в Задача 1.  Specify the following method for the Handler: org.graylog.integrations.s3.GraylogS3Function::handleRequest.

  2. Чтобы настроить функцию Lambda для вашего кластера Graylog, укажите как минимум следующие обязательные переменные окружения:

    • CONTENT_TYPE (обязательно) - application/x.cloudflare.log значение, указывающее, что функция Lambda будет обрабатывать журналы Cloudflare.

    • COMPRESSION_TYPE (обязательно ) - gzip так как логи Cloudflare сжаты в формате gzip.

    • GRAYLOG_HOST (обязательно) - имя хоста или IP-адрес хоста Graylog либо балансировщика нагрузки кластера.

    • GRAYLOG_PORT (необязательно, по умолчанию 12201) - порт службы Graylog.

    • CONNECT_TIMEOUT (необязательно, по умолчанию 10000) - количество миллисекунд ожидания установления соединения.

    • LOG_LEVEL (необязательно, по умолчанию INFO) - уровень детализации журналов CloudWatch, создаваемых функцией Lambda. Поддерживаются значения OFF, ERROR, WARN, INFO, DEBUG, TRACE, а также ALL. Чтобы упростить диагностику проблем, повысьте уровень логирования. См. Определение пользовательских уровней журналирования в коде ↗, где это описано подробнее.

    • CLOUDFLARE_LOGPUSH_MESSAGE_FIELDS (необязательно, по умолчанию all) - поля, которые нужно разобрать из сообщения. Укажите в виде списка имён полей через запятую.

    • CLOUDFLARE_LOGPUSH_MESSAGE_SUMMARY_FIELDS (необязательно, по умолчанию ClientRequestHost, ClientRequestPath, OriginIP, ClientSrcPort, EdgeServerIP, EdgeResponseBytes) - поля, которые нужно включить в сводку сообщения, отображаемую над разобранными полями в верхней части каждого сообщения в Graylog. Укажите в виде списка имён полей через запятую. Список обязательных переменных окружения Graylog

      Примечание: Дополнительные переменные конфигурации для тонкой настройки функции доступны в репозитории Graylog Lambda S3 README ↗ файл.

  3. Создайте AWS S3 Trigger для функции Lambda, чтобы она могла обрабатывать каждое записываемое поле журнала Cloudflare. Укажите тот же бакет S3, что и в Задача 1 и выберите Все события создания объектов опцию. Здесь же можно применить и любые другие нужные фильтры файлов. Диалоговое окно добавления триггера с примером AWS S3 Trigger

  4. Если ваш кластер Graylog находится в VPC, вам нужно будет настроить функцию Lambda для доступа к ресурсам в VPC ↗. Также может потребоваться создать Конечная точка VPC для службы AWS S3 ↗. Это позволяет функции Lambda обращаться к S3 напрямую при работе в VPC.

Задача 3 - Импорт пакета содержимого в Graylog

Импорт пакета содержимого Cloudflare Logpush в Graylog загружает конфигурацию, необходимую для приёма журналов Cloudflare, и устанавливает дашборды Cloudflare.

Вместе с пакетом контента устанавливаются следующие компоненты:

Чтобы импортировать пакет содержимого:

  1. Найдите cloudflare-logpush-content-pack.json файл, который вы скачали и распаковали в Задача 1.

  2. В Graylog перейдите в Система > Content Packs и нажмите Загрузить в правом верхнем углу. После загрузки пакет содержимого Cloudflare Logpush появится в списке загруженных пакетов содержимого. Загрузка пакетов содержимого Graylog

  3. Нажмите Установить. Установка пакетов содержимого для Graylog

  4. В Установить диалоговом окне при необходимости введите комментарий к установке и убедитесь, что для всех параметров конфигурации указаны правильные значения.

    • Путь к базе данных MaxMind™️ обязателен, она доступна по адресу https://dev.maxmind.com/geoip/ ↗.
    • Путь также обязателен для Threat Lookup файл CSV, извлечённый за Задача 1.
    Добавление комментария к установке и настройка параметров на экране Install Dialog
  5. После установки ваш кластер Graylog будет готов принимать журналы Cloudflare от функции Lambda.

См. Graylog Lambda S3 README ↗ , где приведены дополнительные сведения и советы по устранению неполадок.

Задача 4 - Просмотр дашбордов Cloudflare

Дашборд можно посмотреть в Страница интеграции Graylog с Cloudflare ↗. Дашборды включают:

Cloudflare - Snapshot

Здесь собран краткий обзор самых важных метрик ваших сайтов и приложений в сети Cloudflare. С помощью фильтров дашборда можно детальнее анализировать эти данные, изучая события и тренды.

С помощью этого дашборда вы можете:

Визуализация метрик логов Cloudflare в дашборде Graylog

Cloudflare - Security

Этот обзор показывает данные об угрозах для ваших сайтов и приложений: количество остановленных угроз, угрозы во времени, страны с наибольшим количеством угроз и другое.

С помощью этого дашборда вы можете:

Визуализация анализа трафика угроз Cloudflare в дашборде Graylog

Cloudflare - Performance

Этот дашборд помогает выявлять и устранять проблемы производительности и ошибки настройки кеширования. Метрики включают общую и кешированную пропускную способность, сэкономленную пропускную способность, общее количество запросов, коэффициент кеширования, самые частые некешируемые запросы и другое.

С помощью этого дашборда вы можете:

Визуализация метрик Cloudflare Performance в дашборде Graylog

Cloudflare - Reliability

Этот дашборд показывает данные о доступности ваших сайтов и приложений. Метрики включают долю ошибок в ответах origin-сервера, статусы ответов origin-сервера во времени, процент ошибок 3xx/4xx/5xx во времени и другое.

С помощью этого дашборда вы можете:

Дашборд Graylog для Cloudflare Reliability

Cloudflare - Bots

Используйте этот дашборд, чтобы обнаруживать и блокировать вредоносных ботов, предотвращая credential stuffing, спам-регистрации, скрапинг контента, мошенничество с кликами, скупку товарных запасов и другие вредоносные действия.

С помощью этого дашборда вы можете:

Дашборд Graylog для Cloudflare Bot Management