OSSEC HIDS - Instalação e configuração no CentOS 6.5

O presente artigo tem como principal objetivo, apresentar conceitos e funcionalidades do sistema OSSEC (Open Source Security) HIDS (Host-based Intrusion Detection System), bem como sua implementação no sistema CentOS 6.5 64 bits, permitindo assim, realizar um monitoramento simplificado e eficiente dos eventos que ocorrem nos servidores.

[ Hits: 14.047 ]

Por: sergio correa em 03/11/2014 | Blog: http://goo.gl/2sF3qT


Sobre o OSSEC



O OSSEC é um HIDS (Sistema de Detecção de Intrusão Baseado em Host), plataforma esta, que realiza um monitoramento centralizado através de gerenciamento flexível, que visa disponibilizar ao administrador maior controle sobre os sistemas, através da detecção e alertas, em níveis de camadas, sobre quaisquer modificações não autorizadas e comportamentos maliciosos.

Uma lista com as plataformas suportadas, está disponível no seguinte link:
Principais características do OSSEC:
  • Análise e verificação de integridade;
  • Monitoramento de Logs;
  • Detecção de Rootkits;
  • Alerta em tempo real;
  • Resposta ativa.

Tipos de instalação OSSEC

Antes de realizar o processo de instalação, faz-se necessário entender os tipos de configurações que são disponibilizadas pelo OSSEC, tais como local, agente ou servidor:
  • Servidor :: atua como centralizador, responsável por verificação de logs e eventos dos agentes, sendo um facilitador no processo administrativo de um grande número de hosts.
  • Agente :: responsável por coletar as informações dos sistemas que deseja-se monitorar.
  • Local :: tal configuração é a mais adequada para realizar o monitoramento em apenas um host, sem a necessidade de se configurar o servidor OSSEC.

Exemplo de cenário real

A imagem abaixo, demonstra um cenário onde o servidor OSSEC realiza o monitoramento dos eventos em distintos sistemas:
Linux: OSSEC HIDS - Instalação e configuração no CentOS 6.5

Instalação OSSEC (servidor/cliente)

Para iniciar o processo de instalação, será necessário realizar o download do OSSEC, conforme descrito nos passos abaixo (todos os comandos descritos são executados com o usuário root):

# cd /usr/local/src
# curl -O http://www.ossec.net/files/ossec-hids-2.7.tar.gz
# tar -xvf ossec-hids-2.7.tar.gz
# cd ossec-hids-2.7/
# ./install.sh

Obs.: caso venha a ser necessário realizar o download para diferentes arquiteturas, basta acessar o seguinte link.

Exemplo do processo de instalação do servidor OSSEC:

1. Selecionar a linguagem: br
2. Que tipo de instalação você deseja (servidor, cliente, local ou ajuda)? Servidor
3. Escolher onde instalar o OSSEC HIDS [/var/ossec]:
4. Deseja receber notificações por e-mail? (s/n) [s]: s
4.1. Qual é o seu endereço de e-mail? [email protected]
4.2. Qual é o IP/host de seu servidor SMTP? XXX.XXX.XXX.XXX
5. Deseja habilitar o sistema de verificação de integridade? (s/n) [s]: s
5.1. Deseja habilitar o sistema de detecção de rootkis? (s/n) [s]: s
5.2. Deseja habilitar o sistema de respostas automáticas? (s/n) [s]: s
5.3. Deseja habilitar o firewall-drop? (s/n) [s]: s
5.4. Lista de endereços que não serão bloqueados pela resposta automática:
  • XXX.XXX.XXX.XXX
  • XXX.XXX.XXX.XXX
5.5. Deseja adicionar mais algum endereço a essa lista? (s/n)? [n]: n
5.6. Deseja habilitar o syslog remoto (514 UDP)? (s/n) [s]: s

Obs.: havendo necessidade de realizar monitoramento de outro arquivo, basta modificar o ossec.conf e adicionar uma nova entrada para o mesmo. Quanto à resposta automática, a mesma permite a execução de um comando específico baseado nos eventos recebidos, podendo realizar o bloqueio do endereço de IP, por exemplo.

Obs.2: no item 4, modificar o XXX.XXX.XXX.XXX para o endereço IP do servidor SMTP, e no item 3.4, para os endereços IPs que não serão bloqueados pela resposta automática.

Exemplo do processo de instalação do agente OSSEC:

1. Selecionar a linguagem: br
2. Que tipo de instalação você deseja (servidor, cliente, local ou ajuda)? cliente
3. Escolha onde instalar o OSSEC HIDS [/var/ossec]:
4. Qual é o endereço de IP/hostname do servidor OSSEC HIDS?: XXX.XXX.XXX.XXX
4.1. Deseja habilitar o sistema de verificação de integridade? (s/n) [s]: s
4.2. Deseja habilitar o sistema de detecção de rootkis? (s/n) [s]: s
4.3. Deseja habilitar o sistema de respostas automáticas? (s/n) [s]: s

Obs. 1: no item 4, modificar o XXX.XXX.XXX.XXX para o endereço IP do servidor.

Obs. 2: o processo de instalação para o tipo local é bastante semelhante aos descritos acima. Em caso de dúvidas, consultar as referências no final deste artigo.

Comandos básicos do OSSEC

Iniciando o OSSEC:

# /var/ossec/bin/ossec-control start
Started ossec-maild...
Started ossec-execd...
Started ossec-analysisd...
Started ossec-logcollector...
Started ossec-remoted...
Started ossec-syscheckd...
Started ossec-monitord...
Completed.


Verificando status:

# /var/ossec/bin/ossec-control status
ossec-monitord is running...
ossec-logcollector is running...
ossec-remoted is running...
ossec-syscheckd is running...
ossec-analysisd is running...
ossec-maild is running...


Parando o OSSEC:

# /var/ossec/bin/ossec-control stop
Killing ossec-monitord ..
Killing ossec-logcollector ..
Killing ossec-remoted ..
Killing ossec-syscheckd ..
Killing ossec-analysisd ..
Killing ossec-maild ..
OSSEC HIDS Stopped


Geração de chaves OSSEC (servidor/cliente)

Para realizar a geração da key, é necessário executar o seguinte comando no servidor OSSEC:

# /var/ossec/bin/manage_agents

Onde a saída do mesmo, será a exibição das seguintes opções:

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


Neste caso, será selecionada a opção "A", conforme verificado abaixo (para adição de um agente):

  Choose your action: A,E,L,R or Q: A

Mediante a opção desejada, serão solicitadas as informações da máquina agente. Conforme descrito abaixo:

  Adding a new agent (use '\q' to return to the main menu).
  Please provide the following:
  * A name for the new agent: server01
  * The IP Address of the new agent: 192.168.1.200
  * An ID for the new agent[001]: 001


Após realizar a adição da key do novo agente ao servidor OSSEC, será necessário extrair a chave (o comando é idêntico ao descrito acima):

# /var/ossec/bin/manage_agents
(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.


Onde, neste caso, será selecionada a opção E, como pode ser observado abaixo:

  Choose your action: A,E,L,R or Q: E

Com a seleção da opção acima mencionada, será necessário informar a identificação do agente cadastrado no OSSEC Server (será exibida uma lista com os agentes cadastrados):

  Available agents:
  ID: 001, Name: server01, IP: 192.168.1.200
  Provide the ID of the agent to extract the key (or '\q' to quit): 001


Após selecionar a identificação do agente, será exibida uma mensagem semelhante a descrita abaixo:

  Agent key information for '001' is:
  MDAxIHNlcnZlcjAxIDE5Mi4xNjguMS4yMDAgNzA2ZGY3NGY5MTlmM2JhOGMyOTFjNWY5YmFjZWIwYzBiYjNmYWIyMmViZTc1NWU3MmM0NWM0OTNiNWEwNzliZZg=


Realizando o "import" da "key"

Será necessário a execução do seguinte comando no agente OSSEC (host onde o agente foi instalado):

# /var/ossec/bin/manage_agents

Selecionar a opção "I", para realizar o "import" da chave previamente gerada no servidor OSSEC.

  Choose your action: I or Q: I
  
  Paste it here (or '\q' to quit):
  MDAxIHNlcnZlcjAxIDE5Mi4xNjguMS4yMDAgNzA2ZGY3NGY5MTlmM2JhOGMyOTFjNWY5YmFjZWIwYzBiYjNmYWIyMmViZTc1NWU3MmM0NWM0OTNiNWEwNzliZZg==


Após realizar o "export" e "import" da key, pode ser verificada a lista de agentes conectados ao servidor através do comando mencionado abaixo:

# /var/ossec/bin/agent_control -l

Obtendo assim, uma saída semelhante a seguinte:

  ID: 001, Name: server01, IP: 192.168.1.200, Active
Linux: OSSEC HIDS - Instalação e configuração no CentOS 6.5

Conforme imagem descrita abaixo, pode ser verificado graficamente os eventos capturados pelo sistema OSSEC:
Linux: OSSEC HIDS - Instalação e configuração no CentOS 6.5

Como também, a escala diária dos eventos reportados:
Linux: OSSEC HIDS - Instalação e configuração no CentOS 6.5

Conclusão

Neste artigo, optou-se por expor conceitos e funcionalidades do sistema de detecção OSSEC, bem como sua implementação no CentOS 6.5 x64, tendo como finalidade, demonstrar suas características, tais como: análise de log, verificação de integridade, monitoramento de registro, detecção de rootkit, alerta em tempo real, resposta ativa, entre outros, de modo a permitir uma administração centralizada, facilitando o monitoramento de vários hosts.

Referências:
   

Páginas do artigo
   1. Sobre o OSSEC
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Recuperação do arquivo sudoers - comandos su e sudo não funcionam mais [Resolvido]

Sistemas e volumes criptografados e escondidos utilizando o TrueCrypt

Gateway autenticado com Apache, Iptables e CGI em shell

Quad9 - O que é e como usar

Netcat - O canivete suíco do TCP/IP

  
Comentários
[1] Comentário enviado por iudemar em 03/11/2014 - 12:03h

Muito bom, excelente sergio, parabéns, tenho certeza que quem seguir este tutorial, terá o Ossec rodando legal.

Uhuhuuh.

[2] Comentário enviado por brennosu em 03/11/2014 - 17:41h

Parabéns pelo Artigo!!

[3] Comentário enviado por dtux em 08/11/2014 - 22:28h

Como acessar a interface gráfica, como os da imagem?

[4] Comentário enviado por 1ns3ct1 em 09/11/2014 - 12:53h

Excelente artigo, fácil de ser seguido e com riqueza de detalhes, parabéns Sergio.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts