Teste sua infraestrutura com InSpec: auditoria automatizada e eficiente
Você conhece a ferramenta da Chef, o InSpec? Vamos realizar um teste básico de infraestrutura utilizando InSpec!
Muita das vezes quando trabalhamos com integração continua não temos a certeza que nossa configuração está sendo realizada com sucesso dentro do nosso ambiente, para nos auxiliar usamos uma ferramenta de Compliance as a Code como o InSpec.
O InSpec é uma ferramenta para teste e auditoria de aplicações e infraestrutura, que pode ser resumido como a capacidade organizacional de automatizar a implementação, verificação, correção, monitoramento e relatório do status de conformidade.
Benefícios do InSpec:
- Agora você consegue saber qual e o estado atual da sua infra independente da situação.
- Possui um shell interativo podendo executar testes rápidos.
- Funciona no Linux, Mac e Windows.
Ambiente:
- Caso vocês queiram replicar o ambinte segue o arquivo de configuração:
Vagrantfile:
BOX_SRV = "debian/buster64"
Vagrant.configure("2") do |config|
config.vm.define "server1" do |server1|
server1.vm.box = BOX_SRV
server1.vm.network "private_network", ip: "10.5.25.10"
server1.vm.provision "shell",
inline: "wget https://packages.chef.io/files/stable/inspec/4.21.3/debian/10/inspec_4.21.3-1_amd64.deb ; dpkg -i inspec_4.21.3-1_amd64.deb"
server1.vm.provision "shell",
inline: "apt update; apt install apache2 -y ; echo \"Webserver com Inspec\" > /var/www/html/index.html"
end
end
Instalação:
InSpec Shell:
Recursos:
Controles:
- Usando controles o InSpec irá verificar todos os elementos que você desejar.
Profiles:
- Pacote apache2 está instalado?
- Serviço apache2 em execução?
- A pagina inicial do Web server tem o conteúdo “Webserver com InSpec”?
- Porta 80 Aberta no servidor?
Webserver.rb:
title 'Testes de webserver'
control 'Pacote Webserver' do
title 'Verificando a instalação do Apache2'
describe package('apache2') do
it { should be_installed}
its('version') { should cmp '2.4.38-3+deb10u3' }
end
end
control 'Serviço Webserver' do
title 'Verificando se o apache está em execução'
describe service('apache2') do
it { should be_installed }
it { should be_enabled }
it { should be_running }
end
end
control 'Arquivo Webserver' do
title 'Verificando pagina do Webserver'
describe file('/var/www/html/index.html') do
it { should be_file}
its('content') { should include 'Webserver com Inspec'}
end
end
control 'Porta Webserver' do
title 'Verificando Porta'
describe port('80') do
it { should be_listening }
end
end- inspec exec webserver.rb
Conclusão:
Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:
About author
Você pode gostar também
12 Práticas Eficazes para Combater Ataques DDoS em Seu Servidor
Muito bem… como primeiro post por aqui… eu pensei em abordar um assunto que constantemente me abordam nos treinamentos e palestras e bate papos que tenho, que e sobre ataque
Guia completo: Instalação e configuração do SQL Server no Linux
O SQL server é um sistema gerenciador de banco de dados relacional, mantido pela Microsoft. Originalmente estava disponível apenas para distribuições Windows, como o Windows Server. Desde a versão do
Guia sobre como criar um cluster com o centralizador de logs Graylog 3.3
O Graylog [1] é uma ferramenta open source e serve para monitorar, centralizar e organizar mensagens de log em sua infraestrutura. É uma alternativa ao famoso ELK. O Graylog oferece





