Azure Container Registry: Minderung des Risikos einer Datenexfiltration mit dedizierten Datenendpunkten

Veröffentlicht am 30 April, 2020

Program Manager, Azure Container Registry

Wir freuen uns, dedizierte Datenendpunkte für Azure Container Registry anzukündigen, mit denen sich streng definierte Firewallregeln für bestimmte Registrierungen festlegen lassen. Auf diese Weise lässt sich das Risiko einer Datenexfiltration minimieren.

Beim Pullen von Inhalten aus einer Registrierung kommen zwei Endpunkte ins Spiel:

  • Der Registrierungsendpunkt, der häufig als Anmelde-URL bezeichnet wird. Er dient der Authentifizierung und der Inhaltsermittlung.
    Ein Befehl wie docker pull contoso.azurecr.io/hello-world löst eine REST-Anforderung aus, die die Ebenen authentifiziert und aushandelt, die das angeforderte Artefakt darstellen.
  • Datenendpunkte bedienen Blobs, die Inhaltsebenen darstellen.

Registrierung mit zwei Endpunkten

Von der Registrierung verwaltete Speicherkonten

Azure Container Registry ist ein mehrinstanzfähiger Dienst, in dem die Speicherkonten der Datenendpunkte vom Registrierungsdienst verwaltet werden. Ein verwalteter Speicher bietet zahlreiche Vorteile, zum Beispiel einen Lastenausgleich, die Teilung von umstrittenen Inhalten, mehrere Kopien für höhere gleichzeitige Content-Delivery -Volumen und die Unterstützung für mehrere Regionen mithilfe von Georeplikation.

Unterstützung von Azure Private Link für virtuelle Netzwerke

Für Azure Container Registry wurde kürzlich die Unterstützung für Private Link angekündigt, mit der es möglich wird, private Endpunkte aus Azure Virtual Networks in den verwalteten Registrierungsdienst einzubinden. In diesem Fall sind sowohl die Registrierung als auch die Datenendpunkte innerhalb des virtuellen Netzwerks mithilfe von privaten IP-Adressen zugänglich.

Der öffentliche Endpunkt kann anschließend entfernt werden, wodurch sichergestellt wird, dass die verwaltete Registrierung und die Speicherkonten Zugriffsaktionen innerhalb des virtuellen Netzwerks ausführen.
Azure Container Registry mit Private Link 

Leider ist eine Verbindung mit einem virtuellen Netzwerk nicht immer eine Option.

Clientspezifische Firewallregeln und das Risiko der Datenexfiltration

Wenn Sie von lokalen Hosts, IoT-Geräten oder benutzerdefinierten Build-Agents eine Verbindung zu einer Registrierung herstellen oder wenn Private Link keine Option ist, können Sie clientspezifische Firewallregeln anwenden. Diese schränken den Zugriff auf bestimmte Ressourcen ein.

Clientspezifische Firewallregeln, Risiko der Datenexfiltration 
Wenn Kunden clientspezifische Firewallkonfigurationen vornehmen, wird schnell offensichtlich, dass die Erstellung einer Regel mit einem einzigen Platzhalter für alle Speicherkonten erforderlich ist. Dies weckt Bedenken aufgrund der Gefahr von Datenexfiltration. Ein böswilliger Benutzer könnte dann Code bereitstellen, der in der Lage ist, in das Speicherkonto eines Kunden zu schreiben.

Daher werden in Azure Container Registry dedizierte Datenendpunkte eingeführt, um das Risiko der Datenexfiltration zu entschärfen.

Clientspezifische Firewallregeln, Exploit zur Datenexfiltration

Dedizierte Datenendpunkte

Wenn dedizierte Datenendpunkte aktiviert sind, werden Ebenen aus dem Dienst „Azure Container Registry“ abgerufen, wobei vollqualifizierte Domänennamen die Registrierungsdomäne darstellen. Da jeder Dienst georepliziert werden kann, wird ein regionales Muster verwendet:

[Registrierung].[Region].data.azurecr.io.

Im Contoso-Beispiel werden mehrere regionale Datenendpunkte hinzugefügt, die die lokale Region mithilfe eines nahegelegenen Replikats unterstützen.

Mit den dedizierten Datenendpunkten wird der böswillige Benutzer daran gehindert, Schreibvorgänge in fremden Speicherkonten auszuführen.

Dedizierte Datenendpunkte, Risiko einer Datenexfiltration entschärft

Einrichten von dedizierten Datenendpunkten

Hinweis: Aufgrund der Umstellung auf dedizierte Datenendpunkte treten auf Clients Pullfehler auf, auf denen der Firewallzugriff für die bestehenden *.blob.core.windows.net-Endpunkte konfiguriert ist. Damit sichergestellt ist, dass Clients über konsistenten Zugriff verfügen, müssen die neuen Datenendpunkte zu den clientspezifischen Firewallregeln hinzugefügt werden. Anschließend können bestehende Registrierungen dedizierte Datenendpunkte über die Azure CLI (az cli) aktivieren.

Ab Version 2.4.0 der az cli muss dazu der folgende az acr update-Befehl ausgeführt werden:

az acr update --name contoso --data-endpoint-enabled

Wenn Sie die Datenendpunkte, einschließlich der regionalen Endpunkte für georeplizierte Registrierungen, anzeigen möchten, verwenden Sie den Befehl „az acr show-endpoints“:

az acr show-endpoints --name contoso

Ausgaben:

{
  "loginServer": "contoso.azurecr.io",
  "dataEndpoints": [
    {
      "region": "eastus",
      "endpoint": "contoso.eastus.data.azurecr.io",
    },
    {
      "region": "westus",
      "endpoint": "contoso.westus.data.azurecr.io",
    }
  ]
}

Sicherheit mit Azure Private Link

Azure Private Link ist der sicherste Weg, um den Netzwerkzugriff zwischen Clients und der Registrierung mithilfe von privaten IP-Adressen zu steuern, da der Netzwerkdatenverkehr auf Azure Virtual Network beschränkt ist. Wenn Private Link keine Option ist, können dedizierte Datenendpunkte sichere Informationen darüber bieten, welche Ressourcen von den einzelnen Clients aus zugänglich sind.

Preisinformationen

Dedizierte Datenendpunkte sind ein Feature von Premium-Registrierungen.

Weitere Informationen zu dedizierten Datenendpunkten finden Sie in diesen Preisinformationen.