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

|
||||

|
||||

|
||||
|
||||
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*
|
Reference in New Issue
Block a user