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 @@
# 🛡️ Audyt 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)
Profesjonalne narzędzie audytowe PowerShell do oceny skuteczności filtrowania zapory sieciowej poprzez testowanie skategoryzowanych URL-i na podstawie ich reputacji sieciowej.
## 📋 Spis Treści
- [Przegląd](#-przegląd)
- [Funkcje](#-funkcje)
- [Wymagania](#-wymagania)
- [Instalacja](#-instalacja)
- [Użycie](#-użycie)
- [Konfiguracja](#-konfiguracja)
- [Wygenerowany Raport](#-wygenerowany-raport)
- [Struktura Danych](#-struktura-danych)
- [System Punktacji](#-system-punktacji)
- [Rozwiązywanie Problemów](#-rozwiązywanie-problemów)
- [Współpraca](#-współpraca)
- [Licencja](#-licencja)
## 🎯 Przegląd
Ten skrypt PowerShell testuje skuteczność zapory sieciowej, sprawdzając czy złośliwe URL-e są prawidłowo blokowane, podczas gdy legalne strony pozostają dostępne. Generuje profesjonalny raport HTML z punktacją, statystykami i rekomendacjami.
**Autor:** Hubert Cornet
**Wersja:** 1.3
**Data:** 3 września 2025
## ✨ Funkcje
- 🔍 **Automatyczne testowanie** setek skategoryzowanych URL-i
- 📊 **Inteligentna punktacja** z ocenami od A+ do F
- 📱 **Responsywny raport HTML** z interaktywnym interfejsem
- 🔧 **Obsługa proxy** z uwierzytelnianiem
-**Paski postępu w czasie rzeczywistym**
- 🎨 **Kolorowe wizualizacje** wyników
- 💾 **Eksport JSON** surowych danych
- 🌐 **Wielometodowe wykrywanie** blokad
## 📋 Wymagania
### Wymagania Systemowe
- Windows 10/11 lub Windows Server 2016+
- PowerShell 5.1 lub wyższy
- Aktywne połączenie internetowe
- Uprawnienia do zapisu w katalogu skryptu
### Moduły PowerShell (instalowane automatycznie)
- `PSWriteHTML`
- `PSWriteColor`
### Wymagane Pliki
- `file-nrs.json` - Baza danych skategoryzowanych URL-i
## 🚀 Instalacja
1. **Pobierz skrypt** do dedykowanego folderu
2. **Pobierz plik JSON** z:
```
https://gitea.tips-of-mine.com/Tips-Of-Mine/Powershell/src/branch/main/cybersecurity/Network%20Reputation%20Service/file-nrs.json
```
3. **Umieść oba pliki** w tym samym katalogu
## 💻 Użycie
### Podstawowe Użycie
```powershell
.\AuditFirewall.ps1
```
### Z Proxy
```powershell
.\AuditFirewall.ps1 -ProxyUrl "http://proxy.firma.com:8080"
```
### Z Uwierzytelnianiem Proxy
```powershell
.\AuditFirewall.ps1 -ProxyUrl "http://proxy.firma.com:8080" -ProxyUseAuthentication
```
### Z Niestandardowym Limitem Czasu
```powershell
.\AuditFirewall.ps1 -TimeoutSeconds 15
```
## ⚙️ Konfiguracja
### Dostępne Parametry
| Parametr | Typ | Opis | Domyślny |
|----------|-----|------|----------|
| `ProxyUrl` | String | URL proxy sieciowego | Brak |
| `ProxyUseAuthentication` | Switch | Włącz uwierzytelnianie proxy | False |
| `TimeoutSeconds` | Integer | Limit czasu na URL | 10 |
### Dostosowanie Słów Kluczowych Blokady
Zmodyfikuj zmienną `$BlockKeywords` w skrypcie:
```powershell
$BlockKeywords = @("strona zablokowana", "dostęp zabroniony", "filtrowanie web", "Access Denied", "Site Blocked")
```
## 📊 Wygenerowany Raport
Skrypt automatycznie generuje:
### 📁 Struktura Plików Wyjściowych
```
Rapports/
└── [Data i Czas]/
├── Audit_Firewall_Report.html # Główny raport
└── Results.json # Surowe dane
```
### 🎨 Zawartość Raportu HTML
- **Streszczenie Wykonawcze**: Globalny wynik i kluczowe statystyki
- **Tabela Wyników**: Wydajność według kategorii
- **Interaktywne Szczegóły**: Indywidualne testy na URL
- **Skala Ocen**: Wyjaśnienie systemu punktacji
## 📁 Struktura Danych
### Format `file-nrs.json`
```json
{
"categorie": [
{
"id": "malware",
"nom": "Malware",
"description": "Strony dystrybuujące złośliwe oprogramowanie",
"urls": [
{
"url": "http://przykład-malware.com",
"reputation": "malicious",
"expected_action": "block"
},
{
"url": "https://legalna-strona.com",
"reputation": "safe",
"expected_action": "allow"
}
]
}
]
}
```
### Oczekiwane Działania
- `"block"`: URL powinien być zablokowany przez zaporę
- `"allow"`: URL powinien pozostać dostępny
## 📈 System Punktacji
### Skala Ocen
| Ocena | Punkty | Interpretacja |
|-------|--------|---------------|
| **A+** | 95-100% | 🟢 Doskonały / Idealny |
| **A** | 90-95% | 🟢 Bardzo dobry poziom filtrowania |
| **B+** | 85-90% | 🟡 Bardzo dobry |
| **B** | 80-85% | 🟡 Dobry, potrzebne pewne dostosowania |
| **C+** | 75-80% | 🟠 Dość dobry |
| **C** | 70-75% | 🟠 Średni, znaczące luki |
| **D+** | 65-70% | 🔴 Do zaakceptowania |
| **D** | 60-65% | 🔴 Słaby, nieefektywne filtrowanie |
| **E+** | 55-60% | 🔴 Bardzo słaby |
| **E** | 50-55% | 🔴 Niewystarczający |
| **F+** | 45-50% | ⚫ Krytyczny |
| **F** | 0-45% | ⚫ Wymagane natychmiastowe działanie |
### Metoda Obliczania
```
Punkty = (Poprawnie filtrowane URL-e / Łączna liczba testowanych URL-i) × 100
```
## 🔍 Metody Wykrywania
### Jak skrypt wykrywa blokady:
1. **Analiza Zawartości**: Wyszukiwanie słów kluczowych stron blokujących
2. **Limity Czasu Sieci**: Żądania, które wygasają (prawdopodobna blokada zapory)
3. **Błędy Połączenia**: Niemożność osiągnięcia serwera
4. **Kody Statusu HTTP**: Analiza odpowiedzi serwera
### Symulowane Nagłówki HTTP:
Skrypt symuluje nowoczesną przeglądarkę, aby uniknąć wykrycia:
```
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...
Accept: text/html,application/xhtml+xml,application/xml...
Accept-Language: pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7
```
## 🔧 Rozwiązywanie Problemów
### Częste Problemy
#### ❌ "Plik 'file-nrs.json' nie istnieje!"
**Rozwiązanie:** Pobierz plik JSON z podanego linku i umieść go w tym samym folderze co skrypt.
#### ❌ "Nie można zainstalować modułu X"
**Rozwiązanie:** Uruchom PowerShell jako administrator lub użyj:
```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```
#### ❌ Częste Limity Czasu
**Rozwiązania:**
- Zwiększ wartość `-TimeoutSeconds`
- Sprawdź połączenie sieciowe
- Poprawnie skonfiguruj ustawienia proxy
#### ❌ Fałszywe Pozytywne/Negatywne
**Rozwiązania:**
- Zaktualizuj słowa kluczowe blokady
- Sprawdź konfigurację zapory
- Dostosuj plik JSON do swojego środowiska
## 🏢 Zalecane Przypadki Użycia
### 📅 Użycie Okresowe
- **Miesięczny audyt** skuteczności zapory
- **Walidacja** po aktualizacjach reguł
- **Benchmarking** między rozwiązaniami bezpieczeństwa
### 👥 Raporty Zarządcze
- **Dashboardy** dla zarządzania IT
- **Mierzalne KPI bezpieczeństwa**
- **Uzasadnienie inwestycji** w bezpieczeństwo
### 🔧 Testy Konfiguracji
- **Walidacja** po zmianach sieciowych
- **Testy regresji** reguł zapory
- **Audyt zgodności** bezpieczeństwa
## ⚠️ Ograniczenia Techniczne
### Punkty Uwagi:
- **Testy Sekwencyjne**: Brak równoległości (może być wolne)
- **Podstawowe Wykrywanie**: Opiera się na predefiniowanych słowach kluczowych
- **Fałszywe Pozytywne**: Legalne strony czasowo niedostępne
- **Bezpieczeństwo**: Skrypt rzeczywiście kontaktuje się z testowanymi URL-ami
### Najlepsze Praktyki:
1. 🕐 Uruchamiaj podczas godzin mniejszego ruchu
2. 📊 Analizuj wyniki w kontekście
3. 🔄 Utrzymuj aktualny plik JSON
4. 📈 Śledź ewolucję wyników w czasie
## 🤝 Współpraca
### Aby Współpracować:
1. Zrób fork projektu
2. Utwórz swoją gałąź funkcji
3. Zatwierdź swoje zmiany
4. Wypchnij do gałęzi
5. Otwórz Pull Request
### Pomysły na Ulepszenia:
- [ ] Równoległość testów dla lepszej wydajności
- [ ] Bardziej wyrafinowane wykrywanie stron blokujących
- [ ] Obsługa zewnętrznych baz danych reputacji
- [ ] Interfejs graficzny do konfiguracji
- [ ] Integracja z API threat intelligence
## 🎯 Mapa Drogowa
### Wersja 1.4 (planowana)
- [ ] Testy równoległe dla lepszej wydajności
- [ ] Obsługa niestandardowych certyfikatów SSL
- [ ] Powiadomienia email o wynikach
### Wersja 2.0 (przyszłość)
- [ ] Interfejs webowy do konfiguracji
- [ ] Integracja z rozwiązaniami SIEM
- [ ] API REST do automatyzacji
## 📞 Wsparcie
Aby uzyskać pomoc lub zgłosić problemy:
- 📧 Skontaktuj się z autorem: Hubert Cornet
- 🐛 Otwórz issue w repozytorium projektu
- 📚 Zapoznaj się z dokumentacją techniczną
## 📄 Licencja
Ten projekt jest pod licencją MIT. Zobacz plik `LICENSE` po więcej szczegółów.
---
**⭐ Jeśli ten skrypt był dla Ciebie przydatny, nie wahaj się dać mu gwiazdkę!**
---
*Ostatnia aktualizacja: 3 września 2025*