Blockieren des direkten Zugriffs auf eine statische Website im Azure Blob Storage und Zulassen nur von Azure Front Door

Blockieren des direkten Zugriffs auf eine statische Website im Azure Blob Storage und Zulassen nur von Azure Front Door

Ich habe eine SPA-Webanwendung auf Azure Blob Storage bereitgestellt, deren URL öffentlich ist. Beispiel:https://example.z23.web.core.windows.net/

Ich möchte Azure Front Door mit WAF verwenden, um die Sicherheit zu erhöhen. Gibt es eine Möglichkeit, den direkten Zugriff auf die Blob-URL zu blockieren? Ich habe danach gegoogelt und viele Antworten gefunden. Eine davon besteht darin, AzureFrontDoor.Backendbei Netzwerkkonfigurationen von Speicherkonten einfach nur IPs zuzulassen. Ich habe es ausprobiert und es hat funktioniert.

Allerdings weist diese Methode immer noch eine Lücke auf, da jeder einfach eine Front Door erstellen und auf meine Blob-URL verweisen kann (falls er sie irgendwie entdeckt).

(Das klingt vielleicht dumm): Wenn ich mit dieser Methode fortfahre und meinem Speicherkonto beispielsweise einen zufälligen Namen gebe, verwende ich eine abgespeckte zufällige GUID. (https://6c4a89d5dba04b8fbe1ed7f.z23.web.core.windows.net/) Kann dadurch die Möglichkeit verringert werden, dass jemand meine URL herausfindet und die Sicherheit umgeht?

Eine andere Methode, dieAzure empfiehltbesteht darin, nach X-Azure-FDIDHeadern zu suchen, die die ID meiner speziellen Front Door-Instanz enthalten, und Anfragen zu löschen, die diesen Header nicht enthalten. Ich habe meinen Entwickler gefragt, ob dies bei der Vue-Webanwendung möglich ist, und er sagte, wir müssten die Front Door-ID in den Code aufnehmen, der auf der Clientseite ausgeführt wird, sodass die ID ohnehin öffentlich zugänglich ist. (Dies ist nicht Stack Overflow, aber wenn jemand etwas dazu vorschlagen kann, wäre das großartig.)

Eine andere Möglichkeit, die ich gefunden habe, ist die Verwendung von Azure Front Door Premium SKU, dieunterstütztVerbindung zum Speicherkonto über Private Link herstellen. Das ist perfekt, kostet aber satte 165 $ pro Monat. Ich würde meinen Code lieber auf App Service bereitstellen, da dort der Zugriff nativ nur von Front Door eingeschränkt werden kann.

Kann jemand eine Methode vorschlagen, wie dies erreicht werden kann?

Danke.

Antwort1

Das Überprüfen des X-Azure-FDID-Headers in Kombination mit der IP-Einschränkung ist derzeit die einzige Möglichkeit, dies zu sperren, ohne den privaten Link-Weg zu nutzen. Sie müssten also Ihren Anwendungscode abrufen, um dies zu validieren, vorausgesetzt, Sie haben nichts anderes zwischen FD und dem Speicherkonto.

Auch wenn dies in Ihrem Client-Code die ID offenlegen würde, spielt das keine Rolle. Die IP-Einschränkungen bedeuten, dass Sie nur Datenverkehr von Front Door-Instanzen zulassen und es für einen Angreifer keine Möglichkeit gibt, diese ID auf einer anderen FD-Instanz festzulegen.

verwandte Informationen