Sicherheit sollte bereits in der Anfangsphase der Produktentwicklung berücksichtigt werden und nicht erst im Nachhinein. Dies ist besonders wichtig für den Service Bus, da er oft Teil eines größeren Systems ist. Die Sicherheitsanforderungen können je nach Anwendungsfall unterschiedlich sein. Eine Banklösung hat beispielsweise andere Sicherheitsanforderungen als eine Lösung für eine lokale Bäckerei.
Lassen Sie uns die gängigen Sicherheitsrisiken untersuchen, die Bedeutung von Datenverschlüsselung und verschiedenen robusten Authentifizierungsmethoden wie Azure AD und gemeinsame Zugriffssignaturen verstehen, Strategien für den Netzwerkschutz erkunden und den Wert der Protokollierung für eine verbesserte Überwachung hervorheben.
Datenschutz und Risiken
Die Sensibilität oder die potenziellen Auswirkungen eines Datenlecks können bei der Übertragung von Daten über den Service Bus hoch sein, insbesondere wenn es sich um Finanztransaktionen, medizinische Daten oder sensible persönliche Informationen handelt. Es ist wichtig, die Daten vor Risiken wie Datenexfiltration, unbefugten Datenbewegungen und unbefugtem Zugriff zu schützen. Wichtig ist auch eine angemessene Protokollierung, um zu überwachen, was mit den Daten geschieht.
Service Bus führt eine Verschlüsselung im Transit durch, d.h. er stellt sicher, dass die Daten während der Übertragung verschlüsselt werden. Dazu gehört die Verschlüsselung, wenn Daten vom Client zu Service Bus, innerhalb von Service Bus und von Service Bus zum Kunden übertragen werden. Standardmäßig unterstützt Azure Service Bus das Protokoll TLS 1.2 für öffentliche Endpunkte. Ursprünglich war es TLS 1.0, aber aufgrund von Kundenwünschen nach höherer Sicherheit wird nun standardmäßig die höhere Version verwendet. Das bedeutet jedoch nicht, dass die Versionen 1.0 und 1.1 veraltet sind. Sie werden aus Gründen der Abwärtskompatibilität weiterhin unterstützt, und Benutzer können in ihrem Namensraum eine Mindest-TLS-Version festlegen. Bei anderen Austauschvorgängen werden sichere Protokolle wie HTTPS für einfache RESTful-Operationen und AMQP für effizientes Message Queuing verwendet.
Neben der Verschlüsselung bei der Übertragung führt Service Bus auch eine Verschlüsselung im Ruhezustand durch, d.h. die Nachrichten werden verschlüsselt, während sie im Ruhezustand (gespeichert) sind. Dieser Prozess wird automatisch durchgeführt, und die Benutzer müssen nichts tun, um ihn zu aktivieren. Die Verschlüsselung erfolgt über Azure-Storage-Verschlüsselung, und Service Bus stellt auf Service Fabric Storage um, um die Leistung zu verbessern und Kosten zu sparen.
Was aber, wenn die eingebauten Sicherheitsebenen nicht ausreichen, um die Anforderungen des Kunden zu erfüllen? In solchen Fällen können Benutzer die Sicherheit erhöhen, indem sie ihren eigenen, im Azure Key Vault gespeicherten Verschlüsselungsschlüssel mitbringen - eine Methode, die allgemein als BYOK (Bring Your Own Key) bezeichnet wird. Der mitgelieferte Schlüssel kann zur Verschlüsselung von Daten verwendet werden, was eine zusätzliche Sicherheitsebene darstellt. Dies ist besonders wichtig für Unternehmen mit strengen Sicherheitsrichtlinien.
Bisher haben wir einige integrierte Sicherheitsfunktionen sowie die Methode zur Einführung einer zusätzlichen Schutzebene mithilfe des BYOK-Ansatzes untersucht. Für fortgeschrittene Szenarien gibt es auch Maßnahmen, die auf der Client-Seite ergriffen werden können.
So kann beispielsweise eine zusätzliche Verschlüsselungsschicht vom Client implementiert werden, ein Ansatz, den wir als clientseitige Verschlüsselung bezeichnen können. Der Schritt zum Schutz der Daten wird durchgeführt, bevor die Daten an den Service Bus gesendet werden. Dies ist zwar die sicherste Methode, erfordert aber auch den größten Aufwand, da der Client sowohl für die Verschlüsselung als auch für die Entschlüsselung verantwortlich ist. Dieser Ansatz wird häufig in hochsensiblen Umgebungen wie dem Gesundheitswesen verwendet, wo Datenschutzverletzungen erhebliche Folgen haben können.
Wie wir sehen können, gibt es viele verschiedene Mechanismen, um unsere Daten zu schützen. Für maximale Sicherheit können wir noch einen Schritt weiter gehen und uns für eine
Methoden zur Authentifizierung
Wie bereits erwähnt, bietet Azure Service Bus zwei Arten der Authentifizierung: Azure Active Directory (Azure AD) und Shared Access Signatures (SAS) Schlüssel. Lassen Sie uns einen kurzen Überblick über diese beiden Arten geben, um zu verstehen, welche für bestimmte Anforderungen besser geeignet ist.
Als moderne und empfohlene Form der Authentifizierung bietet Azure Active Directory (Azure AD) eine Reihe von Funktionen, die die Sicherheit und die einfache Verwaltung verbessern. Es unterstützt verschiedene Arten von Konten und Service-Principals und bietet eine rationalisierte und sichere Methode zur Verwaltung von Identitäten. Seine Flexibilität macht es einfacher, den Zugang für verschiedene Kunden zu verwalten. Wenn Sie die Sicherheit weiter erhöhen möchten, können Sie die SAS-Authentifizierung vollständig deaktivieren und sich ausschließlich auf Azure AD verlassen. Darüber hinaus können benutzerdefinierte Rollen erstellt werden, die detailliertere Berechtigungen bieten und eine maßgeschneiderte Zugriffskontrolle auf der Grundlage spezifischer Anforderungen ermöglichen.
Eine weitere robuste Authentifizierungsoption, bekannt als SAS-Schlüssel (Shared Access Signatures), beinhaltet die Generierung eines Verbindungsstrings aus Primär- und Sekundärschlüsseln zur Authentifizierung. Diese Schlüssel können für verschiedene Bereiche - Namespace, Topic oder Queue - festgelegt werden, um eine fein abgestufte Zugriffskontrolle zu ermöglichen. Um verschiedene Verbraucher oder Benutzer zu bedienen, können Sie auch mehrere Schlüssel erstellen. Dabei ist jedoch zu beachten, dass diese statisch sind und zur Erhöhung der Sicherheit manuell rotiert werden müssen, insbesondere der Root-Manager-Schlüssel, der den gesamten Namensraum kontrolliert. Für zusätzliche Sicherheit wird die Verwendung eines Token-Anbieters, z.B. einer API, die Authentifizierungstoken ausgibt, gegenüber der direkten Verwendung von Schlüsseln empfohlen. Obwohl SAS etwas veraltet sind, werden sie weiterhin unterstützt und sind nützlich für Systeme, die auf diese Authentifizierungsmethode beschränkt sind.
Sicherheit auf Netzwerkebene
Nachdem wir uns mit Datenschutzmaßnahmen und Authentifizierungsmethoden beschäftigt haben, wollen wir uns nun einem weiteren wichtigen Aspekt der Sicherung von Azure Service Bus zuwenden: der Sicherheit auf Netzwerkebene.
Eine wirksame Maßnahme ist die Festlegung von Service-Tags für den Service Bus-Namensraum, mit denen Sie festlegen können, welche Azure-Dienste auf Ihren Service Bus zugreifen können. Darüber hinaus können Sie mit IP-Filtern den Zugriff auf bestimmte IP-Adressen oder Bereiche beschränken. Für diejenigen, die die Premium-Stufe von Service Bus verwenden, kann das Hinzufügen des Service Bus zu einem virtuellen Netzwerk die Angriffsfläche weiter minimieren.
Es ist erwähnenswert, dass Service Bus ein grundlegendes Element der Azure-Architektur ist und tier-spezifische Funktionen bietet. So bietet der Premium-Tier beispielsweise erweiterte Optionen wie die VNet-Integration, vor allem weil er im Gegensatz zum Standard-Tier mit einem dedizierten Ressourcenmodell arbeitet.
Wer weiß, vielleicht wird die Lücke zwischen den beiden Stufen in der Zukunft ein wenig geschlossen. Aber im Moment führt diese Lücke zu einem erheblichen Preisunterschied zwischen dem Standard- und dem Premium-Tarif. Trotz der Verwendung dedizierter Hardwareressourcen wie virtueller Maschinen im Premium-Service sind Bemühungen im Gange, diesen Preisunterschied zu verringern und das Abonnement zugänglicher und erschwinglicher zu machen. Darüber hinaus werden möglicherweise Anleitungen und Vorlagen eingeführt, die dabei helfen, den ständigen Bedarf an dem Dienst oder seine gelegentliche Nutzung zu bestimmen.
Protokollierung und Überwachung für Sicherheit und Systemzustand
Zum Abschluss unserer umfassenden Erkundung der Sicherheit von Azure Service Bus möchten wir uns mit den unverzichtbaren Aspekten der Protokollierung und Überwachung sowohl für die Sicherheit als auch für den allgemeinen Systemzustand befassen.
Service Bus erzeugt eine beträchtliche Menge an Protokollen, die über Application Insights und Log Analytics zugänglich sind. Die Kusto Query Language (KQL) ist besonders nützlich für diejenigen, die mit diesen Protokollen arbeiten möchten, da sie Informationen über gesendete Nachrichten, hergestellte Verbindungen und durchgeführte Operationen enthalten.
Es gibt auch Unterstützung für Azure Policy, mit der Benutzer Richtlinien für verschiedene Konfigurationen festlegen können. So kann ein Benutzer beispielsweise eine Mindest-TLS-Version für alle Abonnements festlegen, um sicherzustellen, dass die Sicherheitsstandards eingehalten werden. So können Sie sicherstellen, dass sich alle an die gleichen Sicherheitsgrundsätze halten.
Es ist wichtig, Informationen nicht nur zu protokollieren, sondern sie auch aktiv auf Anomalien oder Probleme zu überwachen. Service Bus ermöglicht es Benutzern, Warnmeldungen auf der Grundlage bestimmter Bedingungen oder dynamischer Schwellenwerte einzurichten. Wenn zum Beispiel eine ungewöhnliche Spitze bei den Verbindungen auftritt, kann ein Alarm ausgelöst werden. Diese proaktive Überwachung ist vor allem für die diensthabenden Mitarbeiter wichtig, um Probleme schnell zu erkennen und zu beheben.
Über Azure Monitor können Benutzer andere Dienste wie Logic Apps oder Azure Functions integrieren. Einige Unternehmen haben ihren Workflow so automatisiert, dass das System bei Auslösung eines Alarms den Vorgang analysiert, ihn dem richtigen Team zuordnet, eine Priorität festlegt und ein Ticket erstellt. Dadurch wird der Prozess gestrafft und sichergestellt, dass die richtigen Mitarbeiter umgehend mit der Bearbeitung des Problems beginnen können.
Zusammenfassend lässt sich sagen, dass der Grad der Sicherheitsimplementierung auf das jeweilige Szenario zugeschnitten sein sollte, wobei die Kritikalität der Daten und der betroffenen Vorgänge zu berücksichtigen ist. Ein kleiner Kunde, der ein paar Nachrichten verschickt, braucht vielleicht nicht die gleichen robusten Maßnahmen wie ein großes Unternehmen, das mit sensiblen Daten arbeitet. Daneben ist die Konfiguration der Verschlüsselung ein entscheidender Schritt, wobei Optionen wie die client-seitige Verschlüsselung zusätzliche Sicherheit bieten, da die Schlüssel vor Ort verbleiben. Auch wenn Azure mit der Datenschutzgrundverordnung und anderen Standards konform ist, ist es wichtig, diese zu überprüfen, insbesondere wenn Sie mit sensiblen Daten arbeiten.
Verfasst von

Olena Borzenko
Unsere Ideen
Weitere Blogs
Contact




