it-swarm.com.de

Wie kann verhindert werden, dass Administratoren von ihrer eigenen Aktivität aus auf Protokolle zugreifen?

Die Idee wäre, einen Angreifer zu verhindern, der ein Root-/Administratorkonto gestohlen oder eskaliert hat, um seine eigenen Aktivitäten zu löschen oder sogar die Spuren dessen zu lesen, was er tut. Nehmen wir an, wir stehen unter Linux, wir protokollieren mit auditd, haben zentralisierte Protokolle und wir können MAC mit SELinux verwenden. Ich interessiere mich aber auch für Antworten unter Windows.

Eine Lösung wäre, allen Root-Konten den Zugriff auf die Protokolle zu verbieten. Protokolle werden nur von autorisierten Prozessen auf bestimmten Servern aus logrotate, syslog und allen SIEM-Inhalten verwaltet. Daher kann nur der SOC die Protokolle der Administratoren lesen und analysieren. Nur ein Löschvorgang kann alte Protokolle löschen. Kann jemand bestätigen, dass dies machbar ist?

Ist es möglich, etwas flexibleres zu haben, bei dem Administratoren mit eigenen Root-Rechten die Protokolle anderer Root-Konten lesen können?

26
lalebarde

Die akzeptierte Lösung hierfür besteht darin, die Protokolle nicht lokal, sondern auf einem Protokollserver zu speichern. Sobald die Protokolle vorhanden sind, können Sie den Zugriff nach Belieben einschränken oder einschränken.

In einigen Protokollserver-/Aggregatorlösungen können Sie einen Benutzer daran hindern, Einträge anzuzeigen, die Verweise auf bestimmte Daten enthalten (z. B. deren Benutzerkonten oder Computer-IPs). Dies bedeutet, dass Sie Administratoren ermöglichen können, andere Administratoraktivitäten anzuzeigen, jedoch nicht ihre eigenen.

In der Regel möchten Sie Warnungen innerhalb des Protokollservers/Aggregators platzieren, um sie auszulösen, wenn Protokolle von einem Computer nicht mehr eingehen oder unter bestimmte Schwellenwerte fallen. Auf diese Weise können Sie feststellen, ob ein lokaler Administrator verhindert hat, dass die Protokolle an den Protokollserver gesendet werden. Aggregator.

Syslog-Server, SIEMs, Protokollaggregatoren, ELK-Stapel usw. Sie können zahlreiche Optionen erkunden.

44
schroeder

Alle Protokolle auf einem gefährdeten Host sind verdächtig. Sie benötigen eine zentralisierte Protokollierungsplattform, entweder einen zentralen Syslog-Server/splunk/logrhythm/was auch immer. Führen Sie einen anderen Satz von Administratoren und Konten. Das ist die ganze Idee.

Sobald Sie eine Plattform eingerichtet haben, können Sie die Rechte zum Anzeigen ihrer Aktionen delegieren, entweder ihre eigenen oder andere Administratoren - können ausgeführt werden. Wir hatten Rechte, bestimmte Protokollquellen zu lesen und Hosts zu delegieren.

12
Tim Brigham

Wenn ein Angreifer hohe Berechtigungen auf einem Computer erworben hat, dann der gesamte Computer ist nicht vertrauenswürdig mehr, geschweige denn Controller protokollieren.

Ein Remote-Protokollierungsserver ist hier die einzige Option, obwohl die Details variieren können. Sie können Protokolle verwalten und Zugriffskontrollen sicherer verwalten als die lokalen Protokolle.

2
iBug

Der erste Schritt besteht darin, die Protokolle an einen anderen Server zu senden, damit dieser Protokollserver diese Protokolleinträge hat, nachdem der erste Server kompromittiert wurde (und somit ihre Protokolle geändert werden könnten). Und dieser Server kann (sollte) strenger geschützt werden.

Trotzdem muss jemand in der Lage sein, diesen Server zu verwalten, wenn auch nur, damit der Server aktualisiert werden kann!

Möglichkeiten, wie Sie die Protokolle auf diesem Server zusätzlich schützen können:

  • Für jede (nicht triviale) Aktion sind mehrere Administratoren erforderlich (z. B. eingeführte Befehle erfordern die Bestätigung von N Administratoren).
  • Die Protokolle können in einem Merkle-Baum mit Links zu früheren Protokollen gespeichert werden, sodass das Entfernen oder Ändern eines Eintrags sich auf spätere auswirkt¹
  • Der Hash des aktuellen Protokolls kann an eine externe Partei gesendet werden (von einem Zeitstempelserver, Senden einer Partnerfirma oder einfach an einen Twitter-Feed²).

¹ Wenn Sie argumentieren, dies zu verwenden, kann es sich besser verkaufen, wenn Sie angeben, dass dies die Blockchain-Technologie verwendet .

² Oder wenn die Protokolle selbst nicht vertraulich sind, können Sie sogar einige Protokollserverereignisse im Push löschen: "jdoe hat sich beim Protokollserver angemeldet und führt rm -rf /"

1
Ángel

Einige Möglichkeiten zum Schutz von Protokollen vor dem Administrator:

  • remote-Protokollierung auf einem Computer, der nicht vom betreffenden Administrator gesteuert wird
  • schreiben Sie das Protokoll auf ein einmal beschreibbares Medium (z. B. Bluray Recordable). Beachten Sie, dass Sie möglicherweise auch eine Strategie benötigen, um ein Überfüllen des Mediums zu verhindern, z. B. das Trennen aller Administratoren, wenn die Protokolle bald voll werden
  • veröffentlichen Sie den Hash der Protokolle in einer öffentlichen Blockchain. Dadurch werden Manipulationen erkannt, jedoch keine Zerstörung des Protokolls
  • um den Zugriff auf den Computer über einen Mitm-Server zu erzwingen, können Administratoren nur über den Mitm-Server eine Verbindung zum verwalteten Computer herstellen, der alle Schlüssel-/Mauseingaben und Bildschirm-/Terminalausgaben aufzeichnet (entweder mit ssh mitm oder vnc/rdp mitm).
1
Lie Ryan

Filter auditd protokolliert mit rsyslog pro uid, um eine Datei pro uid zu haben. Dann kann SELinux angewendet werden, um eine beliebige Richtlinie zu implementieren, insbesondere um zu verhindern, dass ein Administrator auf seine eigenen Protokolle zugreift. Mit der hier vorgeschlagenen Lösung wird vermieden, dass ein unabhängiges Team von Administratoren auf die Protokolle auf den Protokollservern zugreifen muss, wenn Sie eine restriktive Richtlinie haben.

Wie von anderen gesagt, sollen Protokolle zentralisiert werden. Darüber hinaus darf der Zugriff auf diese zentralen Protokollserver nur mit lokalen Konten erfolgen.

0
lalebarde

Eine Lösung besteht darin, eine Datendiode zu verwenden, um den Zugriff auf den zentralen Protokollkollektorserver zu schützen, auf den dann nur physisch zugegriffen werden kann, was leicht zu steuern ist. Darüber hinaus können zum besseren Schutz bestimmte individuelle Benutzerkonten erstellt werden.

0
lalebarde