Linux: Produktive Sysadmins ohne Root (Sicherung des geistigen Eigentums)?


66

Gibt es eine Möglichkeit, einen erfahrenen Linux-Syadmin produktiv zu machen, ohne ihm vollständigen Root-Zugriff zu gewähren?

Diese Frage bezieht sich auf den Schutz des geistigen Eigentums (Intellectual Property, IP), bei dem es sich in meinem Fall ausschließlich um Code- und / oder Konfigurationsdateien handelt (dh kleine digitale Dateien, die leicht kopiert werden können). Unsere geheime Sauce hat uns erfolgreicher gemacht, als unsere kleine Größe vermuten lässt. Ebenso sind wir einmal gebissen, zweimal schüchtern vor ein paar ehemaligen skrupellosen Angestellten (nicht Sysadmins), die versuchten, IP zu stehlen. Die Position des Top-Managements lautet im Grunde: "Wir vertrauen Menschen, aber aus Eigeninteresse können wir es uns nicht leisten, einer Person mehr Zugang zu gewähren, als sie unbedingt für ihre Arbeit benötigen."

Auf Entwicklerseite ist es relativ einfach, Workflows und Zugriffsebenen so zu partitionieren, dass die Benutzer produktiv sind, aber nur das sehen, was sie sehen müssen. Nur die besten Leute (tatsächliche Firmeninhaber) haben die Möglichkeit, alle Zutaten zu kombinieren und die spezielle Sauce zu kreieren.

Es ist mir jedoch nicht gelungen, diese IP-Geheimhaltung auf der Seite der Linux-Administratoren aufrechtzuerhalten. Wir machen ausgiebig von GPG für Code und vertrauliche Textdateien Gebrauch ... aber was hindert einen Administrator daran, (zum Beispiel) gegen einen Benutzer vorzugehen und seine tmux- oder GNU-Bildschirmsitzung aufzurufen und zu sehen, was sie tun?

(Wir haben auch überall den Internetzugang deaktiviert, der möglicherweise mit vertraulichen Informationen in Berührung kommen könnte. Aber nichts ist perfekt, und es können Lücken für clevere Sysadmins oder Fehler auf der Seite der Netzwerkadministratoren vorhanden sein. Oder sogar gute alte USB-Geräte. Es gibt von Natürlich gibt es zahlreiche andere Maßnahmen, die sich jedoch dem Rahmen dieser Frage entziehen.)

Das Beste, was ich herausfinden kann , ist, personalisierte Accounts mit sudo zu verwenden , ähnlich wie in Mehrere Linux-Systemadministratoren, die als Root arbeiten . Konkret: Niemand außer den Eigentümern des Unternehmens hätte tatsächlich direkten Root-Zugriff. Andere Administratoren hätten ein personalisiertes Konto und die Möglichkeit, in root zu surfen . Darüber hinaus würde eine Remote-Protokollierung eingerichtet, und die Protokolle würden auf einen Server übertragen, auf den nur die Eigentümer des Unternehmens zugreifen könnten. Wenn die Protokollierung deaktiviert ist, werden Warnungen ausgelöst.

Ein cleverer Systemadministrator könnte wahrscheinlich noch einige Lücken in diesem Schema finden. Abgesehen davon ist es eher reaktiv als proaktiv . Das Problem mit unserem IP ist, dass Konkurrenten sehr schnell davon Gebrauch machen und in sehr kurzer Zeit eine Menge Schaden anrichten können.

Besser wäre also ein Mechanismus, der die Möglichkeiten des Administrators einschränkt. Aber ich erkenne , dass dies ein empfindliches Gleichgewicht (insbesondere im Hinblick auf die Fehlersuche und Produktion Behebung von Problemen , die gelöst werden müssen , gerade jetzt ).

Ich frage mich, wie andere Organisationen mit sehr sensiblen Daten dieses Problem bewältigen. Zum Beispiel militärische Systemadministratoren: Wie verwalten sie Server und Daten, ohne vertrauliche Informationen sehen zu können?

Bearbeiten: In der ersten Veröffentlichung wollte ich präventiv auf die anfänglichen "Einstellungspraktiken" eingehen. Erstens soll dies eine technische Frage sein, und die Einstellungspraktiken der IMO tendieren eher zu sozialen Fragen. Aber zweitens sage ich Folgendes: Ich glaube, wir tun alles, was für die Einstellung von Mitarbeitern angemessen ist: ein Interview mit mehrerenLeute in der Firma; Hintergrund- und Referenzprüfungen; Alle Mitarbeiter unterzeichnen zahlreiche rechtliche Dokumente, einschließlich eines Dokuments, aus dem hervorgeht, dass sie unser Handbuch gelesen und verstanden haben. Nun, es liegt nicht im Rahmen dieser Frage / Website, aber wenn jemand "perfekte" Einstellungspraktiken vorschlagen kann, die 100% der schlechten Schauspieler herausfiltern, bin ich ganz Ohr. Fakten sind: (1) Ich glaube nicht, dass es so einen perfekten Einstellungsprozess gibt; (2) Menschen verändern sich - der Engel von heute könnte der Teufel von morgen sein; (3) Der versuchte Diebstahl von Codes scheint in dieser Branche etwas Routine zu sein.


15
Das erste, was mir beim Lesen Ihrer letzten Frage einfiel ... Snowden.
Hrvoje Špoljar

33
Sie können mit geeigneten SELinux-Richtlinien weiterkommen, die Implementierung ist jedoch recht teuer. Letztendlich müssen Sysadmins Zugriff auf das System und die darauf befindlichen Dateien haben, um ihre Arbeit erledigen zu können. Ihr Problem ist nicht technisch, sondern liegt im Einstellungsprozess.
Michael Hampton

6
Das Militär setzt Sicherheitsüberprüfungen und die Integrität von zwei Personen ein . Auch dann gibt es manchmal Verstöße. Die Chancen für beide Menschen, schändliche Pläne zu haben, sind viel geringer.
Steve

14
Der Grund, warum dies nach einem Menschenproblem riecht, ist, dass es ein Menschenproblem ist.
Sirex

6
Dafür sind NDAs da.
Michael Martinez

Antworten:


19

Was Sie sprechen, wird als "Evil Sysadmin" -Risiko bezeichnet. Das lange und kurze davon ist:

  • Ein Sysadmin ist jemand mit erhöhten Rechten
  • Technisch gesehen auf einem Niveau, das sie zu einem guten "Hacker" machen würde.
  • Interaktion mit Systemen in anomalen Szenarien.

Die Kombination dieser Dinge macht es im Wesentlichen unmöglich, böswillige Handlungen zu stoppen. Sogar Auditing wird schwierig, weil Sie kein "normales" zum Vergleichen haben. (Und ehrlich gesagt - ein kaputtes System kann auch eine kaputte Prüfung haben).

Es gibt eine Reihe von Abhilfemaßnahmen:

  • Privilegientrennung - Sie können einen Kerl mit root nicht davon abhalten, irgendetwas auf dem System zu tun . Sie können jedoch ein Team für das Netzwerk und ein anderes Team für die Betriebssysteme (oder Unix / Windows separat) verantwortlich machen.
  • Beschränken Sie den physischen Zugriff auf das Kit auf ein anderes Team, das keine Administratorkonten hat, sich aber um die gesamte Arbeit kümmert.
  • Trennen Sie die Verantwortung für "Desktop" und "Server". Konfigurieren Sie den Desktop so, dass das Entfernen von Daten verhindert wird. Die Desktop-Administratoren können nicht auf die vertraulichen Daten zugreifen, die Server-Administratoren können sie stehlen, müssen jedoch durch die Rahmen springen, um sie aus dem Gebäude zu holen.
  • Überwachung eines Systems mit eingeschränktem Zugriff - syslogund Überwachung auf Ereignisebene auf einem relativ manipulationssicheren System, auf das sie keinen privilegierten Zugriff haben. Das Sammeln ist jedoch nicht genug, Sie müssen es überwachen - und ehrlich gesagt gibt es eine Reihe von Möglichkeiten, Informationen zu stehlen, die möglicherweise nicht auf einem Überwachungsradar angezeigt werden. (Wilderer gegen Wildhüter)
  • Wenden Sie die Verschlüsselung "im Ruhezustand" an, damit die Daten nicht "im Klartext" gespeichert werden und für den Zugriff ein Live-System erforderlich ist. Dies bedeutet, dass Personen mit physischem Zugriff nicht auf ein System zugreifen können, das nicht aktiv überwacht wird, und dass in einem "anormalen" Szenario, in dem ein Sysadmin daran arbeitet, die Daten weniger exponiert sind. (zB wenn die Datenbank nicht funktioniert, sind die Daten wahrscheinlich nicht lesbar)
  • Zwei-Mann-Regel - wenn Ihre Produktivität und Ihre Moral in Ordnung sind. (Im Ernst - ich habe es gesehen, und der anhaltende Zustand des Arbeitens und Beobachtens erschwert die Arbeitsbedingungen extrem).
  • Überprüfen Sie Ihre Systemadministratoren - je nach Land gibt es möglicherweise verschiedene Überprüfungen der Datensätze. (Strafregister überprüfen, Sie könnten sogar finden Sie für eine Sicherheitsüberprüfung in einigen Fällen anwenden können, die Sicherheitsüberprüfung auslösen)
  • Kümmere dich um deine Sysadmins - das absolut Letzte, was du tun willst, ist einer "vertrauenswürdigen" Person zu sagen, dass du ihnen nicht vertraust. Und Sie wollen die Moral auf keinen Fall schädigen, da dies die Wahrscheinlichkeit von böswilligem Verhalten (oder „nicht ganz fahrlässigem Handeln, aber einem Ausrutschen der Wachsamkeit“) erhöht . Zahlen Sie aber entsprechend der Verantwortung und den Fähigkeiten. Und denken Sie an Vergünstigungen - diese sind billiger als das Gehalt, werden aber wahrscheinlich mehr geschätzt. Einmal in der Woche gratis Kaffee oder Pizza.
  • und Sie können auch versuchen, Vertragsbedingungen anzuwenden, um dies zu verhindern, aber seien Sie vorsichtig mit den oben genannten.

Aber im Grunde genommen muss man akzeptieren, dass dies eine Vertrauenssache ist, keine technische Sache. Ihre Sysadmins sind aufgrund dieses perfekten Sturms immer potenziell sehr gefährlich für Sie.


2
Ich trage gelegentlich den Sysadmin-Hut. Ich habe es für notwendig befunden, leistungsfähige Werkzeuge immer dort zu haben, wo ich sie finden kann, von denen einige die Systemzugriffskontrolle umgehen sollen (falls es jemand schafft, jeden von einem Arbeitsplatz fernzuhalten). Die Prüfung ist naturgemäß geschwächt oder ineffektiv.
Joshudson

3
Ja. Aus all den Gründen, aus denen Schlosser legitimerweise in Ihr Haus eindringen können, müssen Sysadmins möglicherweise in das Netzwerk eindringen.
Sobrique

@Sobrique: Es gibt etwas, das ich immer noch nicht verstehe: Warum hören wir von Schurken-Sysadmins, die viele Daten stehlen, und nicht von Schurken-Dienstmädchen, die dasselbe tun (sie könnten es tun, während alles auf dem Papier war) .
user2284570

Volumen - Terabyte Hardcopy sind groß. Und Schaden. Sabotieren eines IT-Systems kann ein Unternehmen buchstäblich ruinieren.
Sobrique

51

Alles, was hier bisher gesagt wurde, ist eine gute Sache, aber es gibt einen „einfachen“, nicht technischen Weg, um einen betrügerischen Systemadministrator zu negieren - das Vier-Augen-Prinzip, bei dem grundsätzlich zwei Systemadministratoren für jeden erhöhten Zugriff vorhanden sein müssen.

BEARBEITEN: Die zwei größten Punkte, die ich in Kommentaren gesehen habe, sind die Kosten und die Möglichkeit von Absprachen. Eine der größten Möglichkeiten, die ich in Betracht gezogen habe, um diese beiden Probleme zu vermeiden, ist die Verwendung eines Managed Service-Unternehmens, das nur zur Überprüfung der ergriffenen Maßnahmen verwendet wird. Wenn die Techniker richtig arbeiteten, würden sie sich nicht kennen. Unter der Annahme, dass die technischen Fähigkeiten eines MSP vorhanden sein sollten, wäre es einfach genug, die ergriffenen Maßnahmen abmelden zu lassen. Vielleicht sogar so einfach wie ein Ja / Nein zu etwas Schändlichem.


17
@ Sirex: Ja, das ist das Problem mit der Sicherheit - es hat immer Kosten.
sleske

10
Nein, ich habe in relativ kleinen Organisationen (100-1000 Personen) gearbeitet, die genau das getan haben. Sie akzeptierten nur, dass ihre Prozeduren alle Sysadmin-Aktivitäten vier- bis zehnmal so viel Geld kosten würden wie sonst, und sie bezahlten.
MadHatter

10
Dies ist die einzig wahre Antwort. Unser Kit befindet sich an einem sicheren Ort der Regierung und (unter anderem) verwenden wir diesen Ansatz, um sicherzustellen, dass niemand auf ein erhöhtes Terminal zugreifen kann. Es wird eine detaillierte Anfrage für die Ausführung der Arbeit gestellt, viele Leute melden sich ab (50+, Seufzer ), dann treffen sich zwei Administratoren und nehmen die Änderung vor. Es minimiert das Risiko (und auch dumme Fehler). Es ist teuer und ein gewaltiger Schmerz, etwas zu erledigen, aber das ist der Preis für Sicherheit. Re: 50+ Unterzeichner, darunter Netzwerk-Team, DC-Team, Projektmanager, Sicherheit, Speicher, Stifttester, Softwareanbieter usw.
Basic

4
Sie würden wahrscheinlich Schwierigkeiten haben, jemanden einzustellen, ja. Es wäre ein sofortiger Show-Stopper für mich, da ich gerne Dinge erledige und es meinen Arbeitsgenuss lähmen würde.
Sirex

3
Beachten Sie, dass die erhöhten Kosten nicht für jede Sysadmin-Aktion gelten. Dies gilt jedoch sowohl für die erhöhten Aktionen selbst als auch für deren Vorbereitung. IOW, Sie können nicht sagen: "Sysadmin arbeitet 40 Stunden pro Woche, 4 davon erhöht, so dass die Kostensteigerung nur 10% betragen würde". Positiv zu vermerken ist, dass das Schema auch normale, ehrliche Fehler enthält. Das spart Geld.
MSalters

27

Wenn Benutzer wirklich Administratorzugriff auf ein System benötigen, können Sie nur wenig tun, um ihre Aktivitäten auf diese Box einzuschränken.

Die Mehrheit der Organisationen ist vertrauenswürdig, überprüft jedoch, dass Sie den Benutzern möglicherweise Zugriff auf Teile des Systems gewähren, aber benannte Administratorkonten verwenden (z. B. keinen direkten Zugriff auf root ) und dann deren Aktivitäten in einem Protokoll überprüfen kann nicht stören.

Hier gibt es einen Spagat. Möglicherweise müssen Sie Ihre Systeme schützen, aber Sie müssen auch Menschen vertrauen, die ihre Arbeit erledigen. Wenn das Unternehmen früher von einem skrupellosen Mitarbeiter "gebissen" wurde, könnte dies darauf hindeuten, dass die Einstellungspraktiken des Unternehmens in irgendeiner Weise schlecht sind und diese Praktiken vermutlich von den "Top-Managern" erstellt wurden. Vertrauen fängt zu Hause an; Was tun sie, um ihre Einstellungsentscheidungen zu treffen?


3
Dies ist eine großartige Beobachtung. Durch eine gute Prüfung können die Mitarbeiter ihre Arbeit erledigen und bleiben dennoch für ihre Handlungen verantwortlich.
Steve Bonds

1
Die ordnungsgemäße Verwendung von auditd und syslog kann ebenfalls weitreichend sein. Diese Daten können von einer Vielzahl von Sicherheitstools überwacht werden, um nach merkwürdigem oder eindeutig schlechtem Verhalten zu suchen.
Aaron

3
Das eigentliche Problem bei der Prüfung ist, dass es eine Menge Lärm gibt. Nach einigen Monaten wird niemand mehr auf die Protokolle schauen, außer wenn etwas passiert ist.
TomTom

1
Ich stimme TomTom zu, dass es ein Problem ist, das Signal-Rausch-Verhältnis in Sicherheitsprotokollen richtig einzustellen, aber Sie müssen sich trotzdem anmelden, denke ich. @Sobrique Ich würde jedoch sagen, dass "böse Sysadmins" eher ein Einstellungsproblem als ein Technologieproblem sind. Sie müssen beide Seiten der Lücke schließen, damit ich jeden Tag bewährte Methoden brauche und die Einstellungsprozesse verbessere. Sie sollten 4 Augen für echte geheime Saucen verwenden, auf die Tim anspielte, und Protokolle sichten
Rob Moir

1
Ein bisschen, aber denken Sie daran, dass ein früherer gutgläubiger Schauspieler im Laufe eines „Job-Zyklus“ zu einem böswilligen werden kann. Hier geht es mehr um Entrechtung und Moral als um Einstellungen per se. Die Dinge, die jemanden zu einem guten Systemadministrator machen, würden ihn auch zu einem guten Hacker machen. Vielleicht ist es in diesem Punkt der richtige Weg, mittelmäßige Systemadministratoren einzustellen?
Sobrique

18

Ohne sich in einen verrückten technischen Verstand zu versetzen, versuchen Sie, einen Weg zu finden, wie Sie einem Systemadministrator Macht verleihen können, ohne ihm Macht zu verleihen (wahrscheinlich machbar, aber letztendlich in irgendeiner Weise fehlerhaft).

Aus Sicht der Geschäftspraxis gibt es eine Reihe einfacher Lösungen. Keine billige Lösung, aber einfach.

Sie haben erwähnt, dass die Teile des geistigen Eigentums, um die Sie sich Sorgen machen, geteilt sind und nur die obersten Personen die Macht haben, sie zu sehen. Dies ist im Wesentlichen Ihre Antwort. Sie sollten mehrere Administratoren haben und KEINER von ihnen sollte ein Administrator auf genügend Systemen sein, um das vollständige Bild zusammenzustellen. Sie benötigen natürlich mindestens 2 oder 3 Administratoren für jedes Teil, falls ein Administrator krank ist oder einen Autounfall hat oder so. Vielleicht sogar taumeln. Angenommen, Sie haben 4 Administratoren und 8 Informationen. admin 1 kann auf Systeme mit den Teilen 1 und 2 zugreifen, admin 2 kann auf die Teile 2 und 3 zugreifen, admin 3 kann auf 3 und 4 zugreifen und admin 4 kann auf 4 und 1 zugreifen. Jedes System verfügt über einen Sicherungsadministrator, jedoch nicht Der Administrator kann das gesamte Bild gefährden.

Eine Technik, die auch das Militär anwendet, ist die Begrenzung des Datentransfers. In einem sensiblen Bereich kann es möglicherweise nur ein einziges System geben, das eine Festplatte brennen kann, oder es kann ein USB-Flash-Laufwerk verwendet werden. Alle anderen Systeme sind eingeschränkt. Die Möglichkeit, dieses System zu verwenden, ist äußerst begrenzt und erfordert eine spezifische, dokumentierte Genehmigung durch höhere Stellen, bevor jemand Daten zu irgendetwas ablegen darf, das zu einem Überlaufen von Informationen führen könnte. Gleichzeitig stellen Sie sicher, dass der Netzwerkverkehr zwischen verschiedenen Systemen durch Hardware-Firewalls begrenzt wird. Ihre Netzwerkadministratoren, die die Brandmauern steuern, haben keinen Zugriff auf die Systeme, die sie routen, sodass sie keinen spezifischen Zugriff auf Informationen erhalten. Ihre Server- / Workstation-Administratoren stellen sicher, dass alle Daten zu und von einem System für die Verschlüsselung konfiguriert sind.

Alle Laptops / Workstations sollten über verschlüsselte Festplatten verfügen, und jeder Mitarbeiter sollte über ein persönliches Schließfach verfügen, in das er die Laufwerke / Laptops am Ende der Nacht einschließen muss, um sicherzustellen, dass niemand früh kommt / spät abreist und Zugang zu etwas erhält sie sollen nicht.

Jeder Server sollte sich zumindest in einem eigenen verschlossenen Rack befinden, wenn nicht in einem eigenen verschlossenen Raum, damit nur die für jeden Server verantwortlichen Administratoren Zugriff darauf haben, da am Ende des Tages der physische Zugriff alle übertrifft.

Als nächstes gibt es eine Übung, die entweder schaden oder helfen kann. Befristete Verträge. Wenn Sie glauben, dass Sie genug bezahlen können, um immer wieder neue Talente anzuziehen, können Sie durch die Option, einen Administrator nur für einen festgelegten Zeitraum (IE 6 Monate, 1 Jahr, 2 Jahre) zu behalten, die Zeitdauer eines Mitarbeiters begrenzen um zu versuchen, alle Teile deiner IP zusammenzufügen.

Mein persönliches Design würde ungefähr so ​​aussehen wie ... Teilen Sie Ihre Daten in so viele Teile auf, sagen wir, um eine Nummer 8 zu haben, haben Sie 8 Git-Server, von denen jeder seinen eigenen Satz redundanter Hardware hat und von denen jeder verwaltet wird eine andere Gruppe von Admins.

Verschlüsselte Festplatten für alle Workstations, die die IP berühren. mit einem bestimmten "Projekt" -Verzeichnis auf dem Laufwerk, das das einzige Verzeichnis ist, in dem Benutzer ihre Projekte ablegen dürfen. Am Ende jeder Nacht müssen sie ihre Projektverzeichnisse mit einem sicheren Löschtool bereinigen. Anschließend werden die Festplatten entfernt und gelöscht eingesperrt (nur um sicher zu gehen).

Jedem Bit des Projekts ist ein anderer Administrator zugewiesen, sodass ein Benutzer nur mit dem Workstation-Administrator interagiert, dem er zugewiesen ist. Wenn sich seine Projektzuordnung ändert, werden seine Daten gelöscht und ihm wird ein neuer Administrator zugewiesen. Ihre Systeme sollten nicht brennbar sein und ein Sicherheitsprogramm verwenden, um die unbefugte Übertragung von Daten über USB-Sticks zu verhindern.

nimm daraus was du willst.


2
Vielen Dank, viele gute Sachen und viele, die wir machen. Ich mag die Idee mit mehreren Administratoren, aber wir sind nicht groß genug, um das zu brauchen. Ich brauche wirklich nur einen Administrator. Wenn ich also vier hätte, würden sie sich normalerweise langweilen. Wie finden wir das Top-Talent, das wir wollen, aber geben ihnen nur eine winzige Arbeitsbelastung? Ich fürchte, kluge Leute werden sich schnell langweilen und auf grünere Weiden ziehen.
Matt

2
Ja, das ist ein großes Problem, und tatsächlich leidet das Gebiet der Regierung stark darunter. Der Ort, an dem ich als Administrator angefangen habe, wurde oft als "Drehtür" bezeichnet. Das Ganze ist ein schwieriges Problem. Informationssicherheit im Allgemeinen ist eine ziemlich harte Nuss zu knacken: \
Gravy

@Matt How do we find the top-tier talent we want, but only give them a teeny-tiny workload?Bis zu einem gewissen Grad können Sie dies abmildern, indem Sie ihnen eine große Test- / Forschungs- und Entwicklungsumgebung, Zugang zu den coolen neuen Spielsachen und die Ermutigung geben, einen erheblichen Teil ihres Arbeitstages für die Entwicklung ihrer technischen Fähigkeiten aufzuwenden. Eine effektive Arbeitsbelastung von 25% geht wahrscheinlich zu weit, aber ich wäre absolut überglücklich über einen Job, der zu 50% aus tatsächlicher Arbeit und zu 50% aus technischer Entwicklung / F & E besteht (vorausgesetzt, die Bezahlung liegt auf dem Niveau einer normalen ~ 100% " tatsächliche Arbeit "job).
HopelessN00b

11

Es wäre vergleichbar mit der Herausforderung, einen Hausmeister für ein Gebäude einzustellen. Der Hausmeister bekommt alle Schlüssel, kann jede Tür öffnen, aber der Grund ist, dass der Hausmeister sie braucht, um die Arbeit zu erledigen. Gleiches gilt für Systemadministratoren. Symmetrisch kann man an dieses uralte Problem denken und untersuchen, wie Vertrauen historisch gewährt wird.

Obwohl es keine klare technische Lösung gibt, sollte die Tatsache, dass es keine gibt, keinen Grund dafür geben, dass wir keine ausprobieren. Eine Ansammlung unvollständiger Lösungen kann zu großartigen Ergebnissen führen.

Ein Modell, bei dem Vertrauen verdient wird :

  • Erteilen Sie zunächst weniger Berechtigungen
  • Erhöhen Sie schrittweise die Berechtigungen
  • Stellen Sie einen Honigtopf auf und beobachten Sie, was in den kommenden Tagen passiert
  • Wenn der Systemadministrator dies meldet, anstatt zu versuchen, es zu missbrauchen, ist dies ein guter Anfang

Implementieren Sie mehrere Ebenen von Verwaltungsbefugnissen :

  • Stufe 1: Kann die untere Stufe der Konfigurationsdateien ändern
  • Stufe 2: Kann etwas höhere Ebenen von Konfigurationsdateien ändern
  • Stufe 3: Kann etwas höhere Ebenen von Konfigurationsdateien und Betriebssystemeinstellungen ändern

Erstellen Sie immer eine Umgebung, in der ein vollständiger Zugriff durch eine Person nicht möglich ist :

  • Systeme in Cluster aufteilen
  • Erteilen Sie verschiedenen Gruppen Administratorrechte für Cluster
  • Mindestens 2 Gruppen

Verwenden Sie die Zwei-Mann-Regel, wenn Sie grundlegende Änderungen vornehmen :

Vertraue und überprüfe :

  • Alles aufzeichnen
  • Protokollüberwachung und Alarmierung
  • Stellen Sie sicher, dass alle Aktionen unterscheidbar sind

Papierkram :

  • Lassen Sie sie Unterlagen unterzeichnen, damit das Rechtssystem Ihnen helfen kann, indem es sie verklagt, wenn sie Ihnen weh tun. Dies gibt mehr Anreize, dies nicht zu tun

Es muss nicht nur alles protokolliert werden, sondern es muss auch etwas überwacht und darauf hingewiesen werden, im Idealfall auf eine Weise, die für den Menschen leicht zu konsumieren ist.
Aaron

9

Es ist sehr, sehr schwierig, Hosts vor Administratoren zu schützen. Während Tools wie Powerbroker Versuch , dies zu tun, werden die Kosten Zugabe beide etwas anderes , das brechen kann und bei Zugabe von Barrieren für Versuche zur Festsetzung es. Ihre Systemverfügbarkeit WILL fallen , wenn man etwas umsetzen , wie dies so , dass die Erwartung gesetzt früh wie die Kosten für die Dinge zu schützen.

Eine andere Möglichkeit besteht darin, zu prüfen, ob Ihre App über einen Cloud-Anbieter oder in einer lokal gehosteten privaten Cloud auf verfügbaren Hosts ausgeführt werden kann. Wenn eine Unterbrechung eintritt, anstatt einen Administrator zur Fehlerbehebung einzusenden, werfen Sie ihn weg und erstellen automatisch einen Ersatz. Dies erfordert eine Menge Arbeit auf der Anwendungsseite, damit sie in diesem Modell ausgeführt werden können, kann jedoch viele Betriebs- und Sicherheitsprobleme lösen. Wenn Sie dies nicht tun, kann dies zu erheblichen Sicherheitsproblemen führen. Lassen Sie sich also auf diesem Weg von erfahrenen Mitarbeitern helfen.


4

Dies ist Ihre Basisdiskussion: https://security.stackexchange.com/questions/7801/keeping-secrets-from-root-on-linux

Sie teilen Ihre Verantwortung, indem Sie Sicherheitsingenieure beauftragen, Systemkonfigurationen und -installationen durchzuführen, die jedoch keine Berechtigungsnachweise oder keinen Zugriff auf Maschinen in der Produktion erhalten. Sie führen auch Ihre Audit-Infrastruktur aus.

Sie haben Produktionsadministratoren, die die Systeme erhalten, aber nicht über die Schlüssel verfügen, um den Computer zu starten, ohne dass die SELinux-Richtlinien aktiv sind. Durch die Sicherheit werden die Schlüssel nicht zum Entschlüsseln vertraulicher Daten benötigt, die auf der Festplatte gespeichert sind, wenn ein defekter Computer aus dem Dienst genommen wird.

Nutzen Sie ein zentrales Authentifizierungssystem mit starken Audits wie Vault und nutzen Sie dessen Kryptooperationen. Verteilen Sie Yubikey-Geräte, um Schlüssel absolut privat und unlesbar zu machen.

Maschinen werden entweder beim Bruch abgewischt oder gemeinsam von Einsatzkräften und Sicherheitskräften gehandhabt, und wenn Sie das Bedürfnis haben, die Geschäftsführung zu beaufsichtigen.


2

Administratoren haben von Natur aus Zugang zu allem. Sie können jede Datei im Dateisystem mit ihren Administratoranmeldeinformationen anzeigen. Sie müssen die Dateien also so verschlüsseln, dass Administratoren sie nicht sehen können. Die Dateien können jedoch weiterhin von den Teams verwendet werden, die sie sehen sollen. Sehen Sie sich Vormetric Transparent Encryption an ( http://www.vormetric.com/products/transparent-encryption ).

So würde es funktionieren, wenn es sich zwischen dem Dateisystem und den Anwendungen befindet, die darauf zugreifen. Die Verwaltung kann die Richtlinie erstellen, die besagt, dass nur der httpd-Benutzer, der den Webserver-Daemon ausführt, die Dateien unverschlüsselt anzeigen kann. Dann kann ein Administrator mit seinen Root-Anmeldeinformationen versuchen, die Dateien zu lesen und nur die verschlüsselte Version abzurufen. Der Webserver und alle benötigten Tools werden jedoch unverschlüsselt angezeigt. Es kann sogar die Binärdatei prüfen, um es dem Administrator zu erschweren, sich fortzubewegen.

Natürlich sollten Sie die Überwachung aktivieren, damit ein Administrator beim Versuch, auf die Dateien zuzugreifen, eine Nachricht markiert wird und die Leute davon erfahren.


1
Wer kann dann die Dateien aktualisieren? Wie gehen sie vor?
Michael Hampton

3
Plus ... Wenn ich root auf dieser Box bin, kann ich wahrscheinlich den Webserver-Daemon untergraben. Selbst wenn Binär-Hashes überprüft werden, um sicherzustellen, dass ich den Daemon nicht ersetzt habe, kann ich den Webserver auf irgendeine Weise dazu verleiten, eine scheinbar legitime Anfrage nach den Daten zu stellen.
Basic

1
Tatsächlich haben SysAdmins möglicherweise nicht auf alle Dateien Zugriff - C2 und besser gesicherte Systeme können Administratoren blockieren. Sie können den Zugriff erzwingen, dies ist jedoch unwiderruflich (indem sie sie als Benutzer festlegen) und hinterlässt Spuren (Protokoll, das sie löschen, aber nicht leicht ändern können).
TomTom

Dies würde nicht helfen, da ein Administrator httpd 'werden' kann ... Administratoren können auch / dev / mem und damit alle Schlüssel lesen.
John Keates

2
@TomTom: Die Möglichkeit, dass ein Betriebssystem C2 erfüllt, ist ein Mythos. Windows NT4 hat die Zertifizierung bestanden, es stellte sich jedoch heraus, dass es sich um einen betrügerischen Pass handelte. Die Möglichkeit, den erzwungenen Zugriff zurückzusetzen, war immer vorhanden, und ich habe sie verwendet, und wir haben ein Verfahren, das davon abhängt, dass es funktioniert, da einige Programme versuchen, damit zu überprüfen, ob die Dateien nicht manipuliert wurden, aber wir sie ändern müssen Sie.
Joshudson

2

Der einzig praktikable Weg ist die Einschränkung, wer was mit sudo machen kann. Sie könnten möglicherweise auch das meiste tun, was Sie wollen, aber es würde wahrscheinlich ewig dauern, um die richtige Konfiguration herauszufinden, die es möglicherweise unpraktisch macht.

Vertraulichkeitsvereinbarungen. Wenn sie einen Systemadministrator einstellen, müssen sie eine NDA unterzeichnen. Wenn sie ihr Versprechen brechen, bringen sie sie vor Gericht. Dies hindert sie möglicherweise nicht daran , Geheimnisse zu stehlen, aber alle Schäden, die sie dadurch verursachen, können vor Gericht zurückgefordert werden.

Militär- und Regierungssysadmins müssen Sicherheitsfreigaben in unterschiedlichen Graden erhalten, je nachdem, wie empfindlich das Material ist. Die Idee ist, dass jemand, der eine Freigabe erhalten kann, mit geringerer Wahrscheinlichkeit stiehlt oder betrügt.


Die Idee ist, dass 1) das Erhalten und Aufrechterhalten dieser Freigabe ihre Fähigkeit einschränkt, zwielichtige Geschäfte zu machen; 2) Jobs, die höhere Sicherheitsfreigaben erfordern, zahlen sich besser aus, was einen starken Anreiz darstellt, diese Freigabe beizubehalten, unabhängig davon, ob Sie Ihren aktuellen Arbeitgeber mögen .
Shadur

Das heißt, das OP hat ausdrücklich gefordert, vorbeugende Maßnahmen zu ergreifen. Sicher, Sie können sie später wegen Verstoßes gegen die NDA verklagen, aber wird ein Sysadmin Sie als wahrscheinlich erachten, genug Geld zu verdienen, um die Art von Schaden zu ersetzen, die er angedeutet?
Shadur

Sie können nicht nur Verluste vom Systemadministrator zurückerhalten, sondern auch von wem oder was auch immer andere Geschäfte mit diesen Geheimnissen Geld verdienen.
Michael Martinez

Dies ist zunächst eine sehr geheime Umgebung. Sagen wir also, ein schlechter Sysadmin stiehlt geheime Soße, und es ist im Grunde unmöglich, herauszufinden, an wen er verkauft hat. Was ist, wenn er Code stiehlt, zu guten Konditionen verlässt, Code an einen Konkurrenten verkauft? Plötzlich schwinden unsere Gewinne, aber wir wissen nicht wie (das ist Finanzen, ein anonymer Marktplatz).
Matt

@Matt Das ist für die Verantwortlichen ein ebenso hohes Risiko wie für diejenigen, die es nicht sind. Leute mit geheimer Soße, die sich Sorgen machen, dass jemand anderes sie stiehlt, wenn es genauso wahrscheinlich ist, dass einer von ihnen es tut.
Michael Martinez

1

Eine andere Möglichkeit, das Risiko zu senken (nicht stattdessen, sondern neben den zuvor genannten), besteht darin, Ihren Systemadministratoren gutes Geld zu zahlen. Bezahle sie so gut, dass sie nicht von deiner IP stehlen und dich verlassen wollen.


2
Ich sehe, woher Sie kommen, aber ich denke, die meisten von uns haben eine professionellere Ethik. Ich klaue nicht die Geheimnisse meiner Kunden, aber es ist nicht so, dass sie mich genug bezahlen, dass ich nicht das Bedürfnis verspüre, sondern weil es falsch wäre, das zu tun. Ich vermute, ich bin nicht die einzige Person hier, die sich so fühlt.
MadHatter

1
Ja, wie Ben Franklin einmal schrieb: "Laden Sie niemals jemanden mehr auf, als es kostet, Sie zu töten." Aber umgekehrt.
Bruce Ediger

Sie können nicht jemanden in Integrität bestechen. Das wird einfach nicht funktionieren. Wie ein weiser Mann einmal sagte: Wir haben festgestellt, was für ein Mensch Sie sind, jetzt feilschen wir nur noch um den Preis. Aber Sie können jemandes Loyalität verdienen, indem Sie es richtig machen. Das Bezahlen gehört dazu, aber viele Dinge auch. Autonomie und Meisterschaft - geben Sie Freiheit und Training und Entwicklung. Das Problem ist, die Versuchung könnte sein, sie zu unterdrücken, damit sie nicht vom rechten Weg abkommen, und sie dann zu bestechen, um das zu "reparieren". Aber wie alle missbräuchlichen Beziehungen wird das nach hinten losgehen.
Sobrique

2
Ich habe gerade geschrieben, es ist ein anderer Weg, kein guter Weg. Ich denke, wenn jemand einen neuen Systemadministrator anstellt, muss es Vertrauen geben. Denn Sysadmin ist - neben CEO und CFO - jemand, der Unternehmen in wenigen Minuten zerstören kann. Ein guter Administrator wird nicht für kleines Geld arbeiten (oder jemand von euch?) Und ein Sysadmin, der für kleines Geld arbeitet, ist gefährlicher.
Ondra Sniper Flidr

1

Ich denke, dass diese Frage ohne weitere Details möglicherweise nicht vollständig beantwortet werden kann, wie zum Beispiel:

Wie viele Sysadmins werden Sie voraussichtlich "eingeschränkt" lassen?

Wofür benötigen die Benutzer "Sysadmin" -Zugang?

Achten Sie zunächst darauf, was Sie mit sudo machen können. Mit sudo können Sie erhöhten Berechtigungen erlauben, nur einen einzelnen Befehl auszuführen (oder Variationen, wie Befehle, die mit "mount -r" beginnen, andere Befehle jedoch nicht zulässig sind). Mit SSH-Schlüsseln können Sie Anmeldeinformationen zuweisen, mit denen eine Person nur einen bestimmten Befehl ausführen kann (z. B. "sudo mount -r / dev / sdd0 / media / backup"). Daher gibt es eine relativ einfache Möglichkeit, jedem (der über einen SSH-Schlüssel verfügt) die Möglichkeit zu geben, bestimmte Vorgänge auszuführen, ohne dass er alles andere tun muss.

Etwas schwieriger wird es, wenn die Techniker Fehler beheben sollen. Dies kann in der Regel eine höhere Anzahl von Berechtigungen und möglicherweise den Zugriff zum Ausführen einer Vielzahl von Befehlen und / oder zum Schreiben in eine Vielzahl von Dateien erfordern.

Ich schlage vor, den Ansatz von webbasierten Systemen wie CPanel (das von einer Reihe von ISPs verwendet wird) oder cloudbasierten Systemen in Betracht zu ziehen. Sie können häufig Probleme auf einer Maschine verursachen, indem sie die gesamte Maschine zum Erlöschen bringen. Daher kann eine Person möglicherweise einen Befehl ausführen, der die Maschine ersetzt (oder die Maschine auf ein bekanntermaßen fehlerfreies Image zurücksetzt), ohne der Person notwendigerweise Zugriff auf das Lesen vieler Daten zu gewähren oder geringfügige Änderungen vorzunehmen (z. B. das Kombinieren einer geringfügigen Korrektur) mit der Einführung einer nicht autorisierten Hintertür). Dann müssen Sie den Leuten vertrauen, die die Bilder machen, aber Sie reduzieren die Anzahl der Leute, denen Sie vertrauen müssen, um die kleineren Dinge zu tun.

Letztendlich muss jedoch ein gewisses Maß an Vertrauen für eine von Null verschiedene Anzahl von Personen geschaffen werden, die beim Entwurf des Systems mitwirken und auf höchster Ebene arbeiten.

Große Unternehmen verlassen sich auf SQL-Server, auf denen Daten gespeichert sind, auf die eine größere Anzahl von Computern remote zugreifen kann. Dann kann eine größere Anzahl von Technikern auf einigen Computern vollständigen Root-Zugriff haben, während sie keinen Root-Zugriff auf die SQL-Server haben.

Ein anderer Ansatz ist, zu groß zu sein, um zu scheitern. Denken Sie nicht, dass große Militärs oder riesige Unternehmen niemals Sicherheitsvorfälle haben. Sie wissen jedoch, wie man:

  • genesen,
  • Schaden begrenzen (durch Trennung von Wertsachen)
  • Gegenmaßnahmen, einschließlich Androhungen von Rechtsstreitigkeiten
  • Verfahren zur Begrenzung unerwünschter Presseexpositionen und Pläne zur Beeinflussung des Drehs negativer Geschichten, die sich entwickeln

Die Grundannahme ist, dass der entstandene Schaden lediglich ein Risiko und Kosten für ihre Geschäftstätigkeit darstellt. Sie gehen davon aus, dass sie ihre Geschäftstätigkeit fortsetzen werden, und die laufenden Entwicklungen und Verbesserungen im Laufe der Jahre werden die Wahrscheinlichkeit begrenzen, dass ein einzelner Vorfall über einen bestimmten Zeitraum hinweg tatsächlich ihren langfristigen Wert beeinträchtigt.



0

Platzieren Sie den Root-Administrationscomputer in dem Raum, der mit zwei Schlüsseln verschlossen ist, und geben Sie nur einen für jeden der beiden Administratoren. Die Administratoren werden immer zusammenarbeiten und sich gegenseitig beobachten. Es sollte die einzige Maschine sein, die den privaten Schlüssel enthält, um sich als root anzumelden.

Für einige Aktivitäten sind möglicherweise keine Root-Rechte erforderlich, sodass nur ein Teil der Arbeit für die "Paarprogrammierung" in diesen Raum gehen muss.

Sie können auch Aktivitäten in diesem Raum per Video aufzeichnen, um sicherzustellen, dass niemand alleine arbeitet (so viel ist gut sichtbar). Stellen Sie außerdem sicher, dass der Arbeitsplatz so gestaltet ist, dass der Bildschirm für beide Personen gut sichtbar ist (möglicherweise ein großer Fernsehbildschirm mit den großen Schriftarten).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.