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

Automação de infraestrutura e redes com Python

Por 9 min de leitura

Publicado em Atualizado 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.

Sobre o autor

Cesar Gargiulo

Especialista em segurança da informação e infraestrutura de redes

Cesar Gargiulo trabalha com tecnologia desde 2006 e com segurança da informação há mais de uma década. A base da carreira é infraestrutura: data center, rede, servidor e disponibilidade. É a partir dessa base que ele trata firewall, VPN e segmentação, e não como um assunto isolado de produto.

  • Pós-graduação em Offensive Cyber Security (Red Team Operations), FIAP
  • MBA em Governança Estratégica de TI, FHO Uniararas
  • Fundador da GUARDIASEC, GUARDIASEC LTDA
  • Cisco CCNA e certificações de pentest

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
pfSense

Backup e atualização do pfSense

A configuração em um arquivo, o backup automático cifrado, a restauração em hardware novo e a atualização feita com janela e retorno planejado.

Ler guia
pfSense

Regras de firewall no pfSense

Regras bem organizadas tornam o pfSense seguro e auditável. Veja ordem de avaliação, aliases, governança e os erros mais frequentes.

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.