Uma plataforma integrada de monitoramento e detecção de ameaças para sistemas Linux, inspirada em operações profissionais de SOC (Security Operations Center).
SOC Platform é uma suite completa de ferramentas de segurança que fornece:
- Detecção em Tempo Real de ataques e comportamentos suspeitos
- Monitoramento Contínuo de integridade, rede e processos
- Análise Profunda de logs e IOCs (Indicators of Compromise)
- Dashboard Centralizado para visualização de alertas
- Geração Automática de relatórios e alertas
- Detecção de brute force attacks (SSH, SUDO)
- Identificação de port scans e DDoS
- Monitoramento de malware e comportamentos suspeitos
- Rastreamento de integridade de arquivos críticos
- Análise de tráfego de rede anômalo
- Detecção de anomalias em processos
- Análise de logs do firewall
soc-platform/
├── detectors/ # Módulos de detecção
│ ├── ssh_detector.sh # Detecção de brute force SSH
│ ├── portscan_detector.sh # Detecção de port scanning
│ ├── malware_monitor.sh # Monitor de comportamento malicioso
│ └── dns_monitor.sh # Monitor de DNS anômalo
│
├── monitors/ # Monitores contínuos
│ ├── integrity_monitor.sh # File Integrity Monitor (FIM)
│ ├── network_monitor.sh # Monitor de tráfego de rede
│ └── process_monitor.sh # Monitor de processos
│
├── analyzers/ # Analisadores de logs
│ ├── login_analyzer.sh # Análise de falhas de login
│ ├── ioc_scanner.sh # Scanner de IOCs maliciosos
│ └── firewall_analyzer.sh # Análise de logs de firewall
│
├── dashboard/ # Interface visual
│ └── dashboard.sh # Dashboard em tempo real
│
├── config/ # Configuração
│ ├── soc.conf # Arquivo de configuração principal
│ └── functions.sh # Funções auxiliares compartilhadas
│
├── logs/ # Diretório de logs (criado automaticamente)
├── reports/ # Diretório de relatórios (criado automaticamente)
├── main.sh # Script principal de entrada
└── README.md # Este arquivo
- Linux (Debian/Ubuntu, CentOS, etc.)
- Bash 4.0+
- Conhecimentos de comandos linux e Shell Script.
- Privilégios de root para funcionalidades completas.
- Ferramentas comuns: grep, awk, sed, netstat/ss, etc.
# 1. Clonar ou descarregar o projeto
cd /opt/
git clone https://github.com/devguilhrm/Sentinela.git
# 2. Tornar scripts executáveis
chmod +x soc-platform/*.sh
chmod +x soc-platform/**/*.sh
# 3. Inicializar o sistema
sudo ./soc-platform/main.shsudo ./main.shIsso abrirá o menu interativo com todas as opções disponíveis.
# Executar detecção
./detectors/ssh_detector.sh detect
# Listar IPs bloqueados
./detectors/ssh_detector.sh list
# Modo monitoramento contínuo
./detectors/ssh_detector.sh watch
# Bloquear um IP manualmente
./detectors/ssh_detector.sh block 192.168.1.100
# Remover IP da blacklist
./detectors/ssh_detector.sh remove 192.168.1.100# Detectar port scans
./detectors/portscan_detector.sh detect
# Análise detalhada
./detectors/portscan_detector.sh analysis
# Detectar SYN flood
./detectors/portscan_detector.sh syn
# Modo watch
./detectors/portscan_detector.sh watch# Análise completa
./detectors/malware_monitor.sh full
# Verificar processos suspeitos
./detectors/malware_monitor.sh suspicious
# Verificar conexões externas
./detectors/malware_monitor.sh connections
# Detectar recursos anômalos
./detectors/malware_monitor.sh resources
# Modo watch
./detectors/malware_monitor.sh watch# Análise completa
./detectors/dns_monitor.sh analysis
# Domínios suspeitos
./detectors/dns_monitor.sh suspicious
# Detectar beaconing
./detectors/dns_monitor.sh beaconing
# Estatísticas DNS
./detectors/dns_monitor.sh stats# Inicializar banco de dados
./monitors/integrity_monitor.sh initialize
# Verificar integridade
./monitors/integrity_monitor.sh check
# Verificar arquivo específico
./monitors/integrity_monitor.sh verify /etc/passwd
# Relatório detalhado
./monitors/integrity_monitor.sh report# Análise completa
./monitors/network_monitor.sh analysis
# Estatísticas de rede
./monitors/network_monitor.sh stats
# Conexões estabelecidas
./monitors/network_monitor.sh connections
# Portas em escuta
./monitors/network_monitor.sh ports
# Detectar DDoS
./monitors/network_monitor.sh ddos# Análise completa
./monitors/process_monitor.sh full
# Alto uso de CPU
./monitors/process_monitor.sh cpu
# Alto uso de memória
./monitors/process_monitor.sh memory
# Detectar fork bomb
./monitors/process_monitor.sh forkbomb# Análise completa
./analyzers/login_analyzer.sh full
# Falhas SSH
./analyzers/login_analyzer.sh ssh
# Falhas SUDO
./analyzers/login_analyzer.sh sudo
# Gerar relatório
./analyzers/login_analyzer.sh report
# Exportar CSV
./analyzers/login_analyzer.sh csv# Inicializar database
./analyzers/ioc_scanner.sh init
# Análise completa
./analyzers/ioc_scanner.sh full
# Escanear IPs
./analyzers/ioc_scanner.sh ips
# Escanear domínios
./analyzers/ioc_scanner.sh domains
# Escanear processos
./analyzers/ioc_scanner.sh processes# Análise completa
./analyzers/firewall_analyzer.sh full
# Análise UFW
./analyzers/firewall_analyzer.sh ufw
# Análise IPTables
./analyzers/firewall_analyzer.sh iptables
# Padrões de ataque
./analyzers/firewall_analyzer.sh patterns
# Gerar relatório
./analyzers/firewall_analyzer.sh report# Visualizar dashboard
./dashboard/dashboard.sh view
# Modo interativo
./dashboard/dashboard.sh interactiveEdite /config/soc.conf para customizar:
# Diretórios
PROJECT_DIR="/opt/soc-platform"
LOG_DIR="${PROJECT_DIR}/logs"
REPORT_DIR="${PROJECT_DIR}/reports"
# SSH Detector
SSH_FAILED_ATTEMPTS_THRESHOLD=5
SSH_TIME_WINDOW=300 # 5 minutos
# Port Scan
PORT_SCAN_THRESHOLD=10
# Process Monitor
PROCESS_CPU_THRESHOLD=80
PROCESS_MEMORY_THRESHOLD=80
# Threat Intelligence (API keys opcionais)
ABUSEIPDB_API_KEY=""
VIRUSTOTAL_API_KEY=""
# Modo Debug
DEBUG=false
VERBOSE=true
# Email para alertas críticos
ALERT_EMAIL="admin@example.com"- Monitora tentativas falhadas de login SSH
- Threshold padrão: 5 tentativas em 300 segundos
- Adiciona automaticamente à blacklist
- Pode bloquear via iptables/UFW
- Detecta múltiplas conexões a várias portas
- Análise de estados TCP
- Detecção de SYN flood
- Identifica padrões de reconhecimento
- Monitora processos suspeitos
- Detecta conexões externas anômalas
- Identifica consumo anormal de recursos
- Verifica alteração de binários do sistema
- Detecção de domínios maliciosos
- Identifica padrão de beaconing
- Detecta DNS tunneling
- Monitora resoluções anômalas
- Calcula SHA256 de arquivos críticos
- Detecta alterações não autorizadas
- Monitora permissões suspeitas
- Identifica symlinks maliciosos
- Monitora tráfego de rede
- Detecta padrões de DDoS
- Identifica portas suspeitas
- Analisa conexões anômalas
- Alto consumo de CPU/Memória
- Processos ocultos (rootkit detection)
- Fork bombs
- Execução de binários em /tmp
/logs/alerts.log- Alertas críticos e avisos/logs/network_monitor.log- Eventos de rede/logs/process_monitor.log- Eventos de processo/logs/dns_monitor.log- Eventos DNS- Outros logs específicos de cada módulo
- JSON reports com detalhes completos
- CSV exports para análise em ferramentas externas
- Relatórios consolidados em texto
- Integração com syslog para centralização
- Priority levels: crit, alert, warning, info
# Criar arquivo
touch detectors/novo_detector.sh
# Template básico
#!/bin/bash
PROJECT_DIR="${PROJECT_DIR:-.}"
CONFIG_DIR="${PROJECT_DIR}/config"
source "${CONFIG_DIR}/soc.conf"
source "${CONFIG_DIR}/functions.sh"
main() {
initialize_database
case "${1:-detect}" in
detect)
# Sua lógica aqui
;;
*)
echo "Uso: $0 {detect|...}"
;;
esac
}
main "$@"# Logging
log_message CRITICAL|WARNING|INFO|DEBUG "mensagem"
send_syslog_alert "prioridade" "mensagem"
send_email_alert "subject" "body"
# Blacklist
add_to_blacklist "ip" "motivo"
is_blacklisted "ip"
# Hashes (FIM)
calculate_hash "arquivo"
save_hash_db "arquivo" "hash"
get_hash_db "arquivo"
# Relatórios
generate_json_report "nome" "dados_json"
generate_csv_report "nome" "header" "dados"
# Utilitários
validate_ip "ip"
extract_ip_from_line "linha"
format_bytes "bytes"
command_exists "comando"- Executar com root: Alguns módulos requerem privilégios elevados
- Revisar alertas regularmente: Configure email para alertas críticos
- Manter logs: Configure retenção apropriada
- Atualizar IOCs: Mantenha database de IOCs atualizada
- Backup de configuração: Faça backup de
config/ - Monitorar o monitor: Verifique se o SOC está funcionando
chmod +x *.sh
chmod +x **/*.shsudo ./main.shVerifique o caminho em config/soc.conf:
SSH_LOG="/var/log/auth.log" # Debian/Ubuntu
SSH_LOG="/var/log/secure" # CentOS/RHEL- Verifique o arquivo de configuração
- Ative modo DEBUG:
DEBUG=trueemconfig/soc.conf - Verifique permissões dos arquivos de log
Contribuições são bem-vindas! Por favor:
- Fork o projeto
- Crie uma branch para sua feature
- Commit suas mudanças
- Push para a branch
- Abra um Pull Request
Este projeto está sob licença MIT. Veja LICENSE para detalhes.
- devguilhrm - Desenvolvido para ambientes Linux que necessitam de monitoramento de segurança profissional.
- Use em ambientes que você tem permissão
- Sempre teste em ambiente de laboratório primeiro
- Responsabilidade legal é do usuário
Para questões e problemas:
- Verifique a documentação
- Ative modo DEBUG
- Revise os logs
- Abra uma issue no GitHub
Última atualização: 2026
Versão: 1.0.0
Status: Production Ready
- ✅ Bash scripting avançado
- ✅ Análise de logs e eventos
- ✅ Detecção de padrões de ataque
- ✅ Monitoramento de sistema
- ✅ Geração de alertas e relatórios
- ✅ Integração de ferramentas
- ✅ Boas práticas de segurança Linux
- ✅ Operações de SOC profissional
Esteja seguro Sempre!!! 🔒