Журналы Cloudwatch - аудит доступа пользователей

У меня есть список пользователей в .passwd а также access_log загружается в Cloudwatch. Мне нужно сделать еженедельный отчет, кто из этого списка делает доступ к серверу.

Есть ли способ автоматизировать это вместо проверки журналов вручную для каждого пользователя? Их несколько десятков.

2 ответа

NXLog может использовать CloudWatch API для получения журналов из Amazon Cloudwatch, а также здесь доступен сценарий Python.

Для автоматизации такой задачи у вас есть несколько вариантов.

  1. Пакетная обработка - загружайте логи из CloudWatch, а затем анализируйте их в поисках ваших пользователей.

    Ты можешь использовать aws logs describe-log-streams чтобы найти имена потоков журнала, отфильтруйте его по отметке времени, чтобы убедиться, что вы обрабатываете только последние.

    Для каждого вызова потока журнала aws logs get-log-events который даст вам фактические сообщения журнала, а затем проанализировать их, например, используя grep,

    Вместо того, чтобы использовать aws а также grep Вы можете написать небольшой загрузчик / парсер, например, в python или на другом языке по вашему выбору и используйте одну из библиотек AWS SDK для доступа к журналам.

  2. Оперативная обработка - собирайте и обрабатывайте соответствующие записи в журнале, как только они будут записаны в журналы CloudWatch. Вы можете настроить шаблон фильтра CloudWatch Logs и подать соответствующий access_log например, записи в функцию Lambda, которая будет отслеживать пользователей, получающих доступ к вашему веб-сайту. Вы можете сохранить результаты, например, в DynamoDB, один объект для каждого пользователя.

  3. Пойдите тяжелый вес и используйте ElasticSearch Service или Graylog или Splunk или какой-либо подобный сервис обработки журналов. Но это очень вероятно, излишнее для вашего варианта использования.

Надеюсь, это поможет:)

Другие вопросы по тегам