Windows Azure: Verstehen der Sicherheitskontoverwaltung in Windows Azure

Das Cloudcomputing löst einige der Aufgaben für die Sicherheit. Sie sind jedoch weiterhin aktiv an der Verwaltung des Zugriffs, der Gewährleistung der Kommunikation und der Sicherstellung des Datenschutzes beteiligt.

Joshua Hoffman

Das Cloudcomputing ist der wichtigste Paradigmenwechsel, den die IT-Branche seit der Einführung des Internets erfahren hat. Höhere Bandbreiten, günstigerer Speicher und robuste Virtualisierungstechnologien haben die Vision von Software-as-a-Service Wirklichkeit werden lassen. Die Cloud stellt skalierbare, flexible Systeme bereit, für die Sie aufgrund der tatsächlichen Nutzung bezahlen. Sie erfüllen die Anforderungen der Gegenwart, in der mit weniger Aufwand mehr erreicht werden muss.

Auch wenn das Cloudcomputing zahlreiche Aufgaben im Bereich Infrastrukturverwaltung übernimmt, bleibt die Sicherheit eine zentrale Aufgabe. Die Sicherheit erfordert hier den gleichen Grad an Überlegung und Aufmerksamkeit wie ein physisches Rechenzentrum. Auch wenn Anwendungen und Dienste zu Cloudcomputing-Plattformen wie Windows Azure migriert werden, sind Sie weiterhin aktiv an der Verwaltung des Zugriffs, der Gewährleistung der Kommunikation und der Sicherstellung des Schutzes geschäftskritischer Daten beteiligt.

Es gibt mehrere empfohlene Verfahren für die Verwaltung der Sicherheit von Anwendungen und Diensten, die auf Windows Azure gehostet werden.

Eigentümerschaft in Bezug auf das Konto

Im Microsoft Online Services Customer Portal (MOCP) werden alle Vorgänge in Bezug auf die Windows Azure-Kontoverwaltung und -Abrechnung verarbeitet. Über das MOCP können Sie sich für Windows Azure-Dienste anmelden, zusätzliche Dienste wie SQL Azure hinzufügen und neue Instanzen vorhandener Dienste erstellen (Abonnements genannt).

Abonnements sind die "Abrechnungsgrenze" für Windows Azure-Dienste. Sie müssen für jede Anwendung (oder Sammlung von Abonnements) eigene Abonnements einrichten, wenn die einzelnen Anwendungen unterschiedlich abgerechnet werden. Sie können zum Beispiel getrennte Abonnements mit spezifischen Abrechnungsdetails erstellen, wenn es mehrere Abteilungen gibt, die Anwendungen auf Windows Azure hosten, jedoch getrennt abrechnen müssen.

Sie müssen für jedes Abonnement einen Kontoeigentümer und einen Dienstadministrator benennen. Jedes dieser Konten ist mit einer Windows Live ID verknüpft. Der Eigentümer des Kontos ist für die Verwaltung des Abonnements und der Abrechnung über das MOCP verantwortlich. Der Kontoadministrator verwaltet die technischen Aspekte des Abonnements, einschließlich der Erstellung gehosteter Dienste. Dies erfolgt über das Windows Azure Management Portal.

Es wird empfohlen, für jede dieser beiden Rollen ein eigenes Konto zu erstellen. Diese Konten sollten unabhängig von persönlichen Konten sein. Mit anderen Worten, Sie sollten in unternehmens- oder teambasierten Szenarien nicht Ihre persönliche Windows Live ID für das Konto des Kontoeigentümers oder Dienstadministrators verwenden. Erstellen Sie stattdessen spezifische Konten. Sie können hierfür ein Benennungsmuster wie AO[eindeutige ID]@live.com für Kontoeigentümer und AA[eindeutige ID]@live.com für Kontoadministratoren verwenden. Die Kennwörter sollten zentral verwaltet und, wenn erforderlich, zentral zurückgesetzt werden können.

Wenn Sie ein Abonnement erstellt haben, können die Kontoadministratoren die gehosteten Dienste über das Windows Azure Management Portal verwalten. Sie können über die Anmeldeinformationen für das Konto des Dienstadministrators auf das Portal zugreifen. Nach der Anmeldung erstellt der Administrator zunächst einen neuen gehosteten Dienst (siehe Abbildung 1).

Figure 1 Creating a new Hosted Service in Windows Azure

Abbildung 1 Erstellen eines neuen gehosteten Diensts in Windows Azure

Während der Erstellung eines neuen gehosteten Diensts werden Sie aufgefordert, einen Namen für den Dienst anzugeben. Sie müssen außerdem ein URL-Präfix und die Bereitstellungsoption festlegen. Sie können auch ein vorhandenes Paket (.cspkg) und eine Konfigurationsdatei (.cscfg) aus einer Entwicklungsumgebung wie Visual Studio verwenden (wenn Sie bereits über verpackte Anwendungen verfügen).

Wählen Sie links im Portal auf der Registerkarte für gehostete Dienste "User Management" (Benutzerverwaltung) aus. Auf dieser Registerkarte können Sie zusätzliche Koadministratoren hinzufügen (siehe Abbildung 2). Dies gibt Ihnen zusätzliche Flexibilität bei der Bereitstellung von Zugriff auf die Verwaltung der gehosteten Anwendungen.

Figure 2 Adding new administrators to the subscription

Abbildung 2 Hinzufügen neuer Administratoren zum Abonnement

Zertifikatverwaltung

Zertifikate sind eine zentrale Komponente der Sicherheit in Windows Azure. Es gibt zwei verschiedene Arten von Zertifikaten, die für den Schutz Ihrer Anwendungen oder Dienste von Bedeutung sind: Dienstzertifikate und Verwaltungszertifikate.

Dienstzertifikate sind normale SSL-Zertifikate, die zum Schutz der Endpunktkommunikation verwendet werden. Wenn Sie bereits einmal SSL-Sicherheit für eine Website konfiguriert haben, die auf IIS gehostet wird, kennen Sie diesen Zertifikattyp bereits. Sie benötigen Dienstzertifikate für Bereitstellungen in der Produktion, die von einer vertrauenswürdigen Stammzertifikatstelle herausgegeben werden. Sie müssen diese daher von einem Anbieter wie VeriSign oder DigiCert erwerben.

Die Liste der vertrauenswürdigen Stammzertifikatstellen wird hier (für Microsoft Windows) und hier (für Microsoft Windows Phone 7) gepflegt. Der Name des SSL-Zertifikats muss dem Namen der Domäne Ihrer Website entsprechen. Sie benötigen daher einen DNS CNAME-Eintrag, um yourapp.cloudapp.net (der von Windows Azure für Ihre Anwendung bereitgestellten Domänenname) www.yourcompany.com zuzuordnen. Aus Sicherheitsgründen können Sie kein Zertifikat erwerben, das yourapp.cloudapp.net zugeordnet ist. Nur Microsoft kann Zertifikate für cloudapp.net herausgeben. Sie können jedoch ein eigenes, selbst signiertes Zertifikat für Entwicklungszwecke herausgeben.

Selbst signierte Zertifikate sollten nur für Testzwecke verwendet werden, da Endbenutzer-Webbrowser diesen nicht vertrauen werden. Sie werden während des Testens feststellen, dass Ihr eigener Browser Sie auf das nicht vertrauenswürdige Zertifikat hinweist, oder dass API-Aufrufe mittels Windows Communications Foundation (WCF) zu Fehlern führen. Dies bedeutet nicht, dass das Zertifikat nicht funktioniert, sondern dass es bei Stammzertifizierungsstellen als nicht vertrauenswürdig gilt. Dies ist störend, kann aber während des Testens akzeptiert werden. Sie möchte jedoch sicher nicht, dass Endbenutzer diese Erfahrung machen.

Um Tests mit API-Aufrufen durchzuführen, müssen Sie Code hinzufügen, um die Zertifikatvalidierung zu umgehen. Sie können das selbst signierte Zertifikat auch dem Speicher für Zertifikate vertrauenswürdiger Stammzertifizierungsstellen mittels Certificate Management MMC, Batchbefehlen oder Code hinzufügen. David Hardin von Microsoft hat in seinem Blog mehr zu diesem Thema geschrieben.

Sie müssen die Windows Azure-Dienstzertifikate im Personal Information Exchange (.pfx)-Format bereitstellen. Um ein eigenes, selbst signiertes Dienstzertifikat mit "Kennwort" als Platzhalterkennwort (Sie können das Kennwort im letzten Befehl ändern), öffnen Sie eine Visual Studio-Befehlszeile und führen die folgenden Befehle aus:

makecert -r -pe -n "CN=yourapp.cloudapp.net" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sky exchange 
-sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 -sv SSLDevCert.pvk SSLDevCert.cer

del SSLDevCert.pfx

pvk2pfx -pvk SSLDevCert.pvk -spc SSLDevCert.cer -pfx SSLDevCert.pfx -po password

Sie können die SSl-Dienstzertifikate von der Registerkarte für gehostete Dienste im Windows Azure Management Portal hochladen, indem Sie auf "Add Certificate" (Zertifikat hinzufügen) klicken und das Kennwort angeben (siehe Abbildung 3).

Figure 3 Adding a service certificate in Windows Azure

Abbildung 3 Hinzufügen eines Dienstzertifikats in Windows Azure

Verwaltungszertifikate stellen den anderen Typ von Zertifikaten dar, der von Windows Azure verwendet wird. Windows Azure Tools for Microsoft Visual Studio verwendet Verwaltungszertifikate, um Entwickler für die Windows Azure-Bereitstellung zu authentifizieren. Das CSUpload-Befehlszeilentool verwendet Verwaltungszertifikate, um Rollenabbilder für virtuelle Computer bereitzustellen. Windows Azure Service Management REST API-Anforderungen verwenden ebenfalls Verwaltungszertifikate.

Windows Azure Service Management-cmdlets verwenden Verwaltungszertifikate für Windows PowerShell. Sie können die Windows Azure PowerShell-cmdlets für die einfache Ausführung und Automatisierung der Windows Azure-basierten Systembereitstellung, -konfiguration und -verwaltung verwenden.

Sie müssen die Windows Azure-Verwaltungszertifikate im X.509 (.cer)-Format bereitstellen. Um eigene, selbst signierte Verwaltungszertifikate zu erstellen, öffnen Sie eine Visual Studio-Befehlszeile und führen den folgenden Befehl aus:

makecert -r -pe -a sha1 -n "CN=Windows Azure Authentication Certificate" -ss my -len 2048 -sp "Microsoft Enhanced RSA and AES Cryptographic Provider" -sy 24 ManagementApiCert.cer

Sie können Verwaltungszertifikate über die Windows Azure Management Platform hochladen, indem Sie im linken Bereich "Management Certificates" (Verwaltungszertifikate) und anschließend "Add Certificate" (Zertifikat hinzufügen) auswählen (siehe Abbildung 4). Weitere Informationen zur Erstellung eigener Zertifikate für Windows Azure finden Sie im MSDN Library-Artikel So erstellen Sie ein Zertifikat für eine Rolle (möglicherweise in englischer Sprache).

Figure 4 Adding a management certificate in Windows Azure

Abbildung 4 Hinzufügen eines Verwaltungszertifikats in Windows Azure

Mitarbeiterwechsel

Einer der Hauptvorteile von Cloudcomputinglösungen besteht darin, dass sie von einem externen Anbieter gehostet werden. Dies stellt zunächst physische Redundanz bereit, unabhängig vom eigenen Standort. Es bedeutet jedoch auch, dass es schwieriger ist, den Zugriff zu beschränken, wenn ein Mitarbeiter das Unternehmen verlässt, auf eigenen Wunsch oder aufgrund einer Kündigung.

Daher müssen Sie einige wichtige Dinge beachten, wenn es Änderungen gibt, die sich auf den genehmigten Zugriff auf Cloudcomputing-Ressourcen auswirken. Der erste Schritt besteht darin, die Kennwörter für alle Dienstadministratorkonten zurückzusetzen, auf die der frühere Mitarbeiter Zugriff hatte. Wenn Sie eindeutige und unabhängige IDs für Kontoadministratoren und Dienstadministratoren eingerichtet haben, die Sie zentral verwalten können, vereinfacht dies den Prozess.

Wenn Sie das Kennwort für ein Dienstadministratorkonto nicht zurücksetzen können, können Sie sich am MOCP als Kontoeigentümer anmelden. Aktualisieren Sie das Konto, das als Dienstadministrator eingetragen ist. Sie sollten außerdem über das Windows Azure Management Portal alle Konten entfernen, die als Koadministratoren aufgelistet sind.

Der zweite Schritt besteht darin, dass Sie alle relevanten Verwaltungszertifikate neu herausgeben. Diese Zertifikate stellen ein Mittel für die Authentifizierung für die gehosteten Dienste über Visual Studio- und Windows Azure-APIs dar. Daher können Sie diesen Zertifikaten nicht mehr vertrauen, wenn ein Mitarbeiter das Unternehmen verlassen hat. Auch wenn der Computer des Mitarbeiters das Unternehmen nicht verlässt, kann dieser eine Kopie des Zertifikats für sich erstellt haben.

Um Verwaltungszertifikate neu herauszugeben, führen Sie einfach den zuvor bereits erwähnten Befehl erneut aus und entfernen die alten Verwaltungszertifikate. Laden Sie die neuen Verwaltungszertifikate hoch, und verteilen Sie diese an alle autorisierten Mitarbeiter. Sie müssen nur die Verwaltungszertifikate neu herausgeben. Die Dienstzertifikate müssen nicht neu herausgegeben werden, da sie nur Verschlüsselung bereitstellen, keine Authentifizierung.

Auch wenn die Anwendungen in der Cloud gehostet werden, sind Sie dennoch an deren Sicherheitsarchitektur beteiligt. (Weitere Ressourcen zu diesem Thema finden Sie auf der MSDN Library-Seite Sicherheitsressourcen für Windows Azure, möglicherweise in englischer Sprache.) Befolgen Sie diese bewährten Verfahren für die Konto- und Zertifikatsverwaltung. Dies stellt sicher, dass Ihr Unternehmen alle Vorteile des Cloudcomputings nutzen kann, ohne die Sicherheit und den Schutz geschäftskritischer Daten zu gefährden.

Dank an David Hardin von Microsoft IT und Daniel Odievich aus dem Microsoft Developer and Platform Evangelism Team sowie der Partnerschaft mit der Security Talk Series für die Unterstützung bei der Erstellung dieses Artikels.

Joshua Hoffman

Joshua Hoffman* ist ehemaliger Chefredakteur des TechNet Magazine. Er ist heute als freier Autor und Berater tätig und berät Kunden hinsichtlich Technologie und zielgruppenorientiertem Marketing. Joshua Hoffman ist zudem Chefredakteur der Website ResearchAccess.com, die dem Ausbau und der Entwicklung der Marktforschungs-Community gewidmet ist. Er lebt in New York City.*

 

Verwandter Inhalt