Michael Grünewald hat diesen Kommentar kürzlich gepostet :
Eine sehr wichtige Methode, die Sie nicht erwähnen, ist das Vier-Augen-Prinzip, das in der Finanzierung angewendet wird - entweder als aufsichtsrechtliche Verpflichtung oder als Schutz. In der Softwareindustrie wird es auf verschiedene Arten implementiert, wie z. B. Codeüberprüfungen, kann aber auch zur Validierung von Befehlen verwendet werden, die sich auf Live-Systeme auswirken.
Korrigieren Sie mich, wenn ich falsch liege, aber mir wurde beigebracht, dass es sich beim "Vier-Augen-Prinzip" um etwas handelt, das "zugelassen" ist, nachdem mindestens 2 Menschen (und / oder automatisierte Prozesse) ihren vorherigen Segen gegeben haben. Oder um den (leicht korrigierten) Wortlaut über die "Zwei- (Wo-) Mann-Regel" aus Wikipedia zu verwenden :
Die Zwei-Mann-Regel ist ein Kontrollmechanismus, mit dem ein hohes Maß an Sicherheit für besonders kritische Materialien oder Vorgänge erreicht werden soll. Nach dieser Regel sind für alle Zugriffe und Aktionen immer zwei befugte Personen erforderlich.
Zwar sind regulatorische Auflagen hier nicht in Frage zu stellen, aber was sind im Zusammenhang mit "safe-guard" die möglichen konzeptionellen Implementierungen dieses Vier-Augen-Prinzips, die wahrscheinlich für jede Plattform / Betriebssystem / Hardware gelten könnten, die verwendet wird?
quelle
Code-Überprüfungen
Es geht darum, dass mindestens eine andere Person den von jemandem geschriebenen Code betrachtet, um beispielsweise zu bewerten, ob er vordefinierten Kriterien entspricht, wie:
if/then/else
odercase/when
Konstrukte decken alle möglichen Fälle ab).Genehmigungen zum Aktualisieren einiger Zielumgebungen
Hier geht es darum, dass mindestens zwei Bestätigungen von einer Person und / oder einem automatisierten System vorliegen, bevor eine bestimmte Zielumgebung aktualisiert werden darf (die live sein kann oder so etwas wie eine Masterdatei / Baseline-Bibliothek sein kann). Einige Beispiele sind:
quelle
Dies sind Strategien / Muster, die ich mir vorstellen kann:
Aufgabentrennung
Zumindest für mich bedeutet DevOps nicht, sowohl Entwickler als auch Operatoren in einer Person zu verkörpern. Es ist also immer noch möglich, die Aufgabe so zu trennen, dass derjenige, der den Code schreibt (dev), nicht derjenige ist, der ihn ausführt (ops).
Wenn zum Beispiel eine SQL-Anweisung in der Live-Umgebung ausgeführt werden soll, schreibt eine die SQL und eine andere führt sie aus. Dies setzt voraus, dass der Ausführende auch die SQL versteht und nicht nur ausführt.
Trigger bereitstellen
Zwar gibt es Verdienst, kontinuierlich bereitzustellen. Teams in einer stärker regulierten Branche können eine andere (separate) Partei bestimmen, die die Bereitstellung auslöst, anstatt sie automatisch bereitzustellen. Checkliste, automatisierte Tests, Prüfsummen sind mögliche Prüfungen vor dem Auslösen der Bereitstellung.
Nach dem Auslösen kann die Automatisierung die Bereitstellung ausführen.
Paar-Programmierung
Persönlich habe ich diese Technik nicht als Methode für Prüfer angeführt, um das Check-and-Balance-Prinzip zu erfüllen. Aber möglicherweise denke ich, dass es eine Strategie sein kann.
MFA
Ich würde mich vielleicht ein wenig mit diesem strecken, aber es ist möglich, dass aus irgendeinem Grund, dass Sie keinen einseitigen Zugang zu einem System wünschen, jemand das Passwort und eine andere Person das Token oder Gerät für einen Zeitcode halten kann. Damit müssen 2 Personen anwesend sein, um das System beurteilen zu können.
quelle