Gestão avançada do recoletor de registos
Este artigo descreve como configurar opções avançadas para Defender para Aplicativos de Nuvem recoletores de registos da cloud Discovery.
Defender para Aplicativos de Nuvem cloud discovery continua a focar-se nos formatos de firewall base. As alterações aos registos que estão a ser reencaminhados ao nível da firewall podem não continuar a funcionar ou podem causar problemas com a análise. Se encontrar erros deste tipo, recomendamos que continue a utilizar o formato de firewall base ou utilize as opções com o recoletor de registos personalizado. Para obter mais informações, veja Utilizar um analisador de registos personalizado.
Este artigo descreve como modificar a configuração do docker de deteção de cloud Defender para Aplicativos de Nuvem.
Modificar a configuração de FTP do recoletor de registos
Utilize estes passos nas secções seguintes para modificar a configuração da sua Defender para Aplicativos de Nuvem Docker de deteção de cloud.
Verificar a versão do recoletor de registos
Para verificar a versão do recoletor de registos atualmente instalado no sistema, ligue-se ao anfitrião do recoletor de registos e execute:
cat /var/adallom/versions | grep columbus-
Alterar a palavra-passe de FTP
Este procedimento descreve como alterar a palavra-passe utilizada para aceder aos ficheiros do recoletor de registos:
Ligue-se ao anfitrião do recoletor de registos e execute:
docker exec -it <collector name> pure-pw passwd <ftp user>
Introduza a sua nova palavra-passe e, em seguida, introduza-a novamente para confirmar.
Execute o seguinte comando para aplicar a alteração:
docker exec -it <collector name> pure-pw mkdb
Deverá conseguir ver os seguintes conteúdos:
run_logs
ssl_update
config.json
Personalizar ficheiros de certificado
Este procedimento descreve como personalizar os ficheiros de certificado utilizados para ligações seguras à instância do Docker de deteção de cloud.
Abra um cliente FTP e ligue-se ao anfitrião do recoletor de registos.
Navegue para o
ssl_update
diretório e carregue os novos ficheiros de certificado, incluindo os seguintes ficheiros:Tipo de recetor Arquivos necessários FTP - pure-ftpd.pem: inclui a chave e os dados do certificado Syslog - ca.pem: o certificado da autoridade de certificação que foi utilizado para assinar o certificado do cliente.
- server-key.pem e server-cert.pem: o certificado e a chave do recoletor de registos
As mensagens do Syslog são enviadas através de TLS para o recoletor de registos, o que requer autenticação TLS mútua, incluindo a autenticação dos certificados de cliente e de servidor.Os nomes de ficheiro são obrigatórios. Se algum dos ficheiros estiver em falta, a atualização falha.
Numa janela de terminal, execute:
docker exec -t <collector name> update_certs
O resultado deve ser semelhante ao seguinte código:
root@DockerPlayground:~# docker exec -t columbus update_certs rsyslog: stopped rsyslog: started ftpd: stopped ftpd: started root@DockerPlayground:~#
Numa janela de terminal, execute:
docker exec <collector name> chmod -R 700 /etc/ssl/private/
Ativar o recoletor de registos atrás de um proxy
Se estiver a executar atrás de um proxy, o recoletor de registos poderá ter problemas ao enviar dados para Defender para Aplicativos de Nuvem. Por exemplo, isto pode acontecer porque o recoletor de registos não confia na autoridade de certificados de raiz do proxy e não consegue ligar-se a Microsoft Defender para Aplicativos de Nuvem para obter a configuração ou carregar os registos recebidos.
Os seguintes procedimentos descrevem como ativar o recoletor de registos atrás de um proxy.
Dica
Também poderá querer alterar os certificados utilizados pelo recoletor de registos para syslog ou FTP ou resolve problemas de conectividade das firewalls e proxies para o recoletor de registos. Para obter mais informações, veja Modificar a configuração de FTP do recoletor de registos.
Configurar o recoletor de registos atrás de um proxy
Certifique-se de que executou os passos necessários para executar o Docker num computador Windows ou Linux e transferiu com êxito a imagem do Defender para Aplicativos de Nuvem Docker para o seu computador anfitrião.
Para obter mais informações, veja Configurar o carregamento automático de registos para relatórios contínuos.
Validar a criação do contentor do recoletor de registos do Docker
Verifique se o contentor foi criado e está em execução. Na shell, execute:
docker ps
Deverá ver algo semelhante ao seguinte resultado:
Copiar o certificado da AC de raiz do proxy para o contentor
A partir da máquina virtual, copie o certificado de AC para o contentor Defender para Aplicativos de Nuvem. No exemplo seguinte, o contentor tem o nome Ubuntu-LogCollector e o certificado de AC chama-se Proxy-CA.crt.
O comando seguinte copia o certificado para uma pasta no contentor em execução. Execute o comando no anfitrião Ubuntu:
docker cp Proxy-CA.crt Ubuntu-LogCollector:/var/adallom/ftp/discovery
Definir a configuração para funcionar com o certificado de AC
Aceda ao contentor. Execute o seguinte comando para abrir o bash no contentor do recoletor de registos:
docker exec -it Ubuntu-LogCollector /bin/bash
A partir de uma janela de bash dentro do contentor, aceda à pasta Java
jre
. Para evitar um erro de caminho relacionado com a versão, utilize o seguinte comando:cd "$(find /opt/jdk/*/jre -name "bin" -printf '%h' -quit)" cd bin
Importe o certificado de raiz que copiou anteriormente , da pasta de deteção para o Java KeyStore e defina uma palavra-passe.
A palavra-passe predefinida é
changeit
. Para obter mais informações, consulte Alterar a palavra-passe do Java KeyStore../keytool --import --noprompt --trustcacerts --alias SelfSignedCert --file /var/adallom/ftp/discovery/Proxy-CA.crt --keystore ../lib/security/cacerts --storepass <password>
Verifique se o certificado foi importado corretamente para o arquivo de chaves da AC. Execute o seguinte comando para procurar o alias que forneceu durante a importação (SelfSignedCert):
./keytool --list --keystore ../lib/security/cacerts | grep self
É apresentado o certificado de AC de proxy importado.
Restringir os endereços IP que enviam mensagens syslog para o recoletor de registos no Linux
Para proteger a imagem do Docker e garantir que apenas um endereço IP tem permissão para enviar as mensagens do syslog para o recoletor de registos, crie uma regra de tabela IP no computador anfitrião para permitir o tráfego de entrada e largue o tráfego que passa por portas específicas, como TCP/601 ou UDP/514, consoante a implementação.
O comando seguinte mostra um exemplo de como criar uma regra de tabela de IP que pode ser adicionada ao computador anfitrião. Esta regra de tabela permite que o endereço IP "1.2.3.4" se ligue ao contentor do recoletor de registos através da porta TCP 601 e remova todas as outras ligações provenientes de outros endereços IP através da mesma porta.
iptables -I DOCKER-USER \! --src 1.2.3.4 -m tcp -p tcp --dport 601 -j DROP
Definir o recoletor de registos para ser executado com a nova configuração
O contentor está agora pronto.
Execute o comando collector_config com o token de API que utilizou durante a criação do recoletor de registos. Por exemplo:
Quando executar o comando, especifique o seu próprio token de API, como collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}
Por exemplo:
O recoletor de registos consegue agora comunicar com Defender para Aplicativos de Nuvem. Depois de enviar dados para Defender para Aplicativos de Nuvem, o status do recoletor de registos muda de Bom Estado de Funcionamento para Ligado. Por exemplo:
Observação
Se tiver de atualizar a configuração do recoletor de registos, por exemplo, para adicionar ou remover uma origem de dados, normalmente tem de eliminar o contentor e executar os passos anteriores novamente.
Para evitar esta situação, pode executar novamente a ferramenta collector_config com o novo token de API gerado no portal do Defender para Aplicativos de Nuvem.
Alterar a palavra-passe do KeyStore java
Pare o servidor Java KeyStore.
Abra uma shell de bash dentro do contentor e aceda à pasta appdata/conf .
Para alterar a palavra-passe do KeyStore do servidor, execute:
keytool -storepasswd -new newStorePassword -keystore server.keystore -storepass changeit
A palavra-passe do servidor predefinida é
changeit
.Para alterar a palavra-passe do certificado, execute:
keytool -keypasswd -alias server -keypass changeit -new newKeyPassword -keystore server.keystore -storepass newStorePassword
O alias de servidor predefinido é servidor.
Num editor de texto, abra o ficheiro server-install\conf\server\secured-installed.properties . Adicione as seguintes linhas de código e, em seguida, guarde as alterações:
- Especifique a nova palavra-passe do Java KeyStore para o servidor:
server.keystore.password=newStorePassword
- Especifique a nova Palavra-passe do certificado para o servidor:
server.key.password=newKeyPassword
- Especifique a nova palavra-passe do Java KeyStore para o servidor:
Inicie o servidor.
Mover o recoletor de registos para uma partição de dados diferente no Linux
Muitas empresas têm o requisito de mover dados para uma partição separada. Este procedimento descreve como mover as imagens do recoletor de registos do Defender para Aplicativos de Nuvem Docker para uma partição de dados no seu anfitrião Linux.
Este procedimento descreve como mover dados para uma partição chamada arquivo de dados e pressupõe que já montou a partição. Por exemplo:
Adicionar e configurar uma nova partição no seu anfitrião Linux não está no âmbito deste guia.
Para mover o recoletor de registos para uma partição diferente:
Pare o serviço Docker. Executar:
service docker stop
Mova os dados do recoletor de registos para a nova partição. Executar:
mv /var/lib/docker /datastore/docker
Remova o diretório de armazenamento do Docker antigo (/var/lib/docker) e crie uma ligação simbólica para o novo diretório (/datastore/docker). Executar:
rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/
Inicie o serviço Docker. Executar:
service docker start
Opcionalmente, verifique a status do recoletor de registos. Executar:
docker ps
Inspecionar a utilização do disco do recoletor de registos no Linux
Este procedimento descreve como rever a utilização e a localização do disco do recoletor de registos.
Identifique o caminho para o diretório onde os dados do recoletor de registos estão armazenados. Executar:
docker inspect <collector_name> | grep WorkDir
Por exemplo:
Obtenha o tamanho no disco do recoletor de registos com o caminho identificado sem o sufixo "/work". Executar:
du -sh /var/lib/docker/overlay2/<log_collector_id>/
Observação
Se apenas precisar de saber o tamanho no disco, pode utilizar o seguinte comando:
docker ps -s
Mover o recoletor de registos para um anfitrião acessível
Em ambientes regulados, o acesso aos Hubs do Docker onde a imagem do recoletor de registos está alojada pode ser bloqueado. Isto impede Defender para Aplicativos de Nuvem de importar os dados do recoletor de registos e pode ser resolvido ao mover a imagem do recoletor de registos para um anfitrião acessível.
Este procedimento descreve como transferir a imagem do recoletor de registos através de um computador que tenha acesso a Docker Hub e importá-la para o anfitrião de destino.
A imagem transferida pode ser importada no seu repositório privado ou diretamente no seu anfitrião. Este procedimento descreve como transferir a imagem do recoletor de registos para o computador Windows e, em seguida, utilizar o WinSCP para mover o recoletor de registos para o anfitrião de destino.
Pré-requisitos
Certifique-se de que tem o Docker instalado no seu anfitrião. Por exemplo, utilize uma das seguintes transferências:
Após a transferência, utilize o guia de instalação offline do Docker para instalar o seu sistema operativo.
Inicie o processo ao exportar a imagem do recoletor de registos e, em seguida, importe a imagem para o anfitrião de destino.
Exportar a imagem do recoletor de registos do Docker Hub
Os seguintes procedimentos descrevem como exportar a imagem do recoletor de registos com o Linux ou o Windows.
Exportar a imagem no Linux
Num computador Linux com acesso ao Docker Hub, execute o seguinte comando para instalar o Docker e transferir a imagem do recoletor de registos.
curl -o /tmp/MCASInstallDocker.sh https://adaprodconsole.blob.core.windows.net/public-files/MCASInstallDocker.sh && chmod +x /tmp/MCASInstallDocker.sh; /tmp/MCASInstallDocker.sh
Exportar a imagem do recoletor de registos. Executar:
docker save --output /tmp/mcasLC.targ mcr.microsoft.com/mcas/logcollector chmod +r /tmp/mcasLC.tar
Importante
Certifique-se de que utiliza o parâmetro de saída para escrever num ficheiro em vez de STDOUT.
Transfira a imagem do recoletor de registos para o seu computador
C:\mcasLogCollector\
Windows com o WinSCP. Por exemplo:
Exportar a imagem no Windows
Num computador Windows 10 que tenha acesso ao Docker Hub, instale o Docker Desktop.
Transfira a imagem do recoletor de registos. Executar:
docker login -u caslogcollector -p C0llector3nthusiast docker pull mcr.microsoft.com/mcas/logcollector
Exportar a imagem do recoletor de registos. Executar:
docker save --output C:\mcasLogCollector\mcasLC.targ mcr.microsoft.com/mcas/logcollector
Importante
Certifique-se de que utiliza o parâmetro de saída para escrever num ficheiro em vez de STDOUT.
Importar e carregar a imagem do recoletor de registos para o anfitrião de destino
Este procedimento descreve como transferir a imagem exportada para o anfitrião de destino.
Carregue a imagem do recoletor de registos para o anfitrião de destino em
/tmp/
. Por exemplo:No anfitrião de destino, importe a imagem do recoletor de registos para o repositório de imagens do Docker. Executar:
docker load --input /tmp/mcasLC.tar
Por exemplo:
Opcionalmente, verifique se a importação foi concluída com êxito. Executar:
docker image ls
Por exemplo:
Agora, pode continuar a criar o recoletor de registos com a imagem do anfitrião de destino.
Definir portas personalizadas para recetores Syslog e FTP para recoletores de registos no Linux
Algumas organizações têm um requisito para definir portas personalizadas para serviços Syslog e FTP.
Quando adiciona uma origem de dados, Defender para Aplicativos de Nuvem recoletores de registos utilizam números de porta específicos para escutar registos de tráfego de uma ou mais origens de dados.
As seguintes listas de tabelas das portas de escuta predefinidas para recetores:
Tipo de recetor | Portas |
---|---|
Syslog | * UDP/514 - UDP/51x * TCP/601 - TCP/60x |
FTP | * TCP/21 |
Utilize os seguintes passos para definir portas personalizadas:
No Portal do Microsoft Defender, selecione Definições. Em seguida, selecione Aplicações na Cloud.
Em Cloud Discovery, selecione Carregamento automático de registos. Em seguida, selecione o separador Recoletores de registos .
No separador Recoletores de registos , adicione ou edite um recoletor de registos e, depois de atualizar as origens de dados, copie o comando executar a partir da caixa de diálogo. Por exemplo:
Se for utilizado conforme fornecido, o comando fornecido pelo assistente configura o recoletor de registos para utilizar as portas 514/udp e 515/udp. Por exemplo:
(echo <credentials>) | docker run --name LogCollector1 -p 514:514/udp -p 515:515/udp -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.0.0.100'" -e "PROXY=" -e "SYSLOG=true" -e "CONSOLE=machine.us2.portal.cloudappsecurity.com" -e "COLLECTOR=LogCollector1" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
Por exemplo:
Antes de utilizar o comando no computador anfitrião, modifique o comando para utilizar as portas personalizadas. Por exemplo, para configurar o recoletor de registos para utilizar as portas UDP 414 e 415, altere o comando da seguinte forma:
(echo <credentials>) | docker run --name LogCollector1 -p 414:514/udp -p 415:515/udp -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.0.0.100'" -e "PROXY=" -e "SYSLOG=true" -e "CONSOLE=machine.us2.portal.cloudappsecurity.com" -e "COLLECTOR=LogCollector1" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
Por exemplo:
Observação
Apenas o mapeamento do Docker é modificado. As portas atribuídas internamente não são alteradas, o que lhe permite escolher qualquer porta de escuta no anfitrião.
Validar o tráfego e o formato de registo recebidos pelo recoletor de registos no Linux
Ocasionalmente, poderá ter de investigar problemas como o seguinte:
- Os recoletores de registos estão a receber dados: confirme que os recoletores de registos estão a receber mensagens do Syslog das suas aplicações e não são bloqueados por firewalls.
- Os dados recebidos estão no formato de registo correto: valide o formato de registo para o ajudar a resolver erros de análise ao comparar o formato de registo esperado por Defender para Aplicativos de Nuvem e o que o dispositivo envia.
Utilize os seguintes passos para verificar se o tráfego é recebido pelos recoletores de registos:
Inicie sessão no servidor que aloja o contentor do Docker.
Confirme que o recoletor de registos está a receber mensagens do Syslog com qualquer um dos seguintes métodos:
Utilize o tcpdump ou um comando semelhante para analisar o tráfego de rede na porta 514:
tcpdump -Als0 port 514
Se tudo estiver configurado corretamente, deverá ver o tráfego de rede das suas aplicações. Por exemplo:
Utilize netcat ou um comando semelhante para analisar o tráfego de rede no computador anfitrião:
Instale o netcat e o wget.
Transfira um ficheiro de registo de exemplo a partir de Microsoft Defender XDR. Se necessário, deszipe o ficheiro de registo.
No Microsoft Defender XDR, em Aplicações na Cloud, selecioneAções> da Cloud Discovery>Criar snapshot relatório da Cloud Discovery.
Selecione a Origem de dados a partir da qual pretende carregar os ficheiros de registo.
Selecione Ver e verifique e, em seguida, clique com o botão direito do rato em Transferir registo de exemplo e copie a ligação do endereço do URL.
Selecione Fechar>Cancelar.
Executar:
wget <URL_address_to_sample_log>
Execute
netcat
para transmitir os dados em fluxo para o recoletor de registos.cat <path_to_downloaded_sample_log>.log | nc -w 0 localhost <datasource_port>
Se o recoletor estiver configurado corretamente, os dados de registo estão presentes no ficheiro de mensagens e, pouco depois, são carregados para o portal Defender para Aplicativos de Nuvem.
Inspecione os ficheiros relevantes no contentor do Defender para Aplicativos de Nuvem Docker:
Inicie sessão no contentor. Executar:
docker exec -it <Container Name> bash
Determine se as mensagens do Syslog estão a ser escritas no ficheiro de mensagens. Executar:
cat /var/adallom/syslog/<your_log_collector_port>/messages
Se tudo estiver configurado corretamente, deverá ver o tráfego de rede das suas aplicações. Por exemplo:
Observação
Este ficheiro continuará a ser escrito até atingir os 40 KB de tamanho. Por exemplo:
Reveja os registos que foram carregados para Defender para Aplicativos de Nuvem no
/var/adallom/discoverylogsbackup
diretório. Por exemplo:Valide o formato de registo recebido pelo recoletor de registos ao comparar as mensagens armazenadas no
/var/adallom/discoverylogsbackup
formato de registo de exemplo fornecido no assistente criar recoletor de registos Defender para Aplicativos de Nuvem.
Escrever o resultado do ficheiro de mensagens num ficheiro local
Se quiser utilizar o seu próprio registo de exemplo, mas não tiver acesso ao dispositivo, utilize os seguintes comandos para escrever a saída do ficheiro de mensagens, localizado no diretório syslog do recoletor de registos, num ficheiro local no anfitrião:
docker exec CustomerLogCollectorName tail -f -q /var/adallom/syslog/<datasource_port>/messages > /tmp/log.log
Compare o ficheiro de saída (/tmp/log.log
) com as mensagens armazenadas no /var/adallom/discoverylogsbackup
diretório.
Atualizar a versão do recoletor de registos
Ao atualizar o recoletor de registos:
- Antes de instalar a nova versão, certifique-se de que para o recoletor de registos e remove a imagem atual.
- Depois de instalar a nova versão, atualize os ficheiros de certificado.
Próximas etapas
Se tiver algum problema, estamos aqui para ajudar. Para obter assistência ou suporte para o problema do produto, abra um pedido de suporte.