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.
"
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