Instalar e configurar o encaminhador
Neste documento, descrevemos como instalar e configurar as Operações de segurança do Google nos sistemas Linux e Windows usando o Docker.
O encaminhador é um componente de software que pode são instalados em uma máquina ou dispositivo, como um servidor, na sua rede. Ele coleciona dados de registro e os encaminha para a instância do Google SecOps.
É possível usar o encaminhador para enviar registros diretamente do seu ambiente para o Google SecOps, sem a necessidade de buckets do Cloud ou APIs de terceiros para tipos de registro sem suporte. O encaminhador serve como uma solução pronta para implantação, eliminando a necessidade de integração manual com a API de transferência.
O Google SecOps oferece um contêiner do Docker para encaminhadores seguros implantação do Google Workspace. É possível executar e gerenciar o contêiner do Docker em máquinas físicas ou virtuais.
Requisitos do sistema
Confira a seguir recomendações gerais. Para recomendações específicas entre em contato com o suporte do Google SecOps.
Sistema Linux
O encaminhador é compatível com várias distribuições do Linux, como Debian, Ubuntu,
Red Hat e Suse. Para um desempenho ideal, é recomendável usar a versão 20.10.21
ou mais recente do Docker.
RAM: 1 GB de RAM é necessário para cada tipo de dados coletado que o Google SecOps aceita para ingestão. Por exemplo, se você especificar quatro coletores diferentes, vai precisar de 4 GB de RAM para coletar dados dos quatro.
CPU: duas CPUs são suficientes para processar até 10.000 eventos por segundo (EPS) em todos os tipos de dados. Se você prevê que o encaminhador processe mais de 10.000 EPS, alocam de 4 a 6 CPUs.
Disco: recomenda-se 20 GB de espaço em disco, independentemente da quantidade de dados alças de encaminhamento.
Sistema Windows
O encaminhador é compatível com o Microsoft Windows Server 2022. Para um desempenho ideal,
recomendamos usar a versão 20.10.21
ou mais recente do Docker.
RAM: é necessário 1,5 GB de RAM para cada tipo de dado coletado que O Google SecOps aceita para ingestão. Por exemplo, se você especificar quatro coletores diferentes, precisa de 6 GB de RAM para coletar os dados deles.
CPU: duas CPUs são suficientes para processar até 10.000 eventos por segundo (EPS) em todos os tipos de dados. Se você antecipar que o forwarder vai processar mais de 10.000 EPS, aloque de quatro a seis CPUs.
Disco: são recomendados 20 GB de espaço em disco, independentemente da quantidade de dados que o encaminhador processa.
Antes de começar
Antes de iniciar a implementação do encaminhador, considere o seguinte.
Intervalos de endereços IP do Google
Ao configurar o encaminhador, pode ser necessário ajustar as configurações de firewall que envolve especificar intervalos de endereços IP. Os intervalos de IP de domínio padrão usados As APIs e os serviços do Google são alocados de maneira dinâmica e mudam com frequência. Consulte Acessar intervalos de endereços IP do Google para mais informações.
Verificar a configuração do firewall
Se o contêiner de encaminhamento estiver atrás de firewalls ou proxies autenticados, você precisará abrir o acesso aos seguintes hosts:
Tipo de conexão | Destino | Port |
TCP | malachiteingestion-pa.googleapis.com | 443 |
TCP | asia-northeast1-malachiteingestion-pa.googleapis.com | 443 |
TCP | asia-south1-malachiteingestion-pa.googleapis.com | 443 |
TCP | asia-southeast1-malachiteingestion-pa.googleapis.com | 443 |
TCP | australia-southeast1-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west2-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west3-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west6-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west12-malachiteingestion-pa.googleapis.com | 443 |
TCP | me-central1-malachiteingestion-pa.googleapis.com | 443 |
TCP | me-central2-malachiteingestion-pa.googleapis.com | 443 |
TCP | me-west1-malachiteingestion-pa.googleapis.com | 443 |
TCP | northamerica-northeast2-malachiteingestion-pa.googleapis.com | 443 |
TCP | accounts.google.com | 443 |
TCP | gcr.io | 443 |
TCP | oauth2.googleapis.com | 443 |
TCP | storage.googleapis.com | 443 |
Planejar a implementação
Antes de começar a configurar o encaminhador, planeje a implementação. Isso vai alinhar suas fontes de dados e atributos de configuração com os objetivos de negócios, recursos de infraestrutura e requisitos de escalonabilidade.
Determinar os dados a serem ingeridos
Identifique as fontes de dados mais relevantes para o encaminhador a partir das seguintes opções:
Splunk: ideal se você já usa o Splunk para gerenciamento de registros.
Syslog: versátil para registros de sistemas e aplicativos de vários dispositivos.
Arquivo: flexível para ingerir qualquer arquivo de registro.
Pacote: oferece visibilidade profunda da rede ao capturar tráfego bruto.
Kafka: ideal para agregação de registros de alto volume e em tempo real de sistemas distribuídos.
WebProxy: ideal para insights sobre o tráfego da Web e o comportamento do usuário.
Determine a configuração
Antes de instalar o forwarder, determine os seguintes atributos principais para garantir uma implementação bem-sucedida.
Compactação de dados
A compactação de dados ou registros reduz o consumo de largura de banda da rede durante a transferência no Google SecOps. No entanto, isso pode aumentar o uso da CPU. O equilíbrio ideal entre a economia de largura de banda e o uso da CPU depende de vários fatores, como o tipo de registro, a compressibilidade dos dados, os recursos de CPU disponíveis e as restrições de largura de banda da rede.
Por exemplo, os registros baseados em texto geralmente são compactados bem e podem economizar bastante largura de banda com baixo uso da CPU, enquanto os dados criptografados ou binários podem não ser compactados de maneira eficiente e podem gerar um uso maior da CPU.
A compactação de registros fica desativada por padrão. Avalie o trade-off com base no seu ambiente específico e na natureza dos dados de registro.
Armazenamento em buffer de disco
É recomendável ativar o buffer de disco. O buffer de disco permite armazenar mensagens acumuladas no disco em vez de na memória, protegendo contra a perda de dados em caso de falhas do encaminhador ou do host. No entanto, ativar o armazenamento em buffer de disco pode afetar o desempenho.
Se o buffer de disco estiver desativado, o forwarder aloca 1 GB de memória (RAM) para cada tipo de registro (por exemplo, por conector). A memória máxima permitida para o disco é de 4 GB.
Filtros de expressão regular
Os filtros de expressão regular permitem filtrar registros com base em padrões correspondentes aos dados brutos. Os filtros usam a sintaxe RE2. Os filtros precisam incluir uma expressão regular e, opcionalmente, definir um comportamento quando houver uma correspondência.
Rótulos arbitrários
Os identificadores são usados para anexar metadados personalizados a registros usando pares de chave-valor. É possível configurar rótulos para um encaminhador inteiro ou em um coletor específico do encaminhador. Se ambos estiverem presentes, os rótulos no nível do coletor substituirão o encaminhador no nível dos rótulos se as chaves se sobrepuserem.
Namespaces
É possível usar rótulos de namespace para identificar registros de segmentos de rede distintos e para eliminar o conflito de endereços IP sobrepostos. É possível configurar um rótulo de namespace encaminhador inteiro ou dentro de um coletor específico dele. Se ambos forem presente, o namespace no nível do coletor substitui o namespace no nível do encaminhador.
Tipo de registro
O Google SecOps oferece suporte a vários tipos de registros. Para acessar uma lista completa, consulte Conjuntos de dados compatíveis.
Opções de balanceamento de carga e alta disponibilidade
O balanceamento de carga é compatível apenas com o tipo de coleta de syslog.
O encaminhador pode ser implantado em ambientes em que há um balanceador de carga da camada 4 instalado entre as instâncias de fonte de dados e encaminhador. Isso permite que você distribuir a coleta de registros por vários encaminhadores, aumentando a confiabilidade redirecionando os registros para um encaminhador diferente em caso de falha.
O encaminhador tem um servidor HTTP integrado que responde a verificações de integridade balanceadores de carga de rede e evita a perda de registros durante a inicialização e o encerramento. É possível configurar as opções de servidor HTTP, balanceamento de carga e alta disponibilidade para especificar tempo limite durações e códigos de status das verificações de integridade. Essa configuração é compatível com implantações baseadas em contêineres e balanceadores de carga.
Configuração | Descrição |
---|---|
Tempo limite otimizado | A quantidade de tempo em que novas conexões são aceitas após o
o encaminhador retorna um status unready em resposta a uma verificação de integridade.
Esse também é o tempo de espera entre o recebimento de um sinal para parar e
o início do desligamento do servidor. Isso dá ao
balanceador de carga tempo para remover o encaminhador do pool.Os valores válidos estão em segundos. Por exemplo, para especificar 10 segundos, digite 10.
Não são permitidos valores decimais.Padrão: 15 segundos |
Tempo limite de drenagem | O tempo que o encaminhador espera conexões ativas para
fechar por conta própria antes de serem fechados pelo
servidor. Por exemplo, para especificar 5 segundos, digite 5.
Valores decimais não são permitidos.Padrão: 10 segundos |
Port | O número da porta que o servidor HTTP detecta para verificações de integridade
do balanceador de carga. O valor precisa estar entre 1.024 e 65.535. Padrão: 8080 |
Endereço IP ou nome do host | O endereço IP ou um nome de host que pode ser resolvido em um endereço IP,
que o servidor precisa detectar. Padrão:0.0.0.0 (o sistema local) |
Tempo limite de leitura | Usado para ajustar o servidor HTTP. Normalmente, não precisa ser alterado
da configuração padrão. O tempo máximo permitido de leitura
toda a solicitação, tanto o cabeçalho quanto o corpo. É possível definir
nos campos tempo limite de leitura e cabeçalho
tempo limite. Padrão:3 segundos |
Tempo limite de leitura do cabeçalho | Usado para ajustar o servidor HTTP. Normalmente, não é necessário mudar
a configuração padrão. O tempo máximo permitido para ler
cabeçalhos de solicitação. O prazo de leitura da conexão é redefinido após
ler o cabeçalho. Padrão: 3 segundos |
Tempo limite de gravação | Usado para ajustar o servidor HTTP. Normalmente, não é necessário mudar
a configuração padrão. O tempo máximo permitido para enviar
uma resposta. Ele é redefinido quando um novo cabeçalho de solicitação é lido. Padrão: 3 segundos |
Tempo limite de inatividade | Usado para ajustar o servidor HTTP. Normalmente, não precisa ser alterado
da configuração padrão. O tempo máximo de espera
próxima solicitação quando conexões inativas estiverem ativadas. Se o campo tempo limite
de inatividade for definido como zero, o valor do campo tempo limite
de leitura será usado. Se ambos forem zero, o campo tempo limite de leitura
do cabeçalho será usado. Padrão:3 segundos |
Código de status disponível | O código de status que o encaminhador retorna quando uma verificação de atividade é
recebida e o encaminhador está disponível. Programadores de contêineres e
os orquestradores costumam enviar verificações
de atividade. Padrão: 204 |
Código de status "Pronto" | O código de status que o encaminhador retorna quando está pronto para aceitar
tráfego em uma das seguintes situações:
|
O código de status não está pronto | O código de status que o encaminhador retorna quando não está pronto para aceitar
do tráfego de entrada. Padrão: 503 |
Etapa 1: definir a configuração do encaminhador
Cada encaminhador implantado requer um arquivo de configuração. Um o arquivo de configuração do encaminhador especifica as configurações para as quais transferir os dados sua instância do Google SecOps. Recomendamos que você gere um novo arquivo de configuração para cada host para manter distinções claras entre os coletores associados a cada um.
O Google Cloud personaliza esses arquivos de configuração com metadados específicos para cada instância do encaminhador. Você pode modificar esses arquivos para que correspondam às suas requisitos específicos e incorporar detalhes sobre os tipos de registros que você quer a ingestão de dados.
É possível gerar um arquivo de configuração de encaminhador por meio da UI, por meio a API ou manualmente.
A interface fornece uma interface gráfica para configurar forwarders e é o método recomendado para criar uma configuração de forwarder. Essa é a maneira mais fácil de começar e não requer nenhuma e programação. Para fazer o download do arquivo de configuração usando a interface do usuário do Google SecOps, consulte Gerenciar configurações do forwarder pela interface do Google SecOps.
A API oferece uma maneira programática de configurar encaminhadores. Para fazer o download da configuração do encaminhador de forma programática, consulte a API Forwarder Management.
É possível criar o arquivo de configuração manualmente e adicionar as opções de configuração a ele. Recomendamos o uso do método da interface para gerar o arquivo de configuração e garantir a precisão e minimizar possíveis erros. Para gerar o arquivo manualmente, consulte Gerenciar o arquivo de configuração do encaminhador manualmente.
Etapa 2: instalar o Docker
Nesta seção, descrevemos como instalar o Docker no seu sistema.
Sistema Linux
O Docker é de código aberto, e toda a documentação necessária está disponível na comunidade de código aberto do Docker. Para instruções sobre a instalação do Docker, consulte Instalar o Docker Engine.
Para verificar se o Docker está instalado corretamente no sistema, execute o seguinte comando (requer privilégios elevados):
docker ps
A resposta a seguir indica que o Docker foi instalado corretamente:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Sistema Windows
Inicie o Windows PowerShell com privilégios de administrador e verifique a conectividade de rede com o Google Cloud seguindo estas etapas:
Clique em Iniciar.
Digite
PowerShell
e clique com o botão direito do mouse em Windows PowerShell.Clique em Executar como administrador.
Execute este comando:
C:\> test-netconnection <host> -port <port>
A saída do comando indica que o status de
TcpTestSucceeded
étrue
.Exemplo:
C:\> test-netconnection malachiteingestion-pa.googleapis.com -port 443 ComputerName : malachiteingestion-pa.googleapis.com RemoteAddress : 198.51.100.1 RemotePort : 443 InterfaceAlias : Ethernet SourceAddress : 203.0.113.1 TcpTestSucceeded : True
Para instalar o Docker, siga estas etapas no servidor Windows.
Ative o recurso de contêiner do Microsoft Windows:
Install-WindowsFeature containers -Restart
Execute o seguinte comando no modo de administrador do PowerShell para instalar o Docker CE:
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1 .\install-docker-ce.ps1
Execute o comando
docker ps
para testar a interface de linha de comando do Docker. Ele retorna uma lista de contêineres em execução. Se o Docker não estiver instalado corretamente, um erro será exibido.Para mais informações, consulte Começar: preparar janelas para contêineres.
Para implantações empresariais, instale o Mirantis Container Runtime, também conhecido como Docker EE.
Etapa 3: instalar o encaminhador
Esta seção descreve como instalar o forwarder usando um contêiner do Docker.
Etapa 3a: mover os arquivos de configuração para o diretório de encaminhador
A primeira etapa do processo de instalação do encaminhador envolve colocar os arquivos de configuração necessários no diretório de encaminhador designado.
Sistema Linux
Coloque os arquivos de configuração no diretório do encaminhador seguindo estas etapas:
Conecte-se ao host do encaminhador do Linux usando o terminal.
Mude para o diretório principal que executa o contêiner do Docker.
Crie um diretório para armazenar os arquivos de configuração do encaminhador.
mkdir /opt/chronicle/'CONFIG'
É possível substituir o nome do diretório,
CONFIG
, pelo nome que você quiser. Use o mesmo nome de diretório ao executar o comandodocker run
.Mude o diretório.
cd /opt/chronicle/config
Depois que os arquivos forem transferidos, verifique se os arquivos de configuração foram localizado no diretório
/opt/chronicle/config
.ls -l
Sistema Windows
Crie uma pasta C:\config
e coloque os arquivos de configuração nela. É possível
substituir o nome da pasta, config
, por qualquer nome. Use
o mesmo nome de pasta ao executar o comando docker run
.
Etapa 3b: executar o encaminhador
Depois que os arquivos de configuração são colocados no encaminhador designado você poderá iniciar o encaminhamento ou atualizar para a versão mais recente do contêiner do Google SecOps.
Se você estiver fazendo upgrade do contêiner, limpe todas as execuções anteriores do Docker usando executando os seguintes comandos.
docker stop 'cfps'
docker rm 'cfps'
No exemplo, o nome do contêiner do Docker é cfps
.
Para iniciar o encaminhador pela primeira vez ou atualizar para a versão mais recente do contêiner do Google SecOps, faça o seguinte:
Consiga a imagem mais recente do Docker no Google Cloud:
Sistema Linux:
docker pull gcr.io/chronicle-container/cf_production_stable
Sistema Windows:
docker pull gcr.io/chronicle-container/cf_production_stable_windows
Inicie o encaminhador no contêiner do Docker:
Sistema Linux:
docker run \ --detach \ --name cfps \ --restart=always \ --log-opt max-size=100m \ --log-opt max-file=10 \ --net=host \ -v /opt/chronicle/config:/opt/chronicle/external \ gcr.io/chronicle-container/cf_production_stable
Sistema Windows:
docker run ` --detach ` --name cfps ` --restart=always ` --log-opt max-size=100m ` --log-opt max-file=10 ` -p 0.0.0.0:10515-10520:10515-10520/udp ` -v C:\config\:C:/opt/chronicle/external ` gcr.io/chronicle-container/cf_production_stable_windows
As opções --log-opt
estão disponíveis desde a versão 1.13 do
Docker. Essas opções limitam o tamanho dos arquivos de registro do contêiner e
precisam ser usadas desde que a versão do Docker que você usa ofereça suporte a elas.
Gerenciar o encaminhador
As seções a seguir fornecem orientações sobre como gerenciar o encaminhador.
Ver registros do encaminhador
Para conferir os registros do encaminhador, execute o seguinte comando:
docker logs cfps
Para ver o caminho do arquivo em que os registros são armazenados, execute o seguinte comando:
docker inspect --format='{{.LogPath}}' CONTAINER_NAME
Para visualizar os registros em execução em tempo real, execute o seguinte comando:
docker logs cfps -f
Para armazenar os registros em um arquivo, execute o seguinte comando:
docker logs cfps &> logs.txt
Desinstalar o encaminhador
Os comandos do Docker a seguir ajudam a interromper, desinstalar ou remover o encaminhador.
Para interromper ou desinstalar o contêiner de encaminhador, execute o seguinte comando:
docker stop cfps
Para remover o contêiner do encaminhador, execute o seguinte comando:
docker rm cfps
Atualizar o encaminhador
O encaminhador consiste em dois componentes, cada um com um processo de atualização, conforme segue:
Pacote de encaminhamento: este componente é atualizado automaticamente, eliminando a necessidade de reiniciar.
Imagem do Docker do encaminhador: as atualizações desse componente são feitas manualmente. É necessário interromper a instância atual do forwarder e iniciar uma nova, conforme descrito na Etapa 3b.
Guias de ingestão de encaminhadores para conjuntos de dados específicos
Para saber como um determinado conjunto de dados é ingerido usando encaminhadores, consulte o seguintes:
- Instalar o encaminhador de eventos do Carbon Black
- Coletar registros de firewall do Cisco ASA
- Coletar registros do sensor Corelight
- Coletar registros do Fluentd
- Coletar registros de sistema Linux auditd e Unix
- Coletar dados do Microsoft Windows AD
- Coletar dados DHCP do Microsoft Windows
- Coletar dados de DNS do Microsoft Windows
- Coletar dados de eventos do Microsoft Windows
- Coletar dados do Microsoft Windows Sysmon
- Coletar registros do osquery
- Coletar registros do OSSEC
- Coletar registros de firewall da Palo Alto Networks
- Coletar registros do CIM do Splunk
- Coletar registros do Zeek