Acesse, capture e consuma seus logs de auditoria
Quer você opere em um setor altamente regulamentado ou não, os logs de auditoria são uma forma essencial de acompanhar as diversas atividades que ocorrem no GitHub Enterprise Cloud (GHEC). Desde alterações de configuração até acesso à API e cada push ou pull de código, os logs de auditoria fornecem registros detalhados em vários níveis estruturais e é importante sabercomo acessar, capturar e interagir com esses dados desde o início.
Neste guia, você aprenderá:
Como visualizar os logs de auditoria
Quais dados estão incluídos nos logs de auditoria do GHEC
Como configurar os logs de auditoria
Como transmitir e exportar logs de auditoria para retenção e análise
Quais atividades os logs de auditoria executam?
O GitHub fornece logs de auditoria para diversas atividades em sua empresa e organização, incluindo:
Eventos de atividades, como alterações de configuração e eventos CRUD
Acesso de API a recursos, incluindo aqueles iniciados por integrações
Eventos Git, como efetuar push, fazer pull ou clonar código
O GitHub mantém a maioria dos eventos auditados em logs por um período configurável de até seis meses, enquanto os eventos do Git são retidos por sete dias. Os dados dos logs ficam disponíveis para administradores na IU do GitHub por meio da API e por streaming.
Os logs de auditoria estão disponíveis tanto no nível da conta Enterprise quanto no nível da organização.
Visualizando o log de auditoria
É possível visualizar um log de auditoria de eventos por tempo limitado, menos os eventos do Git, na interface do usuário nos níveis enterprise e organização em suas respectivas páginas de configurações. Os eventos Git estão disponíveis apenas por meio de exportação ou streaming do log de auditoria, e não da visualização da interface do usuário, devido ao alto volume de eventos associados a esta categoria. Por padrão, apenas os eventos dos últimos três meses são exibidos na interface do usuário. Eventos mais antigos de até seis meses podem ser visualizados especificando um intervalo de datas usando a sintaxe de pesquisa do GitHub com o parâmetro created
.
Se você desejar obter um registro de eventos de auditoria que persista por mais tempo do que esses limites, configure o streaming de log de auditoria ou automatize a exportação de log conforme descrito abaixo. O GitHub recomenda muito que os clientes Enterprise configurem alguma forma de streaming ou automação de log de auditoria para que possam reter essa fonte crítica de dados de segurança.
Streaming de log de auditoria
É possível configurar o streaming de logs de auditoria no nível da conta Enterprise para garantir que todos os dados capturados sejam mantidos em seu sistema de gerenciamento de logs preferido e retidos de acordo com as políticas existentes. Este é um método para acessar dados de eventos do Git. O log de auditoria retém eventos do Git por sete dias, mas desde que você faça streaming e pause por no máximo sete dias, não haverá perda desses dados.
Os benefícios do streaming de dados de auditoria incluem:
Exploração de dados. É possível examinar eventos transmitidos usando sua ferramenta preferida para consultar grandes quantidades de dados. O stream contém eventos de auditoria e eventos Git em toda a conta Enterprise.
Análise de dados. Os dados transmitidos são úteis para análises contínuas em grande escala, como para detecção de anomalias por meio de ferramentas como o Defender for DevOps e o aplicativo GitHub para Splunk.
Continuidade de dados. É possível pausar a transmissão por até sete dias sem perder nenhum dado de auditoria.
Retenção de dados. Você pode manter seus logs de auditoria exportados e dados de eventos Git pelo tempo que for necessário para relatórios e auditorias, bem como para uma resposta rápida em caso de incidente de segurança ou outra necessidade urgente de dados.
Atualmente, o GitHub oferece suporte à integração de streaming nativo com Azure Events Hubs, Datadog e Splunk, e também tem a capacidade de gravar diretamente no AWS S3, Azure Blob Storage e Google Cloud Storage.
Exportação de log de auditoria e API
Se o streaming de log de auditoria não funcionar para você ou se você precisar de uma exportação única de dados ou de um conjunto de eventos mais direcionado, também poderá usar a exportação de log de auditoria e as opções de API para recuperar dados de log de auditoria nos níveis enterprise e organização. A exportação do log de auditoria fornece um arquivo JSON ou CSV para download. Ao exportar eventos de log de auditoria, você poderá filtrar ainda mais sua exportação consultando um ou mais dos qualificadores compatíveis para filtrar eventos de log específicos.
Exportar os logs de auditoria também fornece outro método para acessar dados de eventos do Git. O log de auditoria retém eventos do Git para exportação por sete dias consecutivos. Os eventos Git são exportáveis apenas no formato JSON. Ao contrário dos dados do log de auditoria, você não pode consultar eventos específicos do Git para filtrar e exportar na interface do usuário do log de auditoria. Além disso, quando você exporta eventos Git, os eventos iniciados por meio do navegador da Web ou das APIs REST ou GraphQL não são incluídos. Por exemplo, quando um usuário mescla uma pull request no navegador da Web, as alterações são enviadas para o branch base, mas o evento Git para esse push não é incluído na exportação.
Os logs de auditoria enterprise e organização também podem ser consultados por meio da API REST. No entanto, se o seu objetivo final for monitoramento e relatórios de longo prazo sobre seus logs, o GitHub recomenda fortemente o uso da opção de streaming de log de auditoria pela API. Você evitará ter que se preocupar com autenticação de API e restrições de limite de taxa e poderá configurar seu monitoramento e relatórios exatamente como gostaria no sistema de dados de sua escolha.
Integramos nossos logs de auditoria com nossa plataforma de SIEM (gerenciamento de eventos e informações de segurança) para criar diversos alertas automatizados para eventos no GitHub. Por exemplo, usamos proteção de branch, mas também permitimos que essa proteção seja anulada por políticas em diferentes cenários, como um incidente de segurança ativo no qual você precise pular as verificações de CI ou fluxo de aprovação para responder. Essa integração fornece visibilidade e permite anular a proteção de branch com segurança.
Configuração do log de auditoria
Por padrão, os logs de auditoria do GHEC não exibem o endereço IP de origem dos eventos. Opcionalmente, para garantir a conformidade e responder às ameaças, é possível ativar uma opção de configuração nos níveis enterprise e/ou organização para exibir o endereço IP completo associado ao ator responsável por cada evento. Normalmente, os envolvidos são usuários, mas também podem ser aplicativos ou integrações. Se você optar por exibir endereços IP para sua conta Enterprise, os endereços IP aparecerão no log de auditoria de sua empresa e no log de auditoria de todas as organizações de propriedade da sua empresa.
Quando o recurso de exibição de endereço IP está ativado, o log de auditoria exibe um endereço IP quando uma pessoa na empresa interage com um recurso de propriedade da sua empresa ou com uma organização da sua empresa.
Embora os termos da conta do GitHub façam com que os usuários concordem com a coleta de seus endereços IP como condição para usar a plataforma, você é responsável por cumprir todas as obrigações legais que acompanham a visualização ou o armazenamento de endereços IP exibidos no log de auditoria da sua organização como parte da ativação do Recurso de exibição de endereço IP. Se você usar o modelo de usuário padrão, verá apenas um endereço IP registrado quando os usuários realizarem ações associadas à sua própria empresa ou a repositórios privados ou internos.
Também é possível desabilitar a exibição de endereços IP no log de auditoria a qualquer momento, se habilitado.
A seguir: Resumo do módulo de Fundamentos de administração e governança
Abordamos muita coisa nesses nove guias. Você está tomando notas? Não se preocupe, nós estamos, e forneceremos a você uma lista de itens importantes antes de avançarmos para o próximo módulo.