Elasticsearch Externo Para Zenarmor
Pré-Requisitos
- Instalar o Ubuntu 24.04 LTS
- Memória: 8 GB
- CPU: 8 vCPU
- Disco: 80GB mínimo para instalação.
1. Renomear o servidor
2. Configurar IP fixo na placa de rede
cat << "EOF" > /etc/netplan/50-cloud-init.yaml
network:
version: 2
ethernets:
ens18:
addresses: [192.168.1.180/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
EOF
3. Instalar atualizações
4. Instalar o ElasticSearch
# instala o repositório do elasticsearch
sudo apt-get install -y apt-transport-https
curl -o - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
# instala o elasticsearch
# após a instalação, procure na tela a senha de superuser que foi gerada.
# exemplo: "The generated password for the elastic built-in superuser is : RsjTK2SY*3w79uZCZfpt"
sudo apt update && sudo apt install -y elasticsearch
# habilita e inicia o serviço do elasticsearch
sudo /bin/systemctl daemon-reload
sudo systemctl enable elasticsearch.service
# não inicialize o elasticsearch ainda.
# sudo systemctl start elasticsearch
# gerar um token para integrar com o kibana
# anote o token gerado para ser usado no próximo passo
sudo /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana --url https://127.0.0.1:9200
5. Abrir o Elasticsearch para conexões de rede
sudo sed -i 's/#network.host: 192.168.0.1/network.host: 0.0.0.0/' /etc/elasticsearch/elasticsearch.yml
6. Iniciar o Elasticsearch
7. Executar ajustes de memória para otimizar o processo do elasticsearch
# necessario pois o elasticsearch consome muita memória RAM
# essa opção define a quantidade de áreas de memória mapeáveis que um único processo pode criar.
# recomendação do fabricante.
sudo sysctl -w vm.max_map_count=262144
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo systemctl restart elasticsearch
8.Verificar se o Elasticsearch está operacional
# repare que vamos precisar da senha que foi gerada no comando de instalação do elasticsearch
curl -k -u 'elastic:<senha>' https://localhost:9200
9. Instalar o Kibana
10. Registrar o Kibana no Elasticsearch
# Quando executar o comando abaixo, será solicitado o token que foi gerado anteriormente para integração do kibana
sudo /usr/share/kibana/bin/kibana-setup
11. Abrir o kibana para conexões via rede
12. Habilita e inicializa o serviço do Kibana
# habilita e inicia o serviço do elasticsearch
sudo systemctl daemon-reload
sudo systemctl enable kibana
sudo systemctl start kibana
13. Acessar o Kibana pelo navegador
http://ip-do-servidor:5601/
# Login: elastic
# Senha: *gerada anteriormente na instalação do elastic
# repare também que o acesso é HTTP e não httpS
No OPNsense
1. Instalar o plugin zenarmor
- instale o plugin os-sunnyvalley
- instale o plugin os-sensei
2. Configurar o zenarmor
- Acesse qualquer menu do zenarmor para ser levado para a configuração inicial
- Responda as questões na tela
- Quando perguntado do banco de dados, selecione
remote elasticsearch - Preencha os dados da seguinte forma:
- URL: https://ip-do-servidor-elastic:9200
- user: elastic
- senha: senha gerada na instalação do elasticsearch
Visualização no Elasticsearch
- Volte na tela do kibana
- Acesse o menu Analytics > Discover
- Clique no menu All Logs, selecione create a data view
- Preencha seguinte forma:
- name: Zenarmor
- Index pattern:
zenarmor_* - Timestamp field: Start_Time
- Clique em Save data view to kibana
Pronto! O elasticserach já está recebendo os dados do Zenarmor.
Agora você pode prosseguir para a criação dos dashboards.
Configurando o Ciclo de Vida dos dados
- Acesse o menu lateral esquerdo Management > Stack Management
- Clique do lado esquerdo em Index Management
- Clique na guia Index Templates
- Clique em Create Template
- Name: zenarmor
- Index pattern: zenarmor_*
- Marque a opção Enable data retention
- Preencha o campo Data Retention com a quantidade de dias para manter estes registros. Exemplo: 365
- Na seção Allow auto create marque como True
- Clique em Next
- Na seção Component templates Clique em Next
- Na seção Index Settings Clique novamente em Next
- Na seção Mappings (optional) clique em Next
- Na seção Aliases clique em Next
- Na seção Review Template clique em Create Template.
Pronto! Foi criado um agrupamento dos templates dos logs do zenarmor e definido um período de retenção destes logs.
Agora você já está enviando os logs do zenarmor para o Elasticsearch.
Próximos Passos:
- Configure o nginx como proxy reverso para o Kibana.
- Emita certificado SSL Válido (let's encrypt) para o acesso ao dashboard do Kibana.
- Crie os dashboards e relatórios pertinentes à sua análise de dados.