Absicherung des NetCrunch-Servers
So stellen Sie NetCrunch so bereit, dass der Server selbst nur eine kleine Angriffsfläche bietet – was der Server tun sollte und was nicht, unter welchem Konto er ausgeführt wird und warum die Überwachung auf einem Probe und nicht auf dem Server erfolgen sollte.
NetCrunch Security Features behandelt, was die von NetCrunch gespeicherten Daten schützt. Hier geht es um die Bereitstellung rund um diese Daten: darum, wie der Server ausgeführt wird, damit von vornherein weniger erreichbar ist.
Die Begründung ist in allen Fällen dieselbe. Ein Überwachungsserver enthält Zugangsdaten für einen großen Teil der Infrastruktur und kann Maschinen erreichen, die für nichts anderes erreichbar sind. Alles, was auf diesem Computer ausgeführt wird, übernimmt diese Position.
Im Folgenden finden Sie Empfehlungen, keine verbindlichen Vorgaben. NetCrunch blockiert derzeit nichts davon – nichts hindert Sie daran, die Überwachung über den Server-Probe auszuführen oder einen Skriptsensor darauf zu betreiben. Dies sind die Entscheidungen, die eine Installation vertretbar machen; für ihre Umsetzung sind Sie selbst verantwortlich.
Geben Sie dem Server nur eine Aufgabe
Führen Sie auf dem Server ausschließlich NetCrunch aus. Keine anderen Dienste, keine anderen Anwendungen und keine allgemeine Nutzung.
Dabei geht es nicht um Ressourcen. Ein Überwachungsserver ist ein Computer, der bereits über Zugangsdaten für Ihre Infrastruktur verfügt; jeder zusätzliche Prozess darauf ist ein weiterer Weg zu diesen Zugangsdaten.
Überwachen Sie über einen Probe, nicht über den Server
Wir empfehlen, einen Monitoring Probe auf einem separaten Computer zu installieren und Ihre Umgebung von dort aus zu überwachen. Siehe Verteilte Überwachung.
Der Server-Probe sollte ausschließlich NetCrunch selbst überwachen.
Diese Trennung macht die obige Empfehlung praktikabel. Die Überwachung greift auf Geräte zu, verarbeitet deren Antworten und führt in manchen Konfigurationen Code aus, um dies zu erledigen. Wenn diese Aufgaben auf einem Probe ausgeführt werden, bleiben die Arbeit – und alles, was dabei schiefgehen kann – von dem Computer getrennt, auf dem sich die Datenbank mit den Zugangsdaten befindet.
service-account
Das Dienstkonto
NetCrunch kann nicht als Local Service ausgeführt werden. Dies ist keine Präferenz für die Absicherung; das Produkt funktioniert auf diese Weise nicht.
Dafür gibt es zwei Gründe, von denen jeder für sich ausreicht:
- Ein Local Service-Konto besitzt keine Netzwerkidentität und kann sich daher nicht bei anderen Windows-Computern authentifizieren. Die Windows-Überwachung und die Active Directory-Überwachung funktionieren dann nicht mehr.
- NetCrunch speichert die Konfiguration unter
HKEY_LOCAL_MACHINE, in das dieses Konto nicht schreiben kann.
Wenn Sie Local Service verwenden möchten, um den Zugriff des Überwachungsprozesses einzuschränken, ist der Probe der unterstützte Weg, dies zu erreichen: Führen Sie den Probe auf einem separaten Computer mit den tatsächlich für die Überwachung erforderlichen Berechtigungen aus und halten Sie den Server davon frei.
Die Reduzierung der erforderlichen Berechtigungen des Serverkontos ist eine laufende Aufgabe. Daher ist zu erwarten, dass sich dieses Bild in einer zukünftigen Version verbessert. Heute ist der Probe der Weg, dies zu erreichen.
Das Konto, unter dem NetCrunch ausgeführt wird, bestimmt auch den Zugriff auf den Datenordner. Wenn der Dienst nicht als LocalSystem ausgeführt wird, erhält dieses Konto zusammen mit SYSTEM und der lokalen Gruppe Administrators Zugriff auf die Datenstruktur. Siehe NetCrunch Security Features.
startup-script
Das Startskript
NetCrunch führt während des Serverstarts ein Startskript aus, bevor die Überwachung beginnt – dies ist nützlich, um alles vorzubereiten, von dem die Überwachung abhängt, beispielsweise das Zuordnen von Netzlaufwerken.
SettingsNetCrunch SystemServerStartup Script
Das Skript kann nicht über die Konsole ausgewählt werden. Es handelt sich um eine einzelne, festgelegte Datei, die Sie selbst auf dem Servercomputer ablegen:
StartupScript.cmd- Im Installationsverzeichnis von NetCrunch – nicht im Datenverzeichnis. Der Name ist exakt festgelegt und es gibt keine Suche: eine Datei, eine eindeutige Erklärung dafür, warum ein Skript ausgeführt wurde oder nicht. Wenn die Datei nicht vorhanden ist, wird der Start einfach fortgesetzt.
Dies ist beabsichtigt und die sicherheitsrelevante Eigenschaft, die es zu verstehen gilt. Die Festlegung dessen, was beim Serverstart ausgeführt wird, erfordert nun Schreibzugriff auf das Installationsverzeichnis, was auf diesem Computer bereits lokale Administratorrechte voraussetzt. Dies kann nicht von einem entfernten Aufrufer festgelegt werden.
Dies wurde in dieser Version geändert. In früheren Versionen konnte das Skript remote ausgewählt werden, sodass ein Administrationsclient festlegen konnte, was der Server ausführt. Jetzt wird über das Netzwerk nur noch festgelegt, wie lange gewartet werden soll.
Wartezeit
Die einzige Einstellung legt fest, wie lange NetCrunch auf das Skript wartet, bevor der Start fortgesetzt wird – maximal 300 Sekunden, standardmäßig 30.
Setzen Sie den Wert auf 0, um das Skript zu starten und sofort ohne Wartezeit fortzufahren. Wenn das Skript nach Ablauf der Wartezeit noch ausgeführt wird, setzt NetCrunch den Start fort und lässt das Skript weiterlaufen.
Die Ausgabe wird in StartupScript.log geschrieben – jedoch nicht neben dem Skript. Das Protokoll wird im Ordner Logs des NetCrunch-Datenverzeichnisses gespeichert, der bei einer Standardinstallation unter C:\ProgramData\AdRem\NetCrunch\ liegt.
Das Skript und sein Protokoll befinden sich an zwei verschiedenen Orten: das Skript im Installationsverzeichnis, das Protokoll im Datenverzeichnis. Diese Trennung folgt derselben Regel wie alles andere hier – das Installationsverzeichnis ist der privilegierte Ordner, in den nur ein Administrator schreiben kann, und NetCrunch schreibt dort keine Protokolle.
code-execution
Auf dem Server ausgeführter Code
Bei manchen Überwachungsaufgaben wird Code ausgeführt, anstatt nur Werte zu lesen – beispielsweise Skriptsensoren und Alarmaktionen, die ein Programm starten. Auf einem Server-Probe wird dieser Code auf dem NetCrunch-Server mit den Berechtigungen des Servers ausgeführt.
Für eine abgesicherte Installation gilt:
- Führen Sie keine script sensors für den Server-Probe aus
- Konfigurieren Sie keine actions that execute programs auf dem Server
Beides ist keine Einschränkung der jeweiligen Funktion – beide Funktionen sind nützlich und gehören auf einen Probe auf einem anderen Computer. Dort führt dasselbe Skript dieselbe Aufgabe aus, ohne neben der Datenbank mit den Zugangsdaten ausgeführt zu werden.