Управление производственным доступом для GoogleCloud с использованием Stackdriver - PullRequest
0 голосов
/ 05 февраля 2020

Как люди внедрили управление производственным доступом (т. Е. Регистрируют и сообщают о доступе к вычислительным экземплярам службами и людьми через S SH). Наша цель состоит в том, чтобы перенаправлять все входы пользователей в систему SIEM в разных проектах и ​​в идеале избегать указания c приемников Stackdriver (и соответствующих настроек и обслуживания).

Мы попробовали следующее:

  • Включена автоматическая пересылка журнала в Fluentd, поскольку по умолчанию выполняется только системный журнал
  • Включены приемники уровня организации, которые отправляют topi c (для пересылки в SIEM через HTTP-подписчика), которые включают все children
  • Может видеть syslog / auth на уровне проекта для образов не-Контейнерных ОС (например, Ubuntu)

Проблемы, которые мы видим: - Ограниченная документация по формату фильтра на уровне организации (похоже, отличается от уровня проекта для таких вещей, как logName). Функция log_id действительно работает - некоторые типы журналов появляются на уровне организации (например, активность cloudapis), но syslog, похоже, не обрабатывается. - Контейнерная ОС, по-видимому, не включает пересылку ssh / sudo по умолчанию в fluentd (или я не нашел, какой тип журнала имеет эти данные). Я вижу это зарегистрировано в journalctl на тестовом узле

У кого-нибудь есть последовательный способ достигнуть этого?

Ответы [ 2 ]

0 голосов
/ 16 марта 2020

Для решения этой проблемы можно экспортировать ваш приемник журналов в BigQuery . Обратите внимание, что настройка приемника для экспорта журналов BigQuery для всех проектов в Организации содержит параметр, установленный на 'False' , поле 'includeChildren' должно быть установлено на 'True'. Если установлено значение true, журналы из всех проектов, папок и счетов, содержащихся в родительском ресурсе приемника, также становятся доступными для экспорта. Если задано значение false, для экспорта доступны только журналы, принадлежащие родительскому ресурсу приемника. Затем вы должны быть в состоянии отфильтровать журналы, необходимые из BigQuery.

Еще один способ сделать это - написать сценарий, перечислив все проекты с помощью команды: gcloud projects list | tail -n +2 | awk -F" " '{print $1}' Это можно превратить в массив, который может итерации и журналы для каждого проекта могут быть получены с помощью команды, аналогичной приведенной в этом do c.

Не уверен, что все это может помочь как-то решить или обойти Ваш вопрос, надеюсь, что так.

0 голосов
/ 27 февраля 2020

В случае, если кто-то еще сталкивался с этим, мы обнаружили следующее:

  • Можно настроить приемники Stackdriver на уровне организации через CLI. Не отображается через Cloud Console UI, а также CLI не позволяет перечислять типы журналов в org
  • . В приемниках могут быть определены фильтры в дополнение к logName, но формат может отличаться от фильтров уровня проекта
  • Вам необходимо включить ведение журнала авторизации в fluentd, который задается платформой c (т. Е. Один процесс для google-fluentd в Ubuntu отличается от настройки стека-драйвера в ОС контейнера)
  • SSHD по какой-то причине не регистрирует исходный Журнал с указанием пользователя и IP-адреса через системный журнал (и, следовательно, в свободном доступе), и, следовательно, невидим для Stackdriver
  • Использование или организация приемников по темам - это дочерний проект с подпиской для пересылки в выбранную SIEM, хорошо работает

Все еще пытаюсь получить логи команд gcloud s sh

...