wir betreiben einige VM mit Windows Server unter Proxmox.
Also etwas, wovon ich keine Ahnung habe, ich habe beruflich vor allen mit Linux zu tun. Ich nutze das trotzdem als Anlass mein Halbwissen zur Schau zu stellen.
Wir haben einen Cluster mit 2 Nodes im Einsatz.
Die VMs werden auf den anderen Node repliziert und per PBS auf eine NAS gespeichert.
Zusätzlich werden die VM´s noch in die Hetzner Cloud transferiert.
Läuft alles wirklich gut.
Ist da der PBS wirklich ausreichen für die Dateisicherheit und Wiederherstellung?
Das hängt davon ab, was für Anwendungen ihr habt (Datenbanken würde ich seperat sichern, für AD, Exchange und anderen Windows-Kram überlasse ich das wort berufeneren).
Wie schützt Ihr euere Windows Server unter PVE / PBS?
Naja, ich schätze mal, so wie jeden anderen Windows-Server auch, das ist erstmal nicht abhängig von der Virtualisierung.
Wie gesagt: Ich bin kein Windows-Admin, erlaube mir aber trotzdem eine Meinung.
Die Ausgangsfrage sollte sein: Wovor wollt ihr euch schützen (also was ist das Thread-Model) und wie lange darf ein potentieller Ausfall maximal dauern? Macht ihr euch vor allen Sorgen um Ransomware? Habt ihr Angst vor Industriespionage oder internen Angreifen (also Mitarbeitern, die Mist bauen, das können auch Admins mit weitreichenden Zugriffsrechten sein!). Ist der Ausfall als solcher verkraftbar, aber mögliche Haftungsrisiken und Strafgelder das eigentliche Problem (also Compilance)? Je nachdem ergeben sich unterschiedliche Szenarien und Lösungsmöglichkeiten.
Backup und Restore (obwohl beides natürlich vorhanden und geübt werden sollte, Backup dass man nicht wiederhergestellt kriegt, ist nutzlos!) sind da nur ein Lösungsbaustein. Oder findet eurer Mangement es ok, wenn ihr euch Ransomware einfängt, solange ihr alles nur innerhalb von einen Tag/einer Woche/einen Monat wieder hergestellt kriegt? Außerdem kann ja auch ein Backup vom Angreifer übernommen werden.
Ganz interessant fande ich dazu folgenden Podcast über einen erfolgreichen Ransomwareangriff auf den Landkreis Anhalt-Bitterfeld:
https://www.mdr.de/mdr-sachsen-anhalt/podcast/you-are-fucked/index.html
Eine Kurzfassung:
https://kommunalwiki.boell.de/index.php/Cyberangriff_auf_Landkreis_Anhalt-Bitterfeld_2021 (Anmerkung: Das wiki wird von der grünennahen Heinrich-Böll-Stiftung gehostet zu werden, trotz dieser parteilichen Färbung entspricht die dortige Darstellung aber den im Podcast genannten Fakten)
Dort hat die Ransomware nicht nur die einzelnen Desktoprechner, sondern auch die Windows-Server und (wenn ich mich richtig erinnere) den Backupserver übernehmen können, da alles im gleichen AD hing und die Admins mit ihren normalen User auch auf die Server konnten.
Auch sonst habe ich die Empfehlung gelesen, dass man eine starke Privilegientrennung durchführen sollte: Also, als normaler User kann man nicht den eigenen Rechner administrieren, sondern nur mit einen admin-Account (der ja für die gleiche Person ausgestellt sein kann) für diesen Rechner. Für die normalen Server braucht es wieder einen eigenen Account. Für die Administration von AD und den Zugriff auf den Backupserver (guess what) sind wieder je eigene Accounts fällig. Zusätzlich wird empfohlen, dass man zusätzlich 2Faktor-Authentifizierung einführt und/oder Smartcards statt Passwort (Hintergrund: Die ransomwares und Hacker versuchen getippte Passwörter abzugreifen, was mit Smartcards oder 2Fa nicht ohne weiteres funktioniert, bzw. haben 2fA-Tokens einen Ablaufzeitpunkt, weshalb der Angreifer damit nicht viel anfangen kann).
Solche Maßnahmen kann man natürlich nicht nur für Windows treffen: Auch unter Linux (und damit auch PBS und PVE) ist das möglich: So bietet es sich an, den root-User nach Möglichkeit gar nicht zu nutzen, sondern mit Userkennungen und daraus abgeleiteten Tokens mit 2FA zu arbeiten. Zusätzlich kann man sich vor dem Szenario "Auch das Backup wurde gehackt" auf zwei Weisen schützen: Erstens den PBS unabhängig vom restlichen Netz auf eigener Hardware und eigenen Zugangsdaten (also lokale User, KEIN AD oder LDAP) aufzusetzen. Zweitens kann man in PBS auch Syncjobs konfigurieren, die sich Backups von anderen PBS-Servern ziehen. Damit kann man nun folgende Kette aufbauen:
1. ProxmoxVE darf Backups auf lokalen PBS schreiben, aber nicht löschen oder verändern.
2. Lokaler PBS räumt regelmäßig alte Backups weg und erlaubt, dass der offsitePBS(sofern er die richtigen Zugangsdaten verwendet) sich Backups ziehen kann, diese aber nicht verändern. Auf den remotePBS hat er Lesezugriff zum restore, aber keinen Schreibzugriff.
3. Offsite PBS erlaubt keinen Schreibzugriff für den PVE und lokalen PBS, nur Lesezugriff (für restore). Er kann außerdem sich Backups vom lokalen PBS ziehen, diese aber nicht bearbeiten (siehe 2.). Ein pulljob zieht sich regelmäßig die neuen Backups vom lokalen PBS, außerdem laufen eigene Aufräumjobs. Als zusätzliche Absicherung sorgt eine Firewallregel dafür, dass im Normalbetrieb der lokale PBS und ProxmoxVE gar keinen Zugriff haben. Sobald ein Restore nötig wird, wird temporär eine Freischaltung dafür (und nur dafür) eingerichtet.
Damit verhindert man also das Szenario, dass ein Angreifer nach Übernahme der gesamten lokalen Infrastruktur (inklusive PBS) auch die offsite-Backups manipulieren kann. Wenn man die offsite-Backups lange genug vorhält, hat man immer einen (mehr oder weniger alten) Datenbestand, der noch nicht kompromitiert wurde und worauf man zurück kann.
Ein weiterer Baustein ist zu verhindern, dass User unautorisierte Anwendungen ausführen können (z.B. als Emailanhänge oder heruntergeladene aus dem Internet), dafür gibt es es unter Windows mit SRP, Safer, Applocker und WDAC verschiedene Mechanismen (je nach Windows-Version funktionieren nicht alle), um die Ausführung von Programmen nur für bestimmte Programme aus bestimmten Verzeichnissen zu erlauben (Application-Whitelisting). Stefan Kanthak und Christoph Schneegans haben dazu einiges veröffentlicht, bei Schneegans und Microsoft findet man auch Tools, um sich Richtlinien für WDAC zu bauen.
Das hilft natürlich nicht nur gegen Ransomware, sondern auch klassische Viren. Anders als bei Antivirenprogrammen auch dann, wenn diese bisher unbekannt sind (außer sie finden im Whitelisting-Mechanismus eine Lücke) und ohne, dass sie selbst Sicherheitslücken aufmachen (siehe
https://www.golem.de/news/antivirensoftware-die-schlangenoel-branche-1612-125148.html für eine seriöse Kritik an Antivirenprogrammen). Dafür sind Antivirenprogramme durchaus nützlich für Compilance: In den USA (und vermutlich auch in Deutschland) gibt es Versicherungen, die einen gegen Schadensfälle aus Cyberangriffen versichern, die kriegt man aber nur (bzw. günstiger), wenn ein Antivirenprogramm ausgerollt wurde. Technisch kann man das fragwürdig finden, wenn der Hauptsinn ist sich gegen Schadensersatzansprüche zu sichern, finde ich das aber durchaus legitim.
Dann kann und sollte man natürlich das interne Netzwerk noch möglicht gut gegen die Außenwelt absichern, wobei im Zeitalter der Cloud und Online-Updates das nur noch sehr bedingt möglich ist (siehe dazu folgenden Talk von einer Veranstaltung des Chaos Computer Clubs:
https://talks.mrmcd.net/2024/talk/8CZJFN/ )
Wichtig: Alles Erwähnte basiert auf zusammengelesenen Halbwissen, ich bin eigentlich kein Windows-Admin
Für unsere Handvoll Window-Server wollte ich eigentlich mal folgenden Kurs bei Heise besuchen, aber habe es bisher noch nicht geschafft, mich darum zu kümmern
https://heise-academy.de/Videokurse/windows_10_11_mit_Bordmitteln_absichern
Toll wäre es wenn man sein PVE Cluster vernüftig mit Proxmox Mitteln (Replication und PBS) absichern könnte.
Kann man doch? Zumindestens in Bezug auf backup- und restore, aber Security ist halt noch mehr, siehe oben. Oder anders gesagt: Was fehlt dir?
Wie macht Ihr das aktuell?
Ich nutze Proxmox nur im Homelab und da habe ich kein Windows.
Edit: Ganz vergessen ( weil für mich selbstverständlich): Die wichtigste Maßnahme unter allen Betriebssystemen ist nach Meinung vieler Sicherheitsexperten, alle (!) Sicherheitsupdates schnellstmöglich ( unter 24 Stunden ) einzuspielen, meistens kommen Angreifer über bereits geschloßene Lücken rein. Man muss sich dafür ( insbesondere, aber nicht nur unter Windows) halt ein Vorgehen überlegen, wie man das ganze testet ( damit das Update einen nicht die Profuktion kaputt macht) und schnell wieder zurückgerollt kriegt.