Este script em Python realiza o backup automatizado das configurações de um ou mais dispositivos FortiGate, utilizando a API do FortiOS para obter o arquivo de configuração e salvá-lo localmente em servidor. O script lê as configurações de múltiplos dispositivos a partir de um arquivo de texto, realiza a autenticação via bearer token e efetua o download do backup no formato .conf.
- Conexão com dispositivos FortiGate via API REST.
- Download automatizado do backup das configurações dos dispositivos FortiGate.
- Suporte para múltiplos dispositivos, cujas configurações são lidas de um arquivo de texto.
- Armazenamento dos backups com nomeação única baseada no dispositivo e no timestamp atual.
- Python 3.x
- Biblioteca requests (pode ser instalada com pip install requests)
- Acesso à API do FortiGate e um token de autenticação (API Token)
Esta função realiza a solicitação HTTP à API do FortiGate para obter o backup do dispositivo especificado.
- fortigate: Endereço ou hostname do dispositivo FortiGate.
- api_token: Token da API para autenticação.
- porta: Porta de conexão da API (geralmente 443).
- Monta a URL da API para o backup.
- Define os cabeçalhos da requisição, incluindo o token de autenticação.
- Envia uma requisição GET para baixar o arquivo de configuração.
- Se o download for bem-sucedido, salva o backup localmente com um nome que inclui o timestamp.
- Em caso de erro, exibe o código e a mensagem da resposta.
Lê o arquivo de texto que contém as configurações dos dispositivos FortiGate, e para cada linha válida, chama a função realizar_backup.
- arquivo_configuracoes: Nome do arquivo de texto contendo as informações dos dispositivos.
Cada linha deve seguir o seguinte formato: fortigate = '<endereco_fortigate>' ; api_token = '<token_api>' ; porta = '<porta>'
Exemplo: fortigate = '192.168.1.1' ; api_token = '1234567890abcdef' ; porta = '443'
Se o formato da linha não estiver correto, o script ignora e exibe uma mensagem de erro.