Wir schützen den Remote-Server unter Windows so gut wir können


Das Thema Windows-Serversicherheit wurde mehr als einmal angesprochen, auch in diesem Blog. Trotzdem möchte ich die Erinnerung an die alten Verteidigungsmethoden noch einmal auffrischen und über wenig bekannte neue sprechen. Natürlich werden wir die eingebauten Tools maximal nutzen.


Angenommen, wir haben eine kleine Firma, die einen Terminalserver in einem entfernten Rechenzentrum mietet.


Wenn Sie einen Schutz entwerfen, sollten Sie mit einem Bedrohungsmodell beginnen - vor wem oder was wir tatsächlich verteidigen werden. In unserer typischen Konfiguration werde ich eine Verteidigung gegen externe böse Hacker vor inkompetenten (und möglicherweise etwas böswilligen) Benutzern aufbauen. Beginnen wir mit dem äußeren Umfang der Verteidigung - der Firewall.


Hinter dir wie eine Feuerwand


In den Tagen von Windows 2003 war die integrierte Firewall ein miserabler Anblick, und wenn es unmöglich war, Tools von Drittanbietern zu verwenden, mussten Sie IPSec verwenden. Ein Beispiel für eine solche Konfiguration wird beispielsweise im Material Sichere Windows-Server mit IPSec-Firewall erläutert.


Mit dem Aufkommen von WFP ( Windows Filtering Platform ) sind die Dinge jetzt besser geworden. Im Prinzip ist wahrscheinlich ohnehin jeder Windows-Systemadministrator auf diese Firewall gestoßen, sodass das Einrichten des Remotezugriffs auf den Server nur von bestimmten IP-Adressen aus nicht schwierig sein sollte. Ich werde auf einige "Chips" achten, die selten verwendet werden.


Standardmäßig blockiert die Firewall alle eingehenden Verbindungen mit Ausnahme der explizit zulässigen, ausgehende Verbindungen jedoch alle außer explizit verbotenen Verbindungen. Diese Richtlinie kann geändert werden, indem die Firewall-Verwaltung über wf.msc geöffnet und "Eigenschaften" ausgewählt wird.



Firewall-Einstellungen.


Wenn wir nun verhindern möchten, dass Benutzer des Terminalservers von diesem Server aus auf das Internet zugreifen, sind wir erfolgreich.


Es ist zu beachten, dass beim Einrichten von Serverzugriffsregeln (eingehende Verbindungen) das explizite Erstellen von Regeln für ausgehenden Datenverkehr nicht erforderlich ist. In Bezug auf iptables sind etablierte und verwandte immer erlaubt.

Für Kenner der Befehlszeile können Sie die Firewall im Kontext der netsh advfirewall konfigurieren. Weitere Informationen zu den Befehlen finden Sie im Artikel " Windows 7-Firewall mit erweiterter Sicherheit ". Ich füge hinzu, dass das Blockieren eingehender und ausgehender Verbindungen durch den folgenden Befehl aktiviert wird:


netsh advfirewall set currentprofile firewallpolicy blockinbound,blockoutbound 

Ein weiteres Merkmal der Windows-Firewall ist, dass jedes Programm oder jede Einstellung seine Regeln ohne Benachrichtigung ändert. Zum Beispiel haben Sie alle Regeln für unseren Großvater deaktiviert, eine zweite ist in der Nähe erschienen, Sie haben ein lokales Netzwerk zwischen ihnen eingerichtet, einen gemeinsamen Zugriff eingerichtet und ... plötzlich haben Sie jdm für alle und alles mit allen daraus resultierenden Konsequenzen aktiviert.


Grundsätzlich gibt es zweieinhalb Exits (ich möchte Sie daran erinnern, wir sprechen nur über integrierte Tools): Überprüfen Sie regelmäßig, ob sich die Regeln geändert haben, und verwenden Sie die gute alte IPSec. Für mich ist es am sinnvollsten, die Firewall mit Gruppenrichtlinien zu konfigurieren. Die Einstellungen werden unter Computerkonfiguration - Windows-Konfiguration - Sicherheitseinstellungen - Windows Defender Firewall Monitor in Advanced Security vorgenommen.



Konfigurieren einer Firewall-Gruppenrichtlinie.


Mithilfe der Windows-Firewall können Sie auch ein einfaches fail2ban implementieren. Es reicht aus, die Prüfung fehlgeschlagener Anmeldeversuche zu aktivieren und bei mehreren Fehlern hintereinander die Quell-IP zu blockieren. Sie können selbst geschriebene Skripte oder vorgefertigte Tools verwenden, über die ich im Artikel " Wie man Verschlüsseler gibt, um ein Unternehmen zu versenken " geschrieben habe.


Wenn die integrierte Firewall nicht ausreicht und Sie etwas Ernsthafteres verwenden möchten, können Sie Software von Drittanbietern installieren. Schade, dass die meisten bekannten Lösungen für Windows Server bezahlt werden. Eine andere Möglichkeit wäre, einen Router vor den Server zu stellen. Es ist klar, dass eine solche Installation geeignet ist, wenn wir Colocation verwenden und keinen Server irgendwo weit, weit im Ausland mieten. Wenn Sie sich für ein fremdes Rechenzentrum entscheiden, können Sie die Virtualisierung verwenden, z. B. das integrierte Hyper-V, und die bekannte GNU \ Linux oder FreeBSD in der virtuellen Maschine installieren.


Es stellt sich die Frage, wie die virtuelle Maschine über einen direkten Internetzugang verfügt, der Server jedoch nicht. Darüber hinaus leuchtet die MAC-Adresse des Servers nicht auf dem Hoster und erfordert daher nicht den Kauf einer anderen IP-Adresse.


Achtung Weitere Aktionen werden am besten über IP-KVM durchgeführt!

Dazu muss die virtuelle Maschine mit zwei Netzwerkadaptern ausgestattet sein. Eine ist für die direkte Verbindung mit dem Internet, da wir einen virtuellen Switch vom Typ "extern" herstellen und das Kontrollkästchen deaktivieren, damit das Betriebssystem mit diesem Switch interagieren kann. Mit diesem Häkchen wird dem Server der direkte Zugriff auf das Internet entzogen (es ist besser, die virtuelle Firewall im Voraus zu konfigurieren), und der MAC leuchtet dem Host nicht auf.



Konfigurieren Sie einen externen virtuellen Switch.


Für die Interaktion zwischen der virtuellen Maschine und dem Server sollte ein weiterer virtueller Switch vom Typ "intern" ausgeführt werden. Die lokale Adressierung muss bereits konfiguriert werden. Dadurch wird ein virtueller Router erstellt, der vor dem Server steht und ihn schützt.


Gleichzeitig können Sie Ihr bevorzugtes VPN für das Büro oder Remote-Mitarbeiter auf dieser virtuellen Maschine konfigurieren, ohne sich um die Rolle von "Routing und Remotezugriff" oder die integrierte IPSec zu kümmern, wie im Artikel " Wie ich die 1C-Basis in Deutschland versteckt habe " beschrieben. Die Hauptsache ist, nicht zu vergessen, den Start dieser virtuellen Maschine beim Systemstart zu überprüfen.


Sie können über reguläres RDP eine Verbindung zu einem solchen Server herstellen oder HTML5-Clients mit Zwei-Faktor-Authentifizierung verwenden. Im Falle von Brute Force lohnt es sich, sich um beide fail2ban-Lösungen zu kümmern und das Konto für einige Zeit mit mehreren erfolglosen Autorisierungsversuchen hintereinander zu sperren.


Draußen haben wir den Server mehr oder weniger geschützt. Kommen wir zum internen Schutz.


Interner Schutz: Anhalten und nicht loslassen


Um den Server von innen zu schützen, möchte ich natürlich eine Art Antivirus installieren - Sie wissen nie, was die Serverbenutzer aus dem Internet ansammeln oder pumpen. In der Praxis kann das Antivirenprogramm auf dem Server jedoch mehr schaden als nützen. Daher verwende ich normalerweise nicht auf der Whitelist stehende Blockierungsmechanismen für den Start von Software - insbesondere den SRP-Mechanismus (Software Restriction Policies), den ich auch im Artikel „ So aktivieren Sie, dass Verschlüsseler ein Unternehmen überfluten “ erwähnte.


Ich werde näher auf eine Falle eingehen, die wir oft vergessen, wenn Sie SRP mit Standardeinstellungen aktivieren, wenn bis auf die Ordner Windows und Programme alles blockiert ist. In der Tat filtert dies fast alle Malware heraus. Es funktioniert jedoch nicht wirklich mit der Bösartigkeit von Mitarbeitern, da sich in den Systemordnern Unterordner befinden, die das Recht haben, Objekte von Benutzern zu erstellen. Sie können sich beispielsweise den Ordner C: \ Windows \ Temp ansehen.



Berechtigungen für den Ordner, der auf der Whitelist steht.


Und ein solcher Ordner ist nicht allein. Sie können Systemordner natürlich selbst prüfen oder Personen vertrauen, die dies bereits getan haben. Zum Beispiel geht ein Stefan Kanthak- Spezialist in seinem Blog (es gibt einen EICAR-Testvirus als Referenz, ein Antivirenprogramm kann funktionieren) ziemlich aggressiv durch Antiviren- und Windows-Schutzmethoden und bietet gleichzeitig ein bereits zusammengestelltes SRP-Einstellungspaket an, das auch solche verdächtigen Ordner blockiert. Auf Anfrage stellt der Autor ein Programm zum Konvertieren dieser Registrierungseinstellungen in lokale Richtliniendateien zur Verfügung.


Wenn Sie den AppLocker-Mechanismus mit flexibleren Einstellungen bevorzugen , kann Ihnen die AaronLocker- Lösung helfen.


Die Redakteure empfehlen nicht, Skripte und andere Programme aus dem Internet zu verwenden und zu installieren, ohne sie vorher zu studieren.

Wenn AppLocker lange Zeit angezeigt wurde und das Alter von SRP 15 Jahre überschritt, ist WDAC (Windows Defender Application Control) eine relativ neue Alternative. In der Tat hat das integrierte „Antivirus“ seit Security Essentials viele interessante Funktionen erhalten. Beispielsweise ist WDAC das Modul, das für die Zugriffsrichtlinien für Anwendungen und Bibliotheken verantwortlich ist. Zuvor war es Teil von Device Guard (Schutz eines Computers, einschließlich der Verwendung von Virtualisierungstechnologien), und ein wenig über seine Konfiguration wurde im Artikel „ Das Prinzip des S-Modus in Windows 10 und das Einrichten von Device Guard mit Ihren eigenen Händen “ beschrieben. Weitere Details zu allen Feinheiten finden Sie in der offiziellen Dokumentation , aber ich kann einige Nachteile hinzufügen, die es von klassischen Lösungen wie SRP und AppLocker unterscheiden:


  • Es gibt keine grafische Konfiguration für alle PowerShell-Cmdlets.
  • Es gibt keine Einstellungen im Benutzer-Slice, nur für den Computer.
  • Das Setup ist ziemlich ungewöhnlich - es wird eine XML-Datei vorbereitet, die dann in eine Binärdatei konvertiert und an Computer verteilt wird.

Es ist jedoch möglich, die Anwendung in einem Slice zu konfigurieren: Wenn Sie beispielsweise cmd.exe Zugriff auf Ihr Skript und nicht auf einen Virus eines Drittanbieters gewähren möchten, kann dies implementiert werden. Darüber hinaus kann die Richtlinie vor dem Booten des Systems mit UEFI angewendet werden.



Chrome Lock über WDAC.


Aufgrund der schmerzhaften Konfiguration hatte man im Allgemeinen den Eindruck, dass WDAC nicht mehr für die Verwaltung von Computern allein positioniert war, sondern als Tool, das die Integration in zentralisierte MDM-Systeme wie Microsoft Intune ermöglicht . Gleichzeitig wurde die Entwicklung des guten alten SRP in Windows 10 1803 eingestellt.


Wenn wir über Windows Defender sprechen, können Sie nicht anders, als den Credential Guard und den Remote Credential Guard zu erwähnen.


Das erste Tool verwendet erneut die Virtualisierung und startet die LSA-Komponente (Local Security Authority) in einem vom Betriebssystem isolierten Prozess, was das Stehlen von Hashes von Kennwörtern und Kerberos-Tickets erheblich erschwert. Lesen Sie mehr über die Technologie in der offiziellen Dokumentation . Damit der Prozessor funktioniert, muss er die Virtualisierung unterstützen, und auf dem System muss Secure Boot aktiviert und das TPM-Modul zum Binden von Anmeldeinformationen an das Gerät vorhanden sein. Sie können Credential Guard über die Gruppenrichtlinie Computerkonfiguration - Administrative Vorlagen - System - Device Guard - Virtualisierungsbasierte Sicherheit aktivieren aktivieren.



Anmeldeinformationsschutz aktivieren.


Das zweite Tool dient zum Schutz der übertragenen Anmeldeinformationen (insbesondere des Administrators!) Für die Remoteverbindung, z. B. über dasselbe RDP. Bisher wurde für diese Zwecke der Mechanismus für den eingeschränkten Administratormodus vorgeschlagen, der jedoch die Verbindung auf nur einen Server beschränkte. Nach der Verbindung mit dem Server war es unmöglich, nur Netzwerkressourcen zu verwenden. Administratorrechte wurden nur auf einen Server a la Local System-Konto angewendet.


Mit Remote Credential Guard können Sie Anmeldeinformationen vom lokalen Computer auf einen Remote-Server übertragen, ohne ein explizites Kennwort eingeben zu müssen. Dies bietet neben der erweiterten Sicherheit auch die Möglichkeit, eine Verbindung zu Servern (SSO) herzustellen. Sie können mehr in der Dokumentation lesen, aber ich möchte hinzufügen, dass der Mechanismus ausreicht, um seine Unterstützung auf dem Server zu aktivieren, z. B. über die Registrierung mit dem folgenden Befehl:


 reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /d 0 

Stellen Sie dann mit dem folgenden Befehl eine Verbindung zum Server her:


 mstsc.exe /remoteGuard 

Jetzt sind die Anmeldeinformationen sicher und der Server ist ziemlich sicher. Zwar habe ich in dem Material Fragen des Schutzes vor einem böswilligen Hoster nicht bewusst angesprochen, aber hier kommt es im Allgemeinen auf eine Sache an - die Festplattenverschlüsselung.

Source: https://habr.com/ru/post/de474088/


All Articles