Сбор журналов в CloudWatch
Разберитесь, как группы журналов и потоки собирают данные от служб.
«Сбор журналов в CloudWatch» — бесплатный урок AWS Security Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AWS Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AWS Security Academy содержит 4 уроков всего.
Что такое журналы CloudWatch
Amazon CloudWatch Logs — это управляемый сервис, который собирает, хранит и ищет данные журналов из ресурсов и приложений AWS. Вместо того чтобы храниться на отдельных серверах, где они могут быть потеряны после завершения работы экземпляра, журналы передаются в централизованное надёжное хранилище. Для специалиста по безопасности именно централизация имеет ключевое значение: невозможно обнаружить или расследовать то, чего Вы не видите.
Группы журналов
Группа журналов — это контейнер для связанных данных журналов, задающий общие параметры. Обычно одна группа журналов представляет одно приложение или сервис, например /aws/lambda/my-function. Для безопасности важнее всего два параметра: период хранения, определяющий, как долго журналы хранятся до автоматического удаления, и необязательный ключ KMS, используемый для шифрования данных в состоянии покоя.
Потоки журналов
Внутри группы журналов поток журналов — это последовательность событий из одного источника, например одного экземпляра EC2 или одной среды выполнения Lambda. События поступают с отметкой времени и сообщением. Разделение по потокам позволяет отделить источники друг от друга и отследить активность до конкретного источника, сохраняя при этом логическую группировку в одной группе журналов.
Унифицированный агент CloudWatch
Экземпляры EC2 и локальные серверы не отправляют журналы автоматически. На узле устанавливается унифицированный агент CloudWatch, который передаёт в CloudWatch Logs файлы журналов операционной системы, приложений и пользовательские файлы журналов. Он также собирает дополнительные показатели, например использование памяти и диска, недоступные гипервизору. Агенту нужна роль IAM, разрешающая запись журналов.
Встроенные интеграции сервисов
Многие сервисы AWS записывают журналы непосредственно в CloudWatch и не требуют агента. Lambda записывает вывод функции, журналы потоков VPC могут направляться в группу журналов, а Route 53 может записывать DNS-запросы. CloudTrail также может передавать события в CloudWatch Logs, помимо S3. На экзаменах часто проверяют, знаете ли Вы, какие источники работают без агента, а какие требуют его.
Хранение и стоимость
По умолчанию группы журналов хранят данные бесконечно, из-за чего счёт незаметно растёт. Для каждой группы журналов можно задать срок хранения — от одного дня до десяти лет. Требования безопасности и соответствия часто предусматривают длительное хранение аудиторских следов, тогда как шумные отладочные журналы можно быстро удалять. Такой баланс удовлетворит и аудиторов, и финансовую команду.
Шифрование данных журналов
CloudWatch Logs по умолчанию шифрует данные в состоянии покоя, однако для более строгого контроля можно связать группу журналов с управляемым клиентом ключом KMS. Это позволяет точно определить в политике ключа, кто может читать журналы, и создаёт проверяемую запись об использовании ключа. Особенно полезно это для конфиденциальных журналов, содержащих учётные данные или PII.
aws logs associate-kms-key \
--log-group-name /aws/lambda/payments \
--kms-key-id arn:aws:kms:us-east-1:111122223333:key/abcd-1234Фильтры подписки
Фильтр подписки передаёт подходящие события журналов почти в реальном времени в другое место назначения, например Lambda, Kinesis Data Streams или Amazon OpenSearch. Команды безопасности используют эту возможность, чтобы сразу после поступления передавать журналы в SIEM или централизованный аккаунт журналирования, а не экспортировать их пакетами позднее. Так CloudWatch Logs превращается в поток обработки данных в реальном времени.
Экспорт журналов в S3
Для долгосрочного недорогого архивирования можно экспортировать данные журналов в Amazon S3. S3 предлагает более дешёвое хранение, правила жизненного цикла для Glacier и Object Lock для защиты от изменений. Распространённый подход — недолгое хранение в CloudWatch для быстрого поиска и экспорт в защищённый сегментированный бакет S3 для многолетнего хранения в соответствии с требованиями.
CloudWatch Logs Insights
CloudWatch Logs Insights — это специализированный язык запросов для интерактивного поиска по группам журналов. Можно фильтровать, агрегировать и сортировать огромные объёмы данных без экспорта. Во время расследования этот инструмент быстро отвечает, например, на вопрос о том, какой IP-адрес вызвал больше всего ошибок, и служит быстрым первым шагом перед более глубоким анализом в Athena.
Защита потока журналирования
Сам поток журналирования тоже является целью атаки. Предоставляйте роли агента CloudWatch только разрешения logs:CreateLogStream и logs:PutLogEvents, не выдавая широких полномочий. Защитите группы журналов, чтобы злоумышленники не могли удалить их и скрыть активность, а критически важные журналы быстро передавайте в отдельный аккаунт. Журнал, которым Вы управляете от начала до конца, — это надёжное доказательство.
Быстрая проверка
Проверьте, насколько хорошо Вы усвоили сбор журналов CloudWatch.
Итоги
CloudWatch Logs централизует данные журналов в группах журналов, состоящих из потоков журналов. EC2 и локальным узлам нужен унифицированный агент, тогда как многие сервисы интегрируются напрямую. Задайте срок хранения для контроля затрат, подключите ключ KMS для конфиденциальных данных и используйте фильтры подписки или экспорт в S3 для передачи данных в SIEM или архив. Защита потока журналирования сохраняет надёжность доказательств.
Часто задаваемые вопросы
Урок «Сбор журналов в CloudWatch» бесплатный?
Да — полный текст урока «Сбор журналов в CloudWatch» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AWS Security Academy, подпишись на CoddyKit PRO. Курс AWS Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Сбор журналов в CloudWatch»?
Разберитесь, как группы журналов и потоки собирают данные от служб. Ты практикуешь AWS Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AWS Security Academy?
Предыдущий опыт не требуется. AWS Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Сбор журналов в CloudWatch»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AWS Security Academy?
Да. Каждый урок AWS Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Сбор журналов в CloudWatch
- Фильтры метрик для событий безопасности
- Создание сигналов тревоги и уведомлений
- Обнаружение использования корневой учётной записи