Skip to content

🔒 Sistema completo de auditoria de segurança para Linux com IA - Monitora 7 áreas críticas, detecta vulnerabilidades, gera alertas inteligentes e relatórios HTML com análise humanizada via Google Gemini

License

Notifications You must be signed in to change notification settings

montezuma-p/security-audit-system

Repository files navigation

🔒 Security Audit System

Security Python Linux Status

Sistema completo de auditoria de segurança para Fedora Workstation

Monitora, analisa e gera relatórios detalhados sobre a postura de segurança do seu sistema

FeaturesInstalaçãoUsoDocumentaçãoContribuir

security

🫥 o que é isso? 🫥

Sistema profissional de auditoria de segurança que monitora 7 áreas críticas do seu sistema Linux, detecta vulnerabilidades, gera alertas inteligentes e produz relatórios HTML bonitos com análise humanizada via Google Gemini AI.

Porque ficar olhando logs crus é coisa de 2010.


🔥 features 🔥

🔍 7 Módulos de Monitoramento

Módulo O que faz
🔌 Portas & Serviços Detecta portas abertas, conexões suspeitas, serviços vulneráveis
🔐 Autenticação Analisa logins falhos, sessões ativas, uso de sudo, ataques de força bruta
🛡️ Firewall & SELinux Verifica configuração de firewall, zonas, regras e status do SELinux
⚠️ Vulnerabilidades Detecta CVEs conhecidos, atualizações pendentes, kernel vulnerável
🌐 Rede Testa conectividade, DNS, gateway, largura de banda, interfaces
📁 Permissões Encontra arquivos SUID/SGID, world-writable, permissões incorretas
🚨 Sistema de Alertas Gera alertas inteligentes priorizados por severidade (crítico/aviso/info)

🎨 3 Modos de Operação

# 1️⃣ Coleta Local (sem IA)
./security_audit.sh --no-ai
# Gera JSON local, zero envio de dados

# 2️⃣ Relatório HTML Local (sem IA)  
./security_audit.sh --local-html
# HTML gerado localmente sem análise de IA, privacidade total

# 3️⃣ Relatório Completo com IA
./security_audit.sh --full
# Análise humanizada via Gemini, insights profundos
# ⚡ FALLBACK AUTOMÁTICO: Se a IA falhar, gera relatório local automaticamente

🔐 Sanitização Inteligente de Dados

Antes de enviar dados para a IA, o sistema oferece 4 níveis de sanitização:

  • none: Dados originais (use apenas em ambiente de teste)
  • light: Anonimiza último octeto de IPs privados
  • moderate: ⭐ Recomendado - Anonimiza IPs, usernames, hostname
  • strict: Máxima privacidade - Anonimiza tudo possível
# Escolher nível de sanitização
./security_audit.sh --full --sanitize-level moderate

📖 Leia mais: docs/SECURITY.md para detalhes sobre sanitização

📊 Score de Segurança

Sistema de pontuação 0-100 com:

  • ✅ Deduções por vulnerabilidades encontradas
  • 🎯 Bônus por boas práticas implementadas
  • 📈 Nota final (A-F) baseada no score
  • 💡 Recomendações priorizadas

🎨 Relatórios HTML Lindos

Relatórios visuais responsivos com:

  • 🌈 Gradientes modernos
  • 📊 Cards organizados por categoria
  • 🎯 Score visual destacado
  • 💬 Análise humanizada da IA (modo full)
  • 🎪 UI Avançada (modo IA):
    • 📁 Accordion expansível para recomendações
    • 📊 Cards estatísticos para compliance
    • ⏳ Timeline visual para próximos passos
    • 🎯 Vetores de ataque formatados com severidade
  • 🔄 Fallback Inteligente: Se a IA falhar (erro de rede, JSON truncado), gera relatório local automaticamente
  • 💾 Debug Automático: Salva respostas problemáticas da IA em arquivos para análise

🛠️ instalação 🛠️

Requisitos

  • SO: Fedora Workstation (ou qualquer Linux com systemd)
  • Python: 3.8+
  • Permissões: sudo para algumas verificações

Setup Rápido

# 1️⃣ Clone o repositório
git clone https://github.com/montezuma-p/security-audit-system.git
cd security-audit-system

# 2️⃣ Crie virtual environment
python3 -m venv venv
source venv/bin/activate

# 3️⃣ Instale dependências
pip install -r requirements.txt

# 4️⃣ Configure (opcional)
cp config.json.example config.json
# Edite config.json para customizar

# 5️⃣ (Apenas para modo --full) Configure API Key do Gemini
export GEMINI_API_KEY="sua-api-key-aqui"
# Ou adicione ao ~/.bashrc para permanente

Obtendo API Key do Google Gemini

Para usar o modo --full com análise de IA:

  1. Acesse Google AI Studio
  2. Crie uma API Key gratuita
  3. Export como variável de ambiente:
echo 'export GEMINI_API_KEY="sua-api-key"' >> ~/.bashrc
source ~/.bashrc

🚀 uso 🚀

Modo Simples (Coleta Local)

# Ativar venv
source venv/bin/activate

# Executar auditoria
./security_audit.sh --no-ai

# Resultado: JSON salvo em ~/.bin/data/scripts-data/reports/security/raw/

Modo HTML Local (Sem IA)

./security_audit.sh --local-html

# Resultado: HTML básico em ~/.bin/data/scripts-data/reports/security/html/

Modo Completo (Com IA)

# Com confirmação de privacidade
./security_audit.sh --full

# Pular confirmação (use com cuidado!)
./security_audit.sh --full --skip-confirm

# Escolher nível de sanitização
./security_audit.sh --full --sanitize-level strict

Executando Componentes Separadamente

# Apenas coletar dados (sem gerar HTML)
./monitor/security_monitor.py

# Apenas gerar HTML de JSONs existentes
./reporter/security_reporter.py --input ~/.bin/data/scripts-data/reports/security/raw/security_20231108_143000.json

Opções Avançadas

# Ver todas as opções
./security_audit.sh --help

# Executar apenas monitor específico (edite config.json)
# Defina checks específicos como false para desabilitar

# Customizar diretórios de output via ENV
export SECURITY_MONITOR_OUTPUT="/seu/diretorio/json"
export SECURITY_REPORTER_OUTPUT="/seu/diretorio/html"
./security_audit.sh --full

📂 estrutura do projeto 📂

.
├── config.json.example
├── docs
│   ├── ARCHITECTURE.md
│   ├── CONTRIBUTING.md
│   ├── SECURITY.md
│   └── TODO.md
├── LICENSE
├── monitor
│   ├── modules
│   │   ├── alerts.py
│   │   ├── auth.py
│   │   ├── firewall.py
│   │   ├── __init__.py
│   │   ├── network.py
│   │   ├── permissions.py
│   │   ├── ports.py
│   │   └── vulnerabilities.py
│   └── security_monitor.py
├── README.md
├── reporter
│   ├── modules
│   │   ├── analyzers
│   │   │   ├── auth_analyzer.py
│   │   │   ├── base_analyzer.py
│   │   │   ├── firewall_analyzer.py
│   │   │   ├── __init__.py
│   │   │   ├── network_analyzer.py
│   │   │   ├── permissions_analyzer.py
│   │   │   ├── ports_analyzer.py
│   │   │   ├── score_analyzer.py
│   │   │   └── vulnerabilities_analyzer.py
│   │   ├── html_builder
│   │   │   ├── ai_sections.py
│   │   │   ├── footer.py
│   │   │   ├── formatters.py
│   │   │   ├── header.py
│   │   │   ├── __init__.py
│   │   │   └── sections.py
│   │   ├── html_generator.py
│   │   ├── __init__.py
│   │   └── sanitizer.py
│   ├── security_reporter.py
│   └── templates
│       └── assets
│           ├── report.js
│           └── styles.css
├── requirements.txt
└── security_audit.sh

10 directories, 39 files



📊 exemplo de saída 📊

Terminal Output

🔒 Security Monitor - Iniciando auditoria de segurança...

🔒 Coletando métricas de segurança...
  🔌 Portas e serviços...
  🔐 Autenticação...
  🛡️  Firewall e SELinux...
  ⚠️  Vulnerabilidades...
  🌐 Rede e conectividade...
  📁 Permissões de arquivos...
🚨 Gerando alertas de segurança...

💾 Salvando relatório...
✅ Relatório salvo em: ~/.bin/data/scripts-data/reports/security/raw/security_20231108_143522.json

======================================================================
🔒 RESUMO DA AUDITORIA DE SEGURANÇA
======================================================================

✅ Status de Segurança: GOOD
🎯 Score de Segurança: 87/100 - B (Bom)
🕐 Timestamp: 2023-11-08T14:35:22
🖥️  Hostname: workstation-montezuma

🚨 Alertas:
   Total: 3
   ❌ Críticos: 0
   ⚠️  Avisos: 2
   ℹ️  Informativos: 1

📊 Estatísticas:
   🔌 Portas abertas: 12
   ⚠️  Portas suspeitas: 0
   🔐 Logins falhos (24h): 0
   ✅ Internet: OK
   ✅ Firewall: Ativo
   ✅ SELinux: enforcing
======================================================================

Relatório HTML

O relatório HTML gerado inclui:

  • 🎨 Header visual com gradiente
  • 📊 Score de segurança destacado
  • 💬 Análise humanizada da IA
  • 📋 Seções detalhadas para cada módulo
  • 💡 Recomendações priorizadas
  • 📱 Design responsivo

🎯 por que usar? 🎯

✅ Antes vs Depois

Antes Depois
😰 Logs confusos em 10 lugares diferentes ✨ Um único relatório bonito
🤯 Não sabe o que é crítico e o que não é 🎯 Alertas priorizados automaticamente
📝 Escrever análise manual leva horas ⚡ IA faz em segundos
🔓 Não tem certeza se está seguro 📊 Score objetivo 0-100
😨 Privacidade? Que privacidade? 🔐 Sanitização multi-nível

🚀 Casos de Uso

  • 🏢 Sysadmins: Auditoria periódica de servidores
  • 👨‍💻 DevOps: Verificação de segurança pré-deploy
  • 🔐 Security Teams: Compliance e análise de postura
  • 🎓 Estudantes: Aprender segurança Linux na prática
  • 🏠 Entusiastas: Manter workstation pessoal segura

🧪 tecnologias usadas 🧪

Python Linux Google Gemini HTML5 CSS3 JavaScript

  • Python 3.8+: Core do sistema
  • psutil: Coleta de métricas do sistema
  • Google Gemini API: Análise humanizada via IA (opcional)
  • systemd/journalctl: Análise de logs
  • firewalld: Verificação de firewall
  • SELinux: Análise de políticas de segurança

🆕 Novidades Recentes:

  • Arquitetura Modular: HTML Generator refatorado (751→285 linhas) com pacote html_builder/
  • 🎪 UI Avançada para IA: Accordion, cards, timeline e formatação aprimorada
  • 🔄 Fallback Inteligente: Se API Gemini falhar, gera relatório local automaticamente
  • 🛠️ Recuperação de JSON: Tenta recuperar JSONs truncados/malformados da IA
  • 💾 Debug Automático: Salva respostas problemáticas em gemini_response_error_*.txt

📚 documentação 📚

Documentação completa disponível em:


🤝 como contribuir 🤝

Contribuições são muito bem-vindas! 🚀

  1. Fork o projeto
  2. Crie sua feature branch (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Add: minha feature dahora')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

Leia CONTRIBUTING.md para detalhes sobre nosso código de conduta e processo de PR.


📝 licença 📝

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


🙏 agradecimentos 🙏

  • Google Gemini API pela análise inteligente
  • Comunidade Python pela excelente tooling
  • Fedora Project pelo sistema operacional incrível
  • Todos os contribuidores que tornaram este projeto possível

📫 contato 📫

Pedro Lucas Montezuma Loureiro

GitHub LinkedIn Reddit


🚀 bora construir sistemas mais seguros juntos! 🚀

Feito com ❤️ e ☕ por Montezuma

⭐ Se este projeto te ajudou, considere dar uma estrela!

About

🔒 Sistema completo de auditoria de segurança para Linux com IA - Monitora 7 áreas críticas, detecta vulnerabilidades, gera alertas inteligentes e relatórios HTML com análise humanizada via Google Gemini

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published