domingo, 8 de fevereiro de 2015

Problemas com OSSEC Windows Agent em desktops em pt_BR

Geralmente servidores rodamos em inglês e possivelmente nunca teremos problemas com o a Interface gráfica do OSSEC Agent no Windows. Porém as estações de trabalho geralmente rodamos no nosso idioma nativo, ou seja, algo não inglês.

O ambiente testado foi windows 7 instalado em pt_BR. Em primeiro momento, o ossec gerava as seguintes mensagens de problemas de permissão:

"Unable to set permissions on new configuration file"  
"Unable to set permissions on auth key file".

Tentamos rodar como Administrador para verificar se não era algo de permissões e também modificamos as permissões da pasta sem sucesso.

Pesquisando na lista OSSEC, descobrimos que isso acontece devido a um problema de idiomas, pois o Agente executa 2 comandos, os que geram as messagens utilizando o usuário "administrator", sendo que caso não rode em inglês esse usuário não existe.

Olhando os logs podemos ver os comandos:

2015/02/07 11:58:04 ossec-agent: INFO: Service does not exist (OssecSvc) nothing to remove.
2015/02/07 11:58:05 ossec-agent: INFO: Successfully added to the service database.
2015/02/07 11:58:06 setup-windows: INFO: System is Vista or newer (Microsoft Windows 7 Business Edition Professional Service Pack 1 (Build 7601) - OSSEC HIDS v2.8).
2015/02/07 12:00:36 ossec-win32ui: INFO: Running the following command (C:\Windows\system32\cmd.exe /c echo y|cacls "new-ossec.conf" /T /G Administrators:f)
2015/02/07 12:00:59 ossec-win32ui: INFO: Running the following command (C:\Windows\system32\cmd.exe /c echo y|cacls "client.keys" /T /G Administrators:f)

Como resolver isso ?

Fazendo alguns testes, podemos adicionar a chave na mão no client.keys e modificar a configuração do ossec.conf onde é adicionar o IP do Servidor OSSEC manualmente, com isso rodando a Interface funcionara, ou basicamente no services recarregar o serviço OssecSvc.

A entrada no client.keys precisa ser o decode do base64 que é o export do manage_agents

[root@spookerlabs ~]# cd /var/ossec/bin/
[root@spookerlabs bin]# ./manage_agents 
****************************************
* OSSEC HIDS v2.8 Agent manager.     *
* The following options are available: *
****************************************
   (A)dd an agent (A).
   (E)xtract key for an agent (E).
   (L)ist already added agents (L).
   (R)emove an agent (R).
   (Q)uit.
Choose your action: A,E,L,R or Q: E

Available agents:
   ID: 001, Name: Sp0oKeRLabs-Home, IP: any
   ID: 002, Name: WinAWS, IP: any
   ID: 1000, Name: Teste_Blog, IP: 10.10.20.20
Provide the ID of the agent to extract the key (or '\q' to quit): 1000

Agent key information for '1000' is:
MTAwMCBUZXN0ZV9CbG9nIDEwLjEwLjIwLjIwIGQ3YjJiNDJhMDU5OGMxN2Y1ZjA
3MDJiMGQ5ZjA0Yjc5Yzk4NDczZDY2OTU1ODA3MjI1NjVhMDk5MTJhOWE1ZjY=
** Press ENTER to return to the main menu.

Para fazer o decode do base4
echo MTAwMCBUZXN0ZV9CbG9nIDEwLjEwLjIwLjIwIGQ3YjJiNDJhMDU5OGMxN2Y1ZjA3MDJiM
GQ5ZjA0Yjc5Yzk4NDczZDY2OTU1ODA3MjI1NjVhMDk5MTJhOWE1ZjY= | base64 --decode
 
O output do comando acima será

1000 Teste_Blog 10.10.20.20 d7b2b42a0598c17f5f0702b0d9f04b79c98473d6695580722565a09912a9a5f6

Essa linha é a entrada do client.keys. No ossec.conf basta adicionar a entrada do server como mencionei, na verdade basicamente é a única configuração caso queria usar agent.conf compartilhada que farei um post no futuro =)

Alguns dias atrás o pessoal também publicou um Beta do Agent 2.9 que resolve esse problema, porém eu ainda não fiz testes.

https://github.com/ossec/ossec-hids/releases/tag/2.9.0-beta02

Outra solução que vi nas discussões na lista foi a criação de um grupo Administrator, porém eu não gostei muito dessa solução.

"Since the code appears to be hardcoded in the executables I can't fix the problem at the roots. But I've created the group and added an administrative account I use to install OSSEC to that new 'Administrators' group and then the installation succeeded."

Lembrando que partir 24/02/2015 iniciaremos a turma do treinamento OSSEC HIDS online, caso tenha interesse entrem em contato spooker@gmail.com  e mais info http://spookerlabs.blogspot.com.br/2014/09/treinamento-intrusion-detection-snort.html .

Espero que ajude.

Happy Detection!

Rodrigo "Sp0oKeR" Montoro

Nenhum comentário: