OSSEC Windows Agent fails

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

O ambiente testado foi windows 7 instalado em pt_PT. O ossec apresenta as seguintes mensagens de problemas de permissão:

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

Ao tentar executar como Administrador para verificar se não era algo com as permissões, sem sucesso novamente.

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 "administrator", sendo que no caso não executa em inglês este utilizador não existe.

Nos 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.
 
O ficheiro client.keys precisa de ter o decode do base64 que é o export do manage_agents (ficheiro na raiz da pasta ossec-agent)
 
[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 deve ser inserida no ficheiro client.keys (no caso de não existir deve ser criada).

 

No final do ficheiro ossec.conf adicionar a seguinte entrada

 
<!– END of Default Configuration. –>
<ossec_config>
  <client>
   <server-ip>10.10.20.20</server-ip>
  </client>
</ossec_config>
 

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.
 
 
"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."
 
Adaptado de http://spookerlabs.blogspot.pt/2015/02/problemas-com-ossec-windows-agent-em.html