Upload files to "cybersecurity/Network Reputation Service"
This commit is contained in:
295
cybersecurity/Network Reputation Service/readme-pt.md
Normal file
295
cybersecurity/Network Reputation Service/readme-pt.md
Normal file
@@ -0,0 +1,295 @@
|
||||
# 🛡️ Auditoria de Firewall - Network Reputation Service
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
Uma ferramenta profissional de auditoria em PowerShell para avaliar a eficácia da filtragem do seu firewall testando URLs categorizadas baseadas na sua reputação de rede.
|
||||
|
||||
## 📋 Índice de Conteúdos
|
||||
|
||||
- [Visão Geral](#-visão-geral)
|
||||
- [Características](#-características)
|
||||
- [Pré-requisitos](#-pré-requisitos)
|
||||
- [Instalação](#-instalação)
|
||||
- [Uso](#-uso)
|
||||
- [Configuração](#-configuração)
|
||||
- [Relatório Gerado](#-relatório-gerado)
|
||||
- [Estrutura de Dados](#-estrutura-de-dados)
|
||||
- [Sistema de Pontuação](#-sistema-de-pontuação)
|
||||
- [Resolução de Problemas](#-resolução-de-problemas)
|
||||
- [Contribuir](#-contribuir)
|
||||
- [Licença](#-licença)
|
||||
|
||||
## 🎯 Visão Geral
|
||||
|
||||
Este script PowerShell testa a eficácia do seu firewall verificando se URLs maliciosas são corretamente bloqueadas enquanto sites legítimos permanecem acessíveis. Gera um relatório HTML profissional com pontuação, estatísticas e recomendações.
|
||||
|
||||
**Autor:** Hubert Cornet
|
||||
**Versão:** 1.3
|
||||
**Data:** 3 de setembro de 2025
|
||||
|
||||
## ✨ Características
|
||||
|
||||
- 🔍 **Testes automatizados** de centenas de URLs categorizadas
|
||||
- 📊 **Pontuação inteligente** com notas de A+ a F
|
||||
- 📱 **Relatório HTML responsivo** com interface interativa
|
||||
- 🔧 **Suporte a proxy** com autenticação
|
||||
- ⚡ **Barras de progresso em tempo real**
|
||||
- 🎨 **Visualizações coloridas** dos resultados
|
||||
- 💾 **Exportação JSON** dos dados brutos
|
||||
- 🌐 **Detecção multi-método** de bloqueios
|
||||
|
||||
## 📋 Pré-requisitos
|
||||
|
||||
### Requisitos do Sistema
|
||||
- Windows 10/11 ou Windows Server 2016+
|
||||
- PowerShell 5.1 ou superior
|
||||
- Conexão à Internet ativa
|
||||
- Permissões de escrita no diretório do script
|
||||
|
||||
### Módulos PowerShell (instalados automaticamente)
|
||||
- `PSWriteHTML`
|
||||
- `PSWriteColor`
|
||||
|
||||
### Arquivos Necessários
|
||||
- `file-nrs.json` - Base de dados de URLs categorizadas
|
||||
|
||||
## 🚀 Instalação
|
||||
|
||||
1. **Descarregue o script** numa pasta dedicada
|
||||
2. **Descarregue o arquivo JSON** de:
|
||||
```
|
||||
https://gitea.tips-of-mine.com/Tips-Of-Mine/Powershell/src/branch/main/cybersecurity/Network%20Reputation%20Service/file-nrs.json
|
||||
```
|
||||
3. **Coloque ambos os arquivos** no mesmo diretório
|
||||
|
||||
## 💻 Uso
|
||||
|
||||
### Uso Básico
|
||||
```powershell
|
||||
.\AuditFirewall.ps1
|
||||
```
|
||||
|
||||
### Com Proxy
|
||||
```powershell
|
||||
.\AuditFirewall.ps1 -ProxyUrl "http://proxy.empresa.com:8080"
|
||||
```
|
||||
|
||||
### Com Autenticação de Proxy
|
||||
```powershell
|
||||
.\AuditFirewall.ps1 -ProxyUrl "http://proxy.empresa.com:8080" -ProxyUseAuthentication
|
||||
```
|
||||
|
||||
### Com Timeout Personalizado
|
||||
```powershell
|
||||
.\AuditFirewall.ps1 -TimeoutSeconds 15
|
||||
```
|
||||
|
||||
## ⚙️ Configuração
|
||||
|
||||
### Parâmetros Disponíveis
|
||||
|
||||
| Parâmetro | Tipo | Descrição | Padrão |
|
||||
|-----------|------|-----------|---------|
|
||||
| `ProxyUrl` | String | URL do proxy de rede | Nenhum |
|
||||
| `ProxyUseAuthentication` | Switch | Ativar autenticação de proxy | False |
|
||||
| `TimeoutSeconds` | Integer | Timeout por URL | 10 |
|
||||
|
||||
### Personalização das Palavras-chave de Bloqueio
|
||||
Modifique a variável `$BlockKeywords` no script:
|
||||
```powershell
|
||||
$BlockKeywords = @("site bloqueado", "acesso negado", "filtragem web", "Access Denied", "Site Blocked")
|
||||
```
|
||||
|
||||
## 📊 Relatório Gerado
|
||||
|
||||
O script gera automaticamente:
|
||||
|
||||
### 📁 Estrutura de Arquivos de Saída
|
||||
```
|
||||
Rapports/
|
||||
└── [Data e Hora]/
|
||||
├── Audit_Firewall_Report.html # Relatório principal
|
||||
└── Results.json # Dados brutos
|
||||
```
|
||||
|
||||
### 🎨 Conteúdo do Relatório HTML
|
||||
- **Resumo Executivo**: Pontuação global e estatísticas-chave
|
||||
- **Tabela de Pontuações**: Performance por categoria
|
||||
- **Detalhes Interativos**: Testes individuais por URL
|
||||
- **Escala de Avaliação**: Explicação do sistema de pontuação
|
||||
|
||||
## 📁 Estrutura de Dados
|
||||
|
||||
### Formato `file-nrs.json`
|
||||
```json
|
||||
{
|
||||
"categorie": [
|
||||
{
|
||||
"id": "malware",
|
||||
"nom": "Malware",
|
||||
"description": "Sites que distribuem software malicioso",
|
||||
"urls": [
|
||||
{
|
||||
"url": "http://exemplo-malware.com",
|
||||
"reputation": "malicious",
|
||||
"expected_action": "block"
|
||||
},
|
||||
{
|
||||
"url": "https://site-legitimo.com",
|
||||
"reputation": "safe",
|
||||
"expected_action": "allow"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Ações Esperadas
|
||||
- `"block"`: A URL deve ser bloqueada pelo firewall
|
||||
- `"allow"`: A URL deve permanecer acessível
|
||||
|
||||
## 📈 Sistema de Pontuação
|
||||
|
||||
### Escala de Avaliação
|
||||
|
||||
| Nota | Pontuação | Interpretação |
|
||||
|------|-----------|---------------|
|
||||
| **A+** | 95-100% | 🟢 Excelente / Perfeito |
|
||||
| **A** | 90-95% | 🟢 Muito bom nível de filtragem |
|
||||
| **B+** | 85-90% | 🟡 Muito bom |
|
||||
| **B** | 80-85% | 🟡 Bom, alguns ajustes necessários |
|
||||
| **C+** | 75-80% | 🟠 Razoavelmente bom |
|
||||
| **C** | 70-75% | 🟠 Médio, lacunas significativas |
|
||||
| **D+** | 65-70% | 🔴 Aceitável |
|
||||
| **D** | 60-65% | 🔴 Fraco, filtragem ineficaz |
|
||||
| **E+** | 55-60% | 🔴 Muito fraco |
|
||||
| **E** | 50-55% | 🔴 Insuficiente |
|
||||
| **F+** | 45-50% | ⚫ Crítico |
|
||||
| **F** | 0-45% | ⚫ Ação imediata necessária |
|
||||
|
||||
### Método de Cálculo
|
||||
```
|
||||
Pontuação = (URLs filtradas corretamente / Total de URLs testadas) × 100
|
||||
```
|
||||
|
||||
## 🔍 Métodos de Detecção
|
||||
|
||||
### Como o script deteta bloqueios:
|
||||
1. **Análise de Conteúdo**: Procura por palavras-chave de páginas de bloqueio
|
||||
2. **Timeouts de Rede**: Pedidos que expiram (provável bloqueio do firewall)
|
||||
3. **Erros de Conexão**: Incapacidade de alcançar o servidor
|
||||
4. **Códigos de Estado HTTP**: Análise das respostas do servidor
|
||||
|
||||
### Cabeçalhos HTTP Simulados:
|
||||
O script simula um navegador moderno para evitar detecção:
|
||||
```
|
||||
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...
|
||||
Accept: text/html,application/xhtml+xml,application/xml...
|
||||
Accept-Language: pt-PT,pt;q=0.9,en-US;q=0.8,en;q=0.7
|
||||
```
|
||||
|
||||
## 🔧 Resolução de Problemas
|
||||
|
||||
### Problemas Comuns
|
||||
|
||||
#### ❌ "Arquivo 'file-nrs.json' não existe!"
|
||||
**Solução:** Descarregue o arquivo JSON do link fornecido e coloque-o na mesma pasta do script.
|
||||
|
||||
#### ❌ "Não é possível instalar o módulo X"
|
||||
**Solução:** Execute PowerShell como administrador ou use:
|
||||
```powershell
|
||||
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||||
```
|
||||
|
||||
#### ❌ Timeouts Frequentes
|
||||
**Soluções:**
|
||||
- Aumente o valor de `-TimeoutSeconds`
|
||||
- Verifique a sua conexão de rede
|
||||
- Configure corretamente as definições de proxy
|
||||
|
||||
#### ❌ Falsos Positivos/Negativos
|
||||
**Soluções:**
|
||||
- Atualize as palavras-chave de bloqueio
|
||||
- Verifique a configuração do firewall
|
||||
- Adapte o arquivo JSON ao seu ambiente
|
||||
|
||||
## 🏢 Casos de Uso Recomendados
|
||||
|
||||
### 📅 Uso Periódico
|
||||
- **Auditoria mensal** da eficácia do firewall
|
||||
- **Validação** após atualizações de regras
|
||||
- **Benchmarking** entre soluções de segurança
|
||||
|
||||
### 👥 Relatórios Gerenciais
|
||||
- **Dashboards** para gestão de TI
|
||||
- **KPIs de segurança** mensuráveis
|
||||
- **Justificação de investimento** em segurança
|
||||
|
||||
### 🔧 Testes de Configuração
|
||||
- **Validação** após mudanças de rede
|
||||
- **Testes de regressão** das regras do firewall
|
||||
- **Auditoria de conformidade** de segurança
|
||||
|
||||
## ⚠️ Limitações Técnicas
|
||||
|
||||
### Pontos de Atenção:
|
||||
- **Testes Sequenciais**: Sem paralelização (pode ser lento)
|
||||
- **Detecção Básica**: Baseia-se em palavras-chave predefinidas
|
||||
- **Falsos Positivos**: Sites legítimos temporariamente inacessíveis
|
||||
- **Segurança**: O script realmente contacta as URLs testadas
|
||||
|
||||
### Melhores Práticas:
|
||||
1. 🕐 Execute durante horas de menor tráfego
|
||||
2. 📊 Analise os resultados no contexto
|
||||
3. 🔄 Mantenha o arquivo JSON atualizado
|
||||
4. 📈 Acompanhe a evolução das pontuações ao longo do tempo
|
||||
|
||||
## 🤝 Contribuir
|
||||
|
||||
### Para Contribuir:
|
||||
1. Faça fork do projeto
|
||||
2. Crie o seu branch de funcionalidade
|
||||
3. Faça commit das suas alterações
|
||||
4. Push para o branch
|
||||
5. Abra um Pull Request
|
||||
|
||||
### Ideias de Melhoria:
|
||||
- [ ] Paralelização de testes para melhor performance
|
||||
- [ ] Detecção mais sofisticada de páginas de bloqueio
|
||||
- [ ] Suporte a bases de dados de reputação externas
|
||||
- [ ] Interface gráfica para configuração
|
||||
- [ ] Integração com APIs de threat intelligence
|
||||
|
||||
## 🎯 Roteiro
|
||||
|
||||
### Versão 1.4 (planeada)
|
||||
- [ ] Testes paralelos para performance melhorada
|
||||
- [ ] Suporte a certificados SSL personalizados
|
||||
- [ ] Notificações por email dos resultados
|
||||
|
||||
### Versão 2.0 (futuro)
|
||||
- [ ] Interface web para configuração
|
||||
- [ ] Integração com soluções SIEM
|
||||
- [ ] API REST para automação
|
||||
|
||||
## 📞 Suporte
|
||||
|
||||
Para obter ajuda ou reportar problemas:
|
||||
- 📧 Contacte o autor: Hubert Cornet
|
||||
- 🐛 Abra um issue no repositório do projeto
|
||||
- 📚 Consulte a documentação técnica
|
||||
|
||||
## 📄 Licença
|
||||
|
||||
Este projeto está sob licença MIT. Veja o arquivo `LICENSE` para mais detalhes.
|
||||
|
||||
---
|
||||
|
||||
**⭐ Se este script foi útil para si, não hesite em dar-lhe uma estrela!**
|
||||
|
||||
---
|
||||
|
||||
*Última atualização: 3 de setembro de 2025*
|
Reference in New Issue
Block a user