Video: Best practices and lessons learnt from Running Apache NiFi at Renault 2024
Es ist eine natürliche menschliche Neigung, Dinge zu bauen, ohne zuerst ihre Design- oder Sicherheitsimplikationen zu berücksichtigen. Ein Netzwerkingenieur, der ein neues Netzwerk erstellt, kann einfach damit beginnen, Kabel in Router und Switches einzustecken, ohne zuerst über das Gesamtdesign nachzudenken - ganz zu schweigen von Sicherheitserwägungen. Auf ähnliche Weise kann ein Softwareingenieur, der ein neues Programm schreiben soll, mit dem Codieren beginnen, ohne das Design des Programms zu planen.
Wenn Sie die Außenwelt und die verfügbaren Verbraucherprodukte beobachten, sehen Sie manchmal ungeheure Usability- und Sicherheitsmängel, die Sie fragen lassen, wie die Person oder Organisation jemals an der Entwicklung und Entwicklung teilnehmen durfte…
Sicherheitsexperten müssen Organisationen dabei helfen zu verstehen, dass die Prinzipien des "Security-by-Design" eine entscheidende Komponente bei der Entwicklung jedes Systems sind.
Zu den Engineering-Prozessen, die die Einbindung sicherer Gestaltungsprinzipien erfordern, gehören:
- Konzeptentwicklung. Sicherheitsüberlegungen sind von der Ideenphase an für den Erfolg neuer IT-Engineering-Bemühungen von entscheidender Bedeutung. Jedes Projekt und Produkt beginnt mit etwas - einer Whiteboard-Session, Skizzen auf Cocktailservietten oder Pizzakartons oder einer Telefonkonferenz. Doch sobald das Projekt startet, sollte sich jemand fragen, wie wichtige Daten, Funktionen und Komponenten in dieser neuen Sache geschützt werden. Wir suchen keine detaillierten Antworten, aber wir haben genug Vertrauen, um zu wissen, dass wir nicht die neueste Schafherde sind, die auf die nächste Klippe zuhast.
- Anforderungen. Bevor das eigentliche Design beginnt, definieren eine oder mehrere Personen die Anforderungen für das neue System oder Feature. Oft gibt es mehrere Kategorien von Anforderungen. Sicherheits-, Datenschutz- und regulatorische Anforderungen müssen oft berücksichtigt werden.
- Entwurf. Nachdem alle Anforderungen festgelegt und vereinbart wurden, kann der formale Entwurf des Systems oder der Komponente beginnen. Das Design muss alle Anforderungen enthalten, die im vorherigen Schritt festgelegt wurden.
- Entwicklung. Je nach dem, was erstellt wird, kann die Entwicklung viele Formen annehmen, einschließlich der Erstellung von
- System- und Gerätekonfigurationen
- Rack-Diagramme für Rechenzentrumsausrüstung
- Datenflüsse für Verwaltungs- und Überwachungssysteme
- Testen. Einzelne Komponenten und das gesamte System werden getestet, um zu bestätigen, dass jede zuvor entwickelte Anforderung erfüllt wurde. Im Allgemeinen sollte jemand anderes als der Builder / Entwickler Tests durchführen.
- Implementierung. Wenn das System oder die Komponente in Betrieb genommen wird, tragen Sicherheitsüberlegungen dazu bei, dass das neue System / die neue Komponente oder verwandte Dinge nicht gefährdet werden. Zu den Implementierungsaktivitäten gehören:
- Konfigurieren und Verkabeln von Netzwerkgeräten
- Installieren und Konfigurieren von Betriebssystemen oder Subsystemen wie Datenbankverwaltungssystemen, Webservern oder Anwendungen
- Erstellen von physischen Einrichtungen, Arbeitsbereichen oder Datenzentren
- Wartung und Support. Nachdem das System oder die Anlage in Betrieb genommen wurde, müssen alle nachfolgenden Änderungen ähnlichen Engineering-Schritten unterzogen werden, um sicherzustellen, dass neue oder sich ändernde Sicherheitsrisiken schnell gemindert werden.
- Außerbetriebnahme. Wenn ein System oder eine Anlage das Ende ihrer Lebensdauer erreicht hat, muss sie stillgelegt werden, ohne dass Daten, andere Systeme oder Personal gefährdet werden.