Na Swimlane, adoramos automatizar, mas também adoramos criar e compartilhar software de código aberto (OSS) para ajudar equipes de segurança. Temos orgulho de anunciar o lançamento de um novo projeto de código aberto chamado elk-tls-docker, que facilita o teste e a implantação do Elastic Stack, automatizando a criação de diversas soluções de software de código aberto para Elastic.
O Elk-tls-docker auxilia na configuração e criação de um Elastic Stack usando certificados autoassinados ou certificados Let's Encrypt (com SWAG). Este projeto foi desenvolvido para que você possa testar e usar recursos integrados do Elastic Security, como detecções, sinais, casos, Elastic Endpoint e outros recursos.
Este projeto docker-compose criará os seguintes contêineres Elastic baseados na versão 7.9.2:
- Elasticsearch
- Logstash
- Kibana
- Packetbeat
- Filebeat
Existem dois modos diferentes nos quais você pode executar o elk-tls-docker. O primeiro, e mais comum, é o modo de desenvolvimento padrão. O segundo é um ambiente de pseudo-produção. A principal diferença entre esses dois modos é que o modo de desenvolvimento gera certificados autoassinados, enquanto o modo de "produção" gera certificados usando o Let's Encrypt.
Ambiente de desenvolvimento
Por padrão, o elk-tls-docker ajudará na configuração de um ambiente de desenvolvimento para testar alguns dos recursos incríveis do Segurança elástica. A primeira coisa que você precisa fazer é clonar ou copiar o repositório para o seu sistema local:
git clone https://github.com/swimlane/elk-tls-docker.git elk-tls-docker cd elk-tls-docker
Você precisará do repositório completo para usar o elk-tls-docker, pois todos os arquivos são necessários.
Além do repositório, você precisará garantir que o Docker e o Docker Compose também estejam instalados. Você pode instalá-los usando o apt-get e seguindo as instruções. estas instruções.
Você também precisará copiar o documento fornecido. .env-exemplo arquivo e crie um novo .env arquivo.
Após configurar isso (ou usar os valores padrão), execute o seguinte comando para gerar certificados autoassinados:
docker-compose -f docker-compose.setup.yml run --rm certs
Em seguida, execute o seguinte comando para configurar seu ambiente de desenvolvimento:
docker-compose up -d
Após o docker-compose baixar todas as imagens necessárias e criar os contêineres, você pode acessar o Kibana pelo seguinte endereço:
Observe que pode levar alguns minutos, mas assim que o Kibana iniciar, você será direcionado para a página de login, onde deverá inserir o nome de usuário e a senha fornecidos. .env arquivo
Pronto, agora você tem um ambiente de desenvolvimento para o Elastic Security!
Let's Encrypt e ambiente de pseudo-produção
Você também pode utilizar Vamos criptografar certificados para um ambiente semelhante ao de produção e acesso externo ao Kibana, Elasticsearch ou outros serviços, mas existem alguns outros requisitos:
- Um nome de domínio registrado
- Registros DNS configurados corretamente e apontando para o IP do seu host.
- Servidores de nomes apontando para seu ambiente de hospedagem
- Um registro que aponta para o endereço IP do seu sistema.
- Registro CNAME criado para configuração de subdomínio
- Um sistema host Ubuntu ou outro que possa executar Docker e Docker Compose.
Os princípios básicos são os mesmos, mas existem etapas adicionais que devem ser seguidas. Felizmente, documentei esses processos em um alto nível aqui e forneceu um exemplo passo a passo aqui. Os passos básicos são:
- Configure os registros DNS para apontar para o endereço IP do seu host.
- Servidores de nomes apontando para seu ambiente de hospedagem
- Um registro apontando para o endereço IP do seu sistema.
- Registro CNAME criado para configuração de subdomínio
- Modifique o seu .env por:
- Especificando o nome do seu DOMÍNIO
- Especificando o valor SUBDOMAIN ou SUBFOLDER
- Definir STAGING como falso
- Execute os seguintes comandos nesta ordem:
docker-compose -f docker-compose.setup.yml run --rm certs docker-compose -f docker-compose.production.yml up docker-compose down ou pressione ctrl + x/c docker-compose -f docker-compose.setup.yml run --rm certs # yes again docker-compose -f docker-compose.production.yml up -d # yes again
Pronto! Agora você deve conseguir acessar sua instância do Kibana externamente em https://{subdomain}.{domain.com}
Configuração adicional
Depois de configurar e executar um ambiente, você pode querer realizar algumas configurações adicionais e opcionais para aproveitar ao máximo alguns dos excelentes recursos do Elastic Security:
-
Criando um novo superusuário: Por padrão, o elk-tls-docker usa o usuário integrado. elástico e a senha fornecida que você definiu no seu arquivo .env. Se desejar criar uma conta de Superusuário adicional ou diferente, você pode utilizar o script Python fornecido Para isso, você deve garantir que o _HOSPEDAR e _SENHA estão configuradas corretamente e informações adicionais estão presentes. _CORPO está configurado de acordo com suas necessidades.
-
Modificar mapeamento de índice: Ao utilizar o Elastic Security no Kibana, os relatórios integrados são mapeados para campos de dados do Elastic Common Schema, mas você pode precisar modificar os mapeamentos de chave de índice das detecções integradas. Com base em testes e outras pesquisas, você pode modificar os campos mapeados do índice usando o roteiro fornecido.
-
Enviar dados de teste para o Elasticsearch: Se você quiser começar a testar o elk-tls-docker imediatamente, pode usar o roteiro fornecido para enviar dados para o Elasticsearch utilizando outro projeto de código aberto nosso chamado soc-faker. Você pode transmitir quantos quiser. falso Você pode enviar documentos Elastic Common Schema conforme desejar; basta modificar o script com o número de documentos a serem enviados, bem como suas credenciais para o Elasticsearch.
-
Enviar dados de teste para o Filebeat: Por fim, você também pode testar se o Elastic Filebeat está configurado corretamente enviando dados de texto (ou um arquivo) via sockets diretamente para o Filebeat, que serão processados pelo Logstash e, eventualmente, pelo Elasticsearch. Confira o script fornecido aqui.
Obrigado por conferir o elk-tls-docker! Esperamos que ele ajude você a configurar e começar a testar o Elastic Stack rapidinho!
Veja a Turbina Swimlane em ação.
Agende uma demonstração ao vivo do Swimlane Turbine com nossos especialistas! Descubra como nossa plataforma de automação de segurança com IA pode ajudar você a resolver os problemas mais complexos em toda a sua organização de segurança.

