Files
Powershell/cybersecurity/Network Reputation Service/readme-it.md

295 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🛡️ 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*