Upload files to "cybersecurity/Network Reputation Service"

This commit is contained in:
2025-09-04 13:26:42 +02:00
parent dbce1cb2a3
commit ed4c37af89
7 changed files with 2065 additions and 0 deletions

View File

@@ -0,0 +1,295 @@
# 🛡️ Audit Firewall - Network Reputation Service
![Version](https://img.shields.io/badge/version-1.3-blue.svg)
![PowerShell](https://img.shields.io/badge/PowerShell-5.1+-blue.svg)
![License](https://img.shields.io/badge/license-MIT-green.svg)
Uno strumento professionale di audit PowerShell per valutare l'efficacia del filtraggio del tuo firewall testando URL categorizzati basati sulla loro reputazione di rete.
## 📋 Indice dei Contenuti
- [Panoramica](#-panoramica)
- [Caratteristiche](#-caratteristiche)
- [Prerequisiti](#-prerequisiti)
- [Installazione](#-installazione)
- [Utilizzo](#-utilizzo)
- [Configurazione](#-configurazione)
- [Report Generato](#-report-generato)
- [Struttura Dati](#-struttura-dati)
- [Sistema di Punteggio](#-sistema-di-punteggio)
- [Risoluzione Problemi](#-risoluzione-problemi)
- [Contribuire](#-contribuire)
- [Licenza](#-licenza)
## 🎯 Panoramica
Questo script PowerShell testa l'efficacia del tuo firewall verificando che gli URL malevoli siano correttamente bloccati mentre i siti legittimi rimangano accessibili. Genera un report HTML professionale con punteggi, statistiche e raccomandazioni.
**Autore:** Hubert Cornet
**Versione:** 1.3
**Data:** 3 settembre 2025
## ✨ Caratteristiche
- 🔍 **Test automatizzato** di centinaia di URL categorizzati
- 📊 **Punteggio intelligente** con voti da A+ a F
- 📱 **Report HTML responsive** con interfaccia interattiva
- 🔧 **Supporto proxy** con autenticazione
-**Barre di progresso in tempo reale**
- 🎨 **Visualizzazioni colorate** dei risultati
- 💾 **Esportazione JSON** dei dati grezzi
- 🌐 **Rilevamento multi-metodo** dei blocchi
## 📋 Prerequisiti
### Requisiti di Sistema
- Windows 10/11 o Windows Server 2016+
- PowerShell 5.1 o superiore
- Connessione Internet attiva
- Permessi di scrittura nella directory dello script
### Moduli PowerShell (installati automaticamente)
- `PSWriteHTML`
- `PSWriteColor`
### File Richiesti
- `file-nrs.json` - Database di URL categorizzati
## 🚀 Installazione
1. **Scarica lo script** in una cartella dedicata
2. **Scarica il file JSON** da:
```
https://gitea.tips-of-mine.com/Tips-Of-Mine/Powershell/src/branch/main/cybersecurity/Network%20Reputation%20Service/file-nrs.json
```
3. **Posiziona entrambi i file** nella stessa directory
## 💻 Utilizzo
### Utilizzo Base
```powershell
.\AuditFirewall.ps1
```
### Con Proxy
```powershell
.\AuditFirewall.ps1 -ProxyUrl "http://proxy.azienda.com:8080"
```
### Con Autenticazione Proxy
```powershell
.\AuditFirewall.ps1 -ProxyUrl "http://proxy.azienda.com:8080" -ProxyUseAuthentication
```
### Con Timeout Personalizzato
```powershell
.\AuditFirewall.ps1 -TimeoutSeconds 15
```
## ⚙️ Configurazione
### Parametri Disponibili
| Parametro | Tipo | Descrizione | Predefinito |
|-----------|------|-------------|-------------|
| `ProxyUrl` | String | URL del proxy di rete | Nessuno |
| `ProxyUseAuthentication` | Switch | Abilita autenticazione proxy | False |
| `TimeoutSeconds` | Integer | Timeout per URL | 10 |
### Personalizzazione Parole Chiave di Blocco
Modifica la variabile `$BlockKeywords` nello script:
```powershell
$BlockKeywords = @("sito bloccato", "accesso negato", "filtraggio web", "Access Denied", "Site Blocked")
```
## 📊 Report Generato
Lo script genera automaticamente:
### 📁 Struttura File di Output
```
Rapports/
└── [Data e Ora]/
├── Audit_Firewall_Report.html # Report principale
└── Results.json # Dati grezzi
```
### 🎨 Contenuto Report HTML
- **Riassunto Esecutivo**: Punteggio globale e statistiche chiave
- **Tabella Punteggi**: Performance per categoria
- **Dettagli Interattivi**: Test individuali per URL
- **Scala di Valutazione**: Spiegazione del sistema di punteggio
## 📁 Struttura Dati
### Formato `file-nrs.json`
```json
{
"categorie": [
{
"id": "malware",
"nom": "Malware",
"description": "Siti che distribuiscono software malevolo",
"urls": [
{
"url": "http://esempio-malware.com",
"reputation": "malicious",
"expected_action": "block"
},
{
"url": "https://sito-legittimo.com",
"reputation": "safe",
"expected_action": "allow"
}
]
}
]
}
```
### Azioni Attese
- `"block"`: L'URL dovrebbe essere bloccato dal firewall
- `"allow"`: L'URL dovrebbe rimanere accessibile
## 📈 Sistema di Punteggio
### Scala di Valutazione
| Voto | Punteggio | Interpretazione |
|------|-----------|-----------------|
| **A+** | 95-100% | 🟢 Eccellente / Perfetto |
| **A** | 90-95% | 🟢 Ottimo livello di filtraggio |
| **B+** | 85-90% | 🟡 Molto buono |
| **B** | 80-85% | 🟡 Buono, alcuni aggiustamenti necessari |
| **C+** | 75-80% | 🟠 Discreto |
| **C** | 70-75% | 🟠 Medio, lacune significative |
| **D+** | 65-70% | 🔴 Accettabile |
| **D** | 60-65% | 🔴 Debole, filtraggio inefficace |
| **E+** | 55-60% | 🔴 Molto debole |
| **E** | 50-55% | 🔴 Insufficiente |
| **F+** | 45-50% | ⚫ Critico |
| **F** | 0-45% | ⚫ Azione immediata richiesta |
### Metodo di Calcolo
```
Punteggio = (URL filtrati correttamente / Totale URL testati) × 100
```
## 🔍 Metodi di Rilevamento
### Come lo script rileva i blocchi:
1. **Analisi del Contenuto**: Ricerca parole chiave delle pagine di blocco
2. **Timeout di Rete**: Richieste che scadono (probabile blocco firewall)
3. **Errori di Connessione**: Incapacità di raggiungere il server
4. **Codici di Stato HTTP**: Analisi delle risposte del server
### Header HTTP Simulati:
Lo script simula un browser moderno per evitare il rilevamento:
```
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...
Accept: text/html,application/xhtml+xml,application/xml...
Accept-Language: it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7
```
## 🔧 Risoluzione Problemi
### Problemi Comuni
#### ❌ "File 'file-nrs.json' non esiste!"
**Soluzione:** Scarica il file JSON dal link fornito e posizionalo nella stessa cartella dello script.
#### ❌ "Impossibile installare il modulo X"
**Soluzione:** Esegui PowerShell come amministratore o usa:
```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```
#### ❌ Timeout Frequenti
**Soluzioni:**
- Aumenta il valore di `-TimeoutSeconds`
- Verifica la tua connessione di rete
- Configura correttamente le impostazioni proxy
#### ❌ Falsi Positivi/Negativi
**Soluzioni:**
- Aggiorna le parole chiave di blocco
- Verifica la configurazione del firewall
- Adatta il file JSON al tuo ambiente
## 🏢 Casi d'Uso Raccomandati
### 📅 Uso Periodico
- **Audit mensile** dell'efficacia del firewall
- **Validazione** dopo aggiornamenti delle regole
- **Benchmarking** tra soluzioni di sicurezza
### 👥 Report Manageriali
- **Dashboard** per il management IT
- **KPI di sicurezza** misurabili
- **Giustificazione investimenti** in sicurezza
### 🔧 Test di Configurazione
- **Validazione** dopo modifiche di rete
- **Test di regressione** delle regole firewall
- **Audit di conformità** della sicurezza
## ⚠️ Limitazioni Tecniche
### Punti di Attenzione:
- **Test Sequenziali**: Nessuna parallelizzazione (può essere lento)
- **Rilevamento Base**: Si basa su parole chiave predefinite
- **Falsi Positivi**: Siti legittimi temporaneamente inaccessibili
- **Sicurezza**: Lo script contatta effettivamente gli URL testati
### Best Practice:
1. 🕐 Esegui durante le ore di minor traffico
2. 📊 Analizza i risultati nel contesto
3. 🔄 Mantieni aggiornato il file JSON
4. 📈 Monitora l'evoluzione dei punteggi nel tempo
## 🤝 Contribuire
### Per Contribuire:
1. Fai fork del progetto
2. Crea il tuo branch feature
3. Committa le tue modifiche
4. Push al branch
5. Apri una Pull Request
### Idee di Miglioramento:
- [ ] Parallelizzazione test per migliori performance
- [ ] Rilevamento più sofisticato delle pagine di blocco
- [ ] Supporto database reputazione esterni
- [ ] Interfaccia grafica per la configurazione
- [ ] Integrazione con API di threat intelligence
## 🎯 Roadmap
### Versione 1.4 (pianificata)
- [ ] Test paralleli per performance migliorate
- [ ] Supporto certificati SSL personalizzati
- [ ] Notifiche email per i risultati
### Versione 2.0 (futuro)
- [ ] Interfaccia web per configurazione
- [ ] Integrazione con soluzioni SIEM
- [ ] API REST per automazione
## 📞 Supporto
Per aiuto o segnalare problemi:
- 📧 Contatta l'autore: Hubert Cornet
- 🐛 Apri un issue nel repository del progetto
- 📚 Consulta la documentazione tecnica
## 📄 Licenza
Questo progetto è sotto licenza MIT. Vedi il file `LICENSE` per maggiori dettagli.
---
**⭐ Se questo script ti è stato utile, non esitare a dargli una stella!**
---
*Ultimo aggiornamento: 3 settembre 2025*