Centralizando o controle de nossas vulnerabilidades com o Centreon
Se você está interessado em ter as informações de sua infraestrutura monitoradas e centralizadas, o que melhor do que usar GVM ou Greenbone Vulnerability Management para procurar vulnerabilidades e Centreon para tê-lo centralizado e controlado.
A day de hoy existen diversos softwares que nos permiten realizar búsquedas de vulnerabilidades en nuestros sistemas, gratuitos ya es otra cosa, históricamente vengo usando OpenVAS lo que hoy en día se conhece como Greenbone, aquí tenéis un post de cómo montar GVM. Una de las razones por la que lo uso es que se puede integrar con Centreon de manera sencilla.
¿Por qué? pues porque Centreon lo considero como um único ponto de control de la infraestructura, onde sé como estão las máquinas a cada momento o les monitorizamos qualquer serviço que ofrezcan ¿no? Y qué menos que añadirle a cada máquina monitorizada pues 1 serviço que também me muestre seu estado de vulnerabilidade. Donde veamos tudo desde a mesma consola, um item que nos dirá quantas vulnerabilidades tem.
Para fazer isso,, Como eu disse, precisaremos montar primeiramente o GVM e, uma vez que tenhamos tarefas de análise criadas, onde colocaremos uma ou várias máquinas. Posterior, obviamente verificaremos a partir do GVM o estado de segurança através destas tarefas, a segurança das nossas máquinas e poderemos visualizar relatórios que nos darão todos os detalhes de bugs, vulnerabilidades ou detalhes de como corrigir. E podemos fazer com que o Centreon leia o resumo de cada relatório gerado pelo GVM, una maravilla.
Total, que… ¡Início!
Na máquina do Greenbone teremos que habilitar que o serviço GMP escute, editamos o ficheiro '/etc/systemd/system/gvmd.service'’ e modificamos a seguinte linha. De:
ExecStart=/opt/gvm/sbin/gvmd --osp-vt-update=/opt/gvm/var/run/ospd.sock
Para:
ExecStart=/opt/gvm/sbin/gvmd --osp-vt-update=/opt/gvm/var/run/ospd.sock --listen=0.0.0.0 --port=9390
Também modificaremos o ficheiro do serviço GSAD, editando ‘/etc/systemd/system/gsad.service’. e modificamos a seguinte linha, de:
ExecStart=/opt/gvm/sbin/gsad --drop-privileges=gvm
Para:
ExecStart=/opt/gvm/sbin/gsad --drop-privileges=gvm --mlisten=127.0.0.1 --mport=9390
E reiniciamos os serviços GVMD e GSAD:
systemctl restart gvmd systemctl restart gsad
Já é hora então de irmos finalmente para a máquina do Centreon, como requisito, iremos primeiro necessitar de instalar as Tools do GVM:
python3 -m pip install python-gvm python3 -m pip install gvm-tools
No caso de falharem os comandos anteriores, talvez necessites de python3 🙂
yum install -y python3
Ou talvez, se a instalação do gmv-tools nos der o erro No module named ‘setuptools_rust’, então teremos de atualizar o pip:
pip3 install -U pip
E nada, Começou, incrível! Vamos descarregar o script ‘check-gmp.gmp.py’ que nos permitirá conectar e consultar os resultados dos Relatórios do GVM e o output mostrar-nos-á no formato ‘standard’ do Nagios que como sabemos é 100% compatível com Centreon ou sistemas de monitorização Open Source. Após descarregar o script vamos fazer login como o utilizador do centreon e poderemos em seguida fazer o nosso primeiro teste a partir da Shell:
wget https://raw.githubusercontent.com/greenbone/gvm-tools/master/scripts/check-gmp.gmp.py -O /usr/lib/centreon/plugins/check-gmp.gmp.py su - centreon /usr/local/bin/gvm-script --gmp-username USUARIO --gmp-password CONTRASEÑA tls --hostname DIRECCION_IP_GVM /usr/lib/centreon/plugins/check-gmp.gmp.py -F DIRECCION_IP_MAQUINA --last-report --status --task "NOMBRE_DE_LA_TAREA"
Y ya como siempre, una vez que en shell sabemos cómo funciona, lo traemos a Centreon, tendremos que definir un Comando del que luego crearemos 'n’ Serviços para saber las vulnerabilidades del resto de máquinas.
/usr/local/bin/gvm-script --gmp-username USUARIO --gmp-password CONTRASEÑA tls --hostname DIRECCION_IP_GVM $CENTREONPLUGINS$/check-gmp.gmp.py --last-report --status --task $ARG 1$ --overrides -F $ARG 2$
Y definimos 2 argumentos que serão lo que al crear el Servicio cumplimentaremos:
- ARG1: Nombre de la Tarea
- ARG2: IP de la maquina
E o que eu disse, una vez tengamos el Comando creado, pois criamos os Serviços de ‘Vulnerabilidades’ de cada máquina que nos interesse. Ao selecionar o Comando que criámos, veremos que temos de preencher os argumentos com o que foi mencionado, o nome da Tarefa onde está a máquina a consultar, e o IP da máquina em questão (caso na Tarefa do GVM analisemose mais de uma máquina simultaneamente).
E uma vez que gravemos as alterações (como de costume, o Export), já poderemos verificar que as nossas tarefas são corretamente verificadas e receberemos a informação do Greenbone, agora daqui gerimos! Poderemos visualizar o resumo da tarefa e ele indicará em CRITICAL as máquinas com vulnerabilidades críticas.
Um par de notas antes de finalizar, se cometemos o erro de executar as verificações a partir do Centreon como o utilizador root apenas para testar…, depois, quando o Centreon o monitorizar, ele nos dará um “tentativa de escrever numa base de dados só de leitura” e é porque devemos eliminar o diretório “/tmp/check_gmp/”, Ou uau, dar permissões ao utilizador centreon para que possa escrever aí. Acontecerá o mesmo se tivermos no Centreon um UNKNOW ou nos diz “Nenhuma saída retornada pelo plugin”; mas vê-se bem pelo bash a partir do utilizador centreon, então, perante algo estranho, o melhor, Como eu disse, preparar o diretório “/tmp/check_gmp/”.
Como de costume, espero que vos tenha parecido interessante, vamos tentar centralizar tudo o que pudermos no nosso sistema de monitorização, evitando ter de entrar em 20 consolas e aproveitando o melhor de cada produto.











































