Назад | Перейти на главную страницу

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

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

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

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 Logs. Вы можете настроить Шаблон фильтра журналов CloudWatch и накормите соответствие access_log записи, например к Лямбда-функция который будет отслеживать пользователей, заходящих на ваш сайт. Вы можете сохранить результаты, например, в DynamoDB, по одному объекту для каждого пользователя.

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

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