Ferramenta CLI em Python para análise de logs de segurança com isolamento por projeto, detecção de ameaças via assinaturas regex e gerenciamento de IPs maliciosos.
# 1. Carregar assinaturas padrão (SQL Injection, XSS, LFI, etc.)
python assinaturas_padrao.py
# 2. Iniciar a ferramenta
python loganalyse.py| Arquivo | Descrição |
|---|---|
loganalyse.py |
CLI principal - ponto de entrada |
database.py |
Camada de dados SQLite |
parsers.py |
Parsers para Apache, PostgreSQL e logs genéricos |
analisador.py |
Motor de análise com pipeline de detecção |
assinaturas_padrao.py |
Script para carregar regras de detecção iniciais |
importar_assinaturas.py |
Importador de assinaturas via arquivo TXT |
- Isolamento completo de dados por projeto/cliente
- Um IP malicioso no "Projeto A" não afeta o "Projeto B"
- Métricas e estatísticas por projeto
- Detecção via regex ou texto literal
- Três níveis de severidade: ALTA, MÉDIA, BAIXA
- Assinaturas globais (compartilhadas entre projetos)
python importar_assinaturas.py assinaturas.txtFormato do arquivo (separado por ;):
# Comentários começam com #
# padrao;descricao;nivel (1=ALTA, 2=MEDIA, 3=BAIXA)
hacker;Conteúdo Malicioso - Hacking;1
upload;Monitoramento de Upload;3
casino;SEO Spam - Casino;1
- Apache: Combined Log Format
- PostgreSQL: Logs padrão
- Genérico: Extração automática de IP e data
- Rastreabilidade: Cada log suspeito registra o arquivo de origem
Linha do Log
↓
[Parser extrai IP/Data]
↓
[IP é reincidente?] ──Sim──→ suspeito=1, motivo=REINCIDENTE
↓ Não ↓
[Match com assinatura?] [Incrementa pontuação]
↓ Sim ↓
[Registra novo IP] [INSERT no banco]
↓
[INSERT no banco]
❌ Logs não suspeitos são DESCARTADOS (não ocupam espaço)
- Lista simples (um IP por linha)
- Comandos
iptablesprontos - Comandos
ufwprontos
O banco SQLite (loganalyse.db) é criado automaticamente com as tabelas:
projetos- Ambientes/clientesassinaturas- Regras de detecção (globais)ips_maliciosos- IPs suspeitos (por projeto)logs- Eventos de segurança (por projeto, comarquivo_origem)
=== LOG ANALYSE 2.0 (Security Ops) ===
[MENU PRINCIPAL]
1. Gerenciar Projetos
2. Gerenciar Assinaturas
3. Entrar no Painel de um Projeto
0. Sair
# Após selecionar projeto:
--- PAINEL DO PROJETO: ECIDADE ---
📊 IPs Maliciosos: 42 (Alto Risco: 8)
📋 Logs Suspeitos: 1337
1. Importar Logs
2. Ver IPs Maliciosos
3. Exportar IPs para Firewall
4. Limpar Logs deste Projeto
5. Limpar IPs deste Projeto
0. Voltar
- Python 3.7+
- Sem dependências externas (usa apenas stdlib)
Uso interno - DBSeller