Como configurar o SmokePing para monitoramento de latências #mafiadoping


Smokeping é uma ferramenta gratuita e de código aberto de medição de latência. Ele envia pacotes de teste para a rede e mede a quantidade de tempo que eles precisam para viajar de um lugar para outro e vice-versa.

Para cada rodada de medição, o smokeping envia vários pacotes em seguida, ele classifica os diferentes tempos de ida e volta e seleciona a mediana. Isso significa que quando há 10 valores de tempo, o valor número 5 é selecionado e desenhado. Os outros valores são desenhados como tons sucessivamente mais claros de cinza no fundo (“fumaça”).

Às vezes, um pacote de teste é enviado, mas nunca retorna. Isso é chamado de perda de pacotes. A cor da linha mediana muda de acordo com o número de pacotes perdidos.

A grande flutuação dos valores de RTT (tempo de ida e volta) também indica que a rede está sobrecarregada. Isso é mostrado no gráfico como fumaça; quanto mais fumaça, mais flutuação.

Smokeping não se limita a testar apenas o tempo de ida e volta dos pacotes. Ele também pode realizar algumas tarefas na extremidade remota (“investigação”), como baixar uma página da web. Isso fornecerá uma ‘imagem’ combinada da disponibilidade do servidor web e da integridade da rede.

Requisitos

– Debian 10 – “Instalação limpa

Instalação

Será instalados vários pacotes:

Vou instalar o net-tools para verificar quais portas foram abertas:

Use o comando netstat para verificar

Possível erro:

Devemos ter aberta apenas a porta 80 (apache) e 22 (SSH) abertas, se caso você não tiver instalado corretamente coloca o “-” nos pacotes exim (exim4-base-) sendmail e qmail um serviço de e-mail (MTA) será instalado, e estará rodando, isso se deve pois o smokeping faz o envio de notificação via e-mail, caso você tenha instalado por descuido vamos desativa-lo, pois não vamos utilizar o exim4, para isso desativamos esse serviço da inicialização e paramos.

Para desativar o exim faça:

Para desativar o sendmail faça:

Para desativar o qmail faça:

Agora temos apenas nosso Apache e SSH rodando.

Dica troque a porta padrão 22 do SSH, para trocar a porta basta editar o arquivo:

Localize:

Altere para ex:

Agora restarte o serviço SSH.

Agora quando for acessar seu servidor a porta SSH é 57410 isso evita os “Robôs Scanners”.

Como podemos ver o apache foi instalado pois o smokeping utiliza do mesmo então se acessarmos http://ip-ou-dominio vamos nos deparar com a pagina padrão do apache.

Por segurança vamos remover a assinatura do servidor, pois não queremos q nenhum scanner ou ate mesmo acessar um endereço que não exista (http://ip-ou-dominio/lalalalala) mostre a versão do apache bem como distribuição linux.

A alteração é feita no arquivo /etc/apache2/conf-enabled/security.conf, usarei o comando sed que faz a substituição de um valor por outro, então o que o comando irá fazer é alterar:
ServerTokens OS por ServerTokens Prod
ServerSignature On por ServerSignature Off

Reinicie o serviço do apache para ele atualizar suas novas configurações:

Agora acesse novamente a URL q não existe “http://ip-ou-dominio/lalalalala” e veja que as informações sumiram 🙂


Isso deixa o servidor segura? Não nada é seguro, mas evita que os “espetinho” fiquem procurando falhas, pois sem saber qual versão está rodando fica difícil saber qual vulnerabilidade aplicar, e em 99% o “espertinho” não vai perder seu tempo.

Ok, mas como acesso o smokeping? Pela URL http://ip-ou-dominio/smokeping

As configurações do smokeping estão em /etc/apache2/conf-available/smokeping.conf, vamos dar uma olhada…

Podemos perceber que qualquer um pode acessar nosso servidor sem restrições algumas.

Para melhorar a segurança irei fechar o acesso apenas para os IPs 192.168.0.0/24 2001:db8:c0ca::/48 (Ajuste para seus ips que permite acessar) e em seguida criaremos usuário e senha de acesso, ainda colocarei o ErrorDocument que irá direcionar quem não tiver permissão.

É necessário criar o /etc/smokeping/www-passwd qual conterá nossas usuário e senha de acesso, no comando a baixo vou criar um usuário admin.

Caso não queira solicitar senha e deixar apenas restrito basta comentar as linha:

Ou se deseja solicitar senha porem de qualquer origem:

Para que quando alguém acessar seu endereço IP/domínio não exiba a página default do apache você pode criar uma index direcionando o acesso. se preferir pode direcionar para o /smokeping, já que os não autorizados “ErrorDocument 403” já estão sendo redirecionados para o “site”.

Altere a URL para o endereço que deseja.

Agora se tudo foi configurado certo acesse seu servidor e uma tela com login e senha será solicitado:

Agora vamos ajustar nossos Probes “Sondas”, meios de coletar.

Vamos adicionar o FPing6, DNS (dig) e o Curl, não esqueça de alterar o lookup (dns.google) para o nome do reverso do seu dns e o IP 8.8.8.8 para o IP do seu servidor DNS. (Se dejesar pode usar o do google mesmo, mas para um teste legal é interessante usar o seu DNS)

Vamos alterar o padrão de 5min para 1min “assim se um rato passar em cima de um cabo já podemos saber”…

Altere

Por

Agora vamos incluir as configurações no arquivo /etc/smokeping/config.d/Targets, você pode fazer o mesmo de forma manual se achar melhor.

Editando o /etc/smokeping/config.d/Targets você terá a seguinte configurações:

Ex.:

Vamos reiniciar o serviço mas como ajustamos o tempo para 60 (1min) será necessário remover os graficos “Local” já gerados, antes para não termos erro.

Agora você já tem uma base de como coletar dados com o SmokePing, é importante que você colete informações do peer que você tem conexão bem como os principais roteadores de sua rede. Vou deixar mais alguns exemplos que acho interessante:

Root Servers DNS

Ex Peering BGP

Meus Roteadores

Games

Cortesia Patrick Brandao

Acessando o SmokePing temos todas nossa informações agora!

o Hardware para montar esse cenário foi de uma VM com 1 CPU (Xeon(R) 4208 CPU @ 2.10GHz) + 1GB de Memoria

Curtiu o conteúdo? Quer me ajudar manter essa p*** ? 🙂

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Participe do canal no telegram para ficar atualizado sempre que publicar um novo tutorial.

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Abraço!

Fontes:
https://oss.oetiker.ch/smokeping/doc/index.en.html
https://oss.oetiker.ch/smokeping/probe/FPing.en.html
https://oss.oetiker.ch/smokeping/probe/FPing6.en.html
https://oss.oetiker.ch/smokeping/probe/DNS.en.html
https://oss.oetiker.ch/smokeping/probe/Curl.en.html

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

9 Resultados

  1. STEFANO GEOVANI ESMERIS disse:

    Excelente artigo.
    Alguem sabe se é possivel criar um painel no Grafana com os dados do SmokePing ?

    Obrigado

  2. Nielson Padilha disse:

    Seria interessante por smokeping numavm separada ou junto da VM do zabbix?

  3. Apos configurar o IPv6 no smoke estou recebendo essa mensagem !

    Software error:
    ERROR: /etc/smokeping/config.d/Probes, line 5: unknown variable ‘protocol’
    For help, please send mail to the webmaster (webmaster@localhost), giving this error message and the time and date of the error.

  4. Acronimo disse:

    Qaundo coloco perrs como PTT etc, o erro ao reinciiar é
    Job for smokeping.service failed because the control process exited with error code.
    See “systemctl status smokeping.service” and “journalctl -xe” for details.

    o que poderia ser?

    Parabens pelo Blog novamente rs

  5. Swenilton disse:

    Seria útil ter o smokeping onde já existe o zabbix?

  6. Gustavo Sena disse:

    Excelente ferramenta, combinado com uma boa engenharia de rede, conseguimos ter um diagnostico apurado e uma excelente pro-atividade no monitoramento.

  7. Wendso Silva disse:

    Muito boa ferramenta. Parabéns pelo tutorial, como sempre EXCELENTE!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *