Pular para o conteúdo
Automação e Python

Automação de infraestrutura e redes com Python

Por equipe técnica da OpenSourceBrasil9 min de leituraAtualizado em

Quando o básico de Python fica confortável, a linguagem deixa de ser curiosidade e vira ferramenta de trabalho. É nesse ponto que dá para automatizar de verdade a operação de infraestrutura: processar logs em volume, integrar com APIs, gerar relatórios e organizar tudo em projetos que a equipe consegue manter.

Este guia mostra os recursos intermediários de Python que mais importam para quem trabalha com redes e segurança, e como cada um se traduz em automação prática do dia a dia.

Tratar texto e logs com regex

Boa parte do trabalho de infraestrutura é extrair informação de texto: um IP em uma linha de log, um horário, um código de status. As expressões regulares, o famoso regex, são a ferramenta certa para isso. Com o módulo re do Python, você valida formatos, busca padrões e extrai exatamente o que precisa de arquivos grandes.

Combinado com a leitura de arquivos linha a linha, o regex transforma um log bruto de firewall em um resumo útil: os IPs que mais tentaram conexão, os horários de pico, as regras mais acionadas.

Um exemplo concreto do dia a dia

Vale aterrissar isso em um caso real. Em ambientes de pfSense que a OpenSourceBrasil acompanha, um roteiro comum é ler o log de filtro do firewall, isolar as conexões bloqueadas na interface de internet, extrair o IP de origem de cada linha com uma expressão regular e contar quantas vezes cada IP aparece. Em poucas dezenas de linhas de Python, o resultado é uma lista ordenada dos endereços que mais bateram na porta, útil para decidir o que merece um bloqueio permanente ou uma investigação.

O mesmo script cresce com pouco esforço: filtrar por período, cruzar os IPs com uma lista de reputação, gerar um CSV para a equipe e agendar a execução. Cada etapa usa um recurso deste guia, e o conjunto substitui uma tarefa manual que tomaria a manhã inteira.

Ler e gerar JSON e CSV

JSON é a língua franca das APIs e dos arquivos de configuração modernos. CSV é o formato das planilhas e de muitos relatórios. Python trata os dois com módulos da biblioteca padrão, sem instalar nada. Isso permite consumir a resposta de uma API de equipamento ou de nuvem, cruzar com um inventário em CSV e gerar um relatório consolidado.

  • Converter dados entre Python e JSON para falar com APIs.
  • Ler CSV de inventário, de regras ou de eventos.
  • Gerar relatórios em CSV que abrem direto em planilha.
  • Preservar acentos e caminhos de arquivo de forma segura com pathlib.

Consultar APIs e integrar sistemas

Firewalls modernos, serviços de nuvem e ferramentas de segurança expõem APIs. Com Python, você consulta essas APIs, coleta status e métricas e automatiza ações que antes exigiam cliques na interface. É assim que se monta, por exemplo, um script que verifica o estado de vários túneis de VPN e avisa quando algum cai.

A biblioteca requests é o padrão de fato para isso. Com ela, uma chamada GET ou POST cabe em uma linha, e a resposta em JSON vira dicionário Python direto. Dois cuidados fazem diferença em produção: definir um timeout em toda chamada, para o script não travar quando o outro lado não responde, e conferir o código de status antes de confiar no corpo da resposta. O token de acesso da API nunca deve ficar no código; leia de uma variável de ambiente ou de um cofre de segredos.

Conectar em equipamentos de rede por SSH

Nem todo equipamento tem API. Para roteadores, switches e firewalls que só falam por linha de comando, o caminho é SSH. A biblioteca paramiko cuida da conexão de baixo nível em Python. Acima dela, netmiko entende as particularidades de cada fabricante (Cisco, Juniper, MikroTik e outros), o que evita tratar prompt e paginação na mão. Com poucas linhas, dá para coletar a configuração de dezenas de equipamentos e salvar cada uma em arquivo.

Quando o objetivo é padronizar a coleta entre fabricantes diferentes, a biblioteca napalm oferece uma camada comum: os mesmos comandos retornam dados no mesmo formato, independente do equipamento. Vale um alerta de segurança: automação por SSH costuma rodar com credenciais de acesso privilegiado, então o script precisa tratar essas senhas com o mesmo cuidado de qualquer segredo, e a conta usada deve ter só a permissão necessária para a tarefa.

Isolar projetos com ambientes virtuais

Assim que um script depende de uma biblioteca externa, surge a necessidade de organizar isso. Ambientes virtuais dão a cada projeto sua própria caixa de dependências, sem misturar versões nem sujar o Python do sistema. Junto com o pip e um arquivo de requisitos, isso torna o script reproduzível em outra máquina, o que importa quando a automação sai do seu computador e vai para um servidor.

Organizar o código em módulos

Scripts crescem. Um arquivo de mil linhas vira pesadelo de manutenção. Separar o código em módulos, com funções bem nomeadas e responsabilidades claras, é o que mantém a automação sustentável. A biblioteca padrão do Python já traz módulos prontos para datas, coleções e muito mais, o que evita reinventar a roda.

Uma divisão que funciona bem: um módulo para falar com o mundo externo (ler arquivo, chamar API, conectar por SSH), outro para a lógica que trata os dados, e um arquivo principal curto que apenas amarra as duas partes. Assim a lógica fica testável sem depender da rede, e trocar a fonte de dados não exige mexer no resto. Argumentos de linha de comando, tratados com o módulo argparse, tornam o script reaproveitável sem editar código a cada uso.

Testar antes de confiar em produção

Um script de automação que roda com privilégios em produção pode causar estrago se estiver errado. Testes automatizados reduzem esse risco: você verifica que a lógica se comporta como esperado antes de soltar em ambiente real. Não precisa cobrir tudo, mas testar as partes críticas evita surpresas caras.

Dar o próximo passo em Python

O curso de Python Intermediário do ValorFinal é a parte 2 da trilha e foca exatamente no que sustenta automação: compreensões, módulos, JSON, CSV, regex, ambientes virtuais e testes. É gratuito e mantém o formato de código real com projeto que evolui. Boa continuação para quem já domina o básico.

Guias relacionados

Continue aprofundando os temas de firewall, pfSense, VPN e segurança de redes.

Automação e Python

Python para redes e infraestrutura

Quem cuida de rede e infraestrutura ganha tempo com Python. Veja onde a linguagem ajuda no dia a dia e um caminho realista para começar do zero.

Ler guia
Automação e Python

Python avançado para automação e segurança

Quando a automação vira ferramenta séria, o Python avançado entra: async para tarefas de rede em escala, tipagem, logging e testes para código em que se pode confiar.

Ler guia
Monitoramento

Logs de firewall e monitoramento

Sem logs, incidentes passam despercebidos. Veja o que registrar, como reter e como transformar eventos em visibilidade.

Ler guia

Dúvidas comuns

Perguntas frequentes

Como automatizar tarefas de rede com Python?

Combinando leitura de arquivos, tratamento de texto com regex, consumo de APIs em JSON e organização em módulos. Com isso dá para processar logs, verificar status de equipamentos, gerar relatórios e integrar sistemas sem trabalho manual repetitivo.

Python serve para analisar logs?

Sim, é um dos usos mais comuns em infraestrutura. Com leitura de arquivo linha a linha e expressões regulares, você extrai IPs, horários e padrões de logs de firewall, VPN e sistemas, e gera resumos úteis para operação e segurança.

O que são ambientes virtuais e por que usar?

Ambientes virtuais isolam as dependências de cada projeto Python, evitando conflito de versões e mantendo o sistema limpo. Junto com o pip e um arquivo de requisitos, tornam o script reproduzível em outra máquina ou servidor.

Qual curso fazer depois do Python básico?

O curso de Python Intermediário do ValorFinal é o passo seguinte. Ele cobre JSON, CSV, regex, ambientes virtuais, orientação a objetos e testes, exatamente os recursos que sustentam automação de infraestrutura. É gratuito.

Como conectar em roteadores e switches com Python?

Por SSH. A biblioteca paramiko cuida da conexão de baixo nível, e netmiko monta uma camada acima que entende os comandos de vários fabricantes, como Cisco, Juniper e MikroTik. Para padronizar a coleta entre marcas diferentes, napalm retorna os dados no mesmo formato. As credenciais devem vir de variável de ambiente, nunca do código.

Onde guardar senhas e tokens usados nos scripts?

Fora do código, sempre. O caminho mais simples é ler de variáveis de ambiente; em ambientes maiores, use um cofre de segredos. Deixar credenciais escritas no script é risco de segurança, ainda mais quando o código vai para um repositório ou é copiado entre máquinas.

Próximo passo

Precisa de apoio especializado no seu ambiente?

Cada rede é diferente. Fale com um especialista em pfSense por e-mail e receba uma avaliação do seu cenário, sem compromisso.