Networkx Backup Kontrolle
- Rust 98.5%
- Batchfile 1.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .cargo | ||
| src | ||
| .gitignore | ||
| app.manifest | ||
| app.rc | ||
| app_icon.ico | ||
| app_res.o | ||
| build.bat | ||
| build.rs | ||
| Cargo.toml | ||
| customers_checks.json | ||
| LICENSE | ||
| networkxtestlogo.png | ||
| push_release.bat | ||
| README.md | ||
| settings.json | ||
NetworkX IT Solutions - Automated Backup & Infrastructure Inspector
Das offizielle Tool zur automatisierten, hochperformanten und sicheren Backup- und Infrastruktur-Überprüfung aller Kunden-Server von NetworkX IT Solutions.
1. Übersicht & Binaries
Im Ordner dist/ (sowie in target/release/) befinden sich die fertig kompilierten, nativen Windows-Programme:
| Datei | Typ | Beschreibung |
|---|---|---|
networkx-backup-gui.exe |
Native Windows GUI | Reines Win32-Fenster ohne Browser-Engine, React oder Electron. Beinhaltet KDBX-Login, Pfadwahl, Kunden-Dropdown, Einzel-/Gesamtprüfung, RDP-Direktstart und Berichts-Export. |
networkx-backup-cli.exe |
Console / CMD App | Blitzschnelle Konsolen-App für Admins. Kann interaktiv über ein Menü bedient oder per CLI-Flags skriptgesteuert automatisiert werden. |
customers_checks.json |
Konfiguration | Strukturierte Zuweisung der auszuführenden Prüfungen pro Kunde (ohne Passwörter!). |
libunwind.dll |
Laufzeit-Bibliothek | Benötigte MinGW/LLVM-Bibliothek (liegt direkt im Ordner bei den Exes). |
2. Sicherheitsarchitektur & Härtung
Das Tool wurde nach höchsten Sicherheitsstandards in Rust entwickelt:
- Keine Klartext-Zugangsdaten gespeichert: In der Konfigurationsdatei
customers_checks.jsonsind ausschließlich Prüfprofile hinterlegt (z. B. welche Systeme vorhanden sind). Es befinden sich keinerlei Benutzernamen oder Passwörter in Konfigurationsdateien oder im Quellcode. - Volatiler KeePass-Speicher & Zeroizing:
- Beim Start wird nach dem Master-Passwort gefragt.
- Die zentrale Datenbank (
alle-kunden-backup.kdbx) wird ausschließlich im flüchtigen RAM entschlüsselt. - Alle Passwörter verwenden den Rust
zeroize-Speicherschutz (Zeroizing<String>), d. h. der Speicherbereich wird beim Verlassen des Scopes mit Nullen überschrieben.
- Compile-Time Obfuscation:
- Sensible Befehls-Strings und PowerShell-Vorlagen sind im Rust-Code über ein Makro (
obf_str!) per XOR zur Compile-Zeit verschleiert.
- Sensible Befehls-Strings und PowerShell-Vorlagen sind im Rust-Code über ein Makro (
- Schutz gegen Reverse-Engineering:
- Kompiliert mit
opt-level = 3(Höchste Optimierung). lto = "fat"(Globales Link-Time-Optimization über alle Module und Crates hinweg).codegen-units = 1für monolithischen, stark inline-optimierten Maschinencode.panic = "abort"(Entfernt alle Stack-Unwind-Tabellen).strip = true(Entfernt alle Debug-Symbole, Funktionsnamen und Metadaten restlos aus der Binärdatei).- Keine .NET IL, kein Java-Bytecode – reiner, kompilierter x86_64-Maschinencode.
- Kompiliert mit
3. Funktionsumfang der Prüfungen
Das Tool führt je nach Kundenprofil vollautomatisch folgende Prüfungen durch:
- Hyper-V VM Disk vs. Backup-Größe (
groeßenpruefung.ps1):- Liest alle aktiven Hyper-V VMs und deren VHDX/VHD-Festplattenpfade aus.
- Berechnet die Gesamtgröße der VM-Disks in GB.
- Durchsucht das Backup-Verzeichnis (
D:\Backup\<VM_Name>) und summiert die Dateigrößen. - Berechnet die Differenz in GB.
- VBM-Prüfung: Verifiziert, ob die für Veeam essenzielle
.vbm(Veeam Backup Metadata) Datei vorhanden ist. - Fallback: Falls
Get-VMfehlschlägt, erfolgt der Ordner-Vergleich zwischenD:\BackupundD:\Hyper-V.
- Hyper-V Snapshot / Prüfpunkt-Überprüfung:
- Überprüft, ob vergessene oder verwaiste Hyper-V Snapshots existieren, die den Speicher volllaufen lassen könnten.
- Veeam Tape / Bandwechsels-Prüfung:
- Überprüft die Veeam Event-Logs und Protokolldateien (
*Tape*.log) auf das Tagesdatum, um festzustellen, ob das Band täglich gewechselt wurde.
- Überprüft die Veeam Event-Logs und Protokolldateien (
- Veeam Backup für Microsoft 365:
- Überprüft den Status der Veeam 365 Backup-Dienste und Cloud-Sicherungen.
- SQL-Backup Prüfung:
- Überprüft z. B. SQLBackupAndFTP Logs und Sicherungszeitstempel.
- RDP-Integration:
- Erkennt hinterlegte
.rdp-Dateien oder Ziel-IPs aus der KeePass und kann diese auf Knopfdruck starten.
- Erkennt hinterlegte
4. Struktur der Kundenkonfiguration (customers_checks.json)
Die Datei customers_checks.json steuert für jedes Unternehmen, welche Module aktiv sind:
{
"AWD 10.5.xx.0": {
"name": "AWD 10.5.xx.0",
"tunnel_required": false,
"check_hyperv_vms": true,
"check_hyperv_snapshots": true,
"check_veeam_disk": true,
"check_veeam_tape": true,
"check_veeam_365": true,
"check_sql": true,
"cloud_only": false,
"default_hv_path": "D:\\Hyper-V",
"default_backup_path": "D:\\Backup"
},
"Froebel 10.10.1.0": {
"name": "Froebel 10.10.1.0",
"tunnel_required": false,
"check_hyperv_vms": true,
"check_hyperv_snapshots": true,
"check_veeam_disk": true,
"check_veeam_tape": true,
"check_veeam_365": true,
"check_sql": false,
"cloud_only": false,
"default_hv_path": "D:\\Hyper-V",
"default_backup_path": "D:\\Backup"
}
}
5. Bedienungsanleitung
A) Windows GUI (networkx-backup-gui.exe)
- Starte
networkx-backup-gui.exeper Doppelklick. - Der Standard-Pfad zur KeePass-Datei (
M:\Kunden\Backup-alle-Kunden\alle-kunden-backup.kdbx) ist voreingestellt und kann bei Bedarf direkt im Textfeld angepasst werden. - Gib das Master-Passwort (
K33pa$$) ein und klicke auf "KeePass öffnen & entsperren". - Wähle im Dropdown-Menü den gewünschten Kunden aus (z. B.
AWD 10.5.xx.0oderFroebel 10.10.1.0). - Klicke auf:
- "Kunde prüfen": Startet die Prüfung für diesen Kunden.
- "Alle Kunden prüfen": Läuft automatisch die Prüfungen für alle 38 Kunden durch.
- "RDP verbinden": Öffnet sofort die passende Remote-Desktop-Verbindung.
- "Bericht exportieren": Speichert das Ergebnis in einer
.txt-Protokolldatei.
B) Konsolen- / CMD-App (networkx-backup-cli.exe)
Interaktiver Modus:
networkx-backup-cli.exe
Fragt interaktiv nach KeePass-Pfad (Enter für Standard) und Passwort und zeigt anschließend ein durchnummeriertes Auswahlmenü.
Skript- / Automatisierungsmodus:
:: Einzelnen Kunden prüfen (unterstützt auch Fuzzy-Suche wie "AWD" oder "Froebel")
networkx-backup-cli.exe --password K33pa$$ --customer AWD
:: Alle Kunden prüfen
networkx-backup-cli.exe --password K33pa$$ --all
:: Mit abweichendem KDBX-Pfad
networkx-backup-cli.exe --kdbx "D:\Alternative\kunden.kdbx" --password K33pa$$ --customer "Froebel"