Este script em Python conecta-se a um firewall FortiGate via SSH e extrai os logs de conexões SSL-VPN para um usuário específico, salvando os resultados em um arquivo .txt.
- Python 3.x
- Biblioteca paramiko
Você pode instalar a dependência com:
pip install -r requirements.txtAntes de executar o script, edite as seguintes variáveis no início do código para refletir os dados do seu FortiGate:
FGT_HOST = "IP ou hostname do FortiGate"
FGT_PORT = 22 # Porta padrão SSH
FGT_USER = "usuário"
FGT_PASS = "senha"
⚠️ Certifique-se de que o usuário tenha permissões para acessar os logs via SSH.
Execute o script passando o nome do usuário desejado como argumento:
python3 extrator_fortigate.py <nome_do_usuario>Exemplo:
python3 extrator_fortigate.py joao.silva- Os logs são exibidos no terminal, já com limpeza básica (remoção de linhas em branco repetidas).
- Também são salvos automaticamente em um arquivo nomeado como:
fortigate_logs_<nome_do_usuario>.txt
Exemplo:
fortigate_logs_joao.silva.txt
Evite manter credenciais diretamente no código. Para ambientes produtivos, é recomendável usar variáveis de ambiente ou arquivos de configuração externos.
O script envia os seguintes comandos interativos ao FortiGate:
execute log filter reset
execute log filter category 1
execute log filter field user <usuário>
execute log filter field subtype vpn
execute log filter field action tunnel-up
execute log filter view-lines 100
execute log displayEsses comandos filtram os logs para exibir conexões SSL-VPN (tunnel-up) do usuário informado.
O uso deste script é de total responsabilidade do usuário. Execute-o apenas em equipamentos onde você tenha autorização explícita para tal. Não utilize este script em ambientes ou dispositivos sem permissão, sob risco de violar políticas internas ou leis de segurança da informação.