HTTP X-Permitted-Cross-Domain-Policies Header

Der HTTP-Header X-Permitted-Cross-Domain-Policies ist ein Response-Header, der steuert, ob und wie Adobe Flash Player und PDF-Viewer Cross-Domain-Policy-Dateien laden dürfen. Er ist primär ein Legacy-Security-Header für Flash-basierte Anwendungen.

Typ

Response-Header

Syntax

Der Header definiert die erlaubte Policy-File-Nutzung.

http
X-Permitted-Cross-Domain-Policies: none
X-Permitted-Cross-Domain-Policies: master-only

Direktiven

Die Direktiven steuern, welche Cross-Domain-Policy-Dateien respektiert werden.

none
Keine Cross-Domain-Policy-Dateien werden geladen, auch nicht /crossdomain.xml. Restriktivste Einstellung.
master-only
Nur die Master-Policy-Datei /crossdomain.xml im Root wird respektiert, keine Meta-Policies.
by-content-type
Nur Dateien mit Content-Type: text/x-cross-domain-policy werden als Policy erkannt.
by-ftp-filename
Nur Dateien mit Namen crossdomain.xml auf FTP-Servern werden akzeptiert.
all
Alle Policy-Dateien werden respektiert, unabhängig von Typ oder Speicherort. Unsicherste Option.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den X-Permitted-Cross-Domain-Policies-Header.

Beispiel 1 Keine Cross-Domain Policies

http
HTTP/1.1 200 OK
Content-Type: application/json
X-Permitted-Cross-Domain-Policies: none

{"data": "restricted API"}

API-Server verbietet jegliche Cross-Domain-Zugriffe durch Flash/PDF-Clients, selbst wenn /crossdomain.xml existiert.

Beispiel 2 Master-Only Policy

http
HTTP/1.1 200 OK
Content-Type: application/pdf
X-Permitted-Cross-Domain-Policies: master-only

[PDF binary data]

PDF-Server erlaubt nur Root-Level /crossdomain.xml, keine Sub-Directory-Policies, reduziert Attack-Surface.

Beispiel 3 Content-Type basierte Erkennung

http
HTTP/1.1 200 OK
Content-Type: text/x-cross-domain-policy
X-Permitted-Cross-Domain-Policies: by-content-type

<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="*.example.com"/>
</cross-domain-policy>

Server liefert Cross-Domain-Policy mit korrektem Content-Type, nur solche Dateien werden als Policy-Dateien akzeptiert.

Cross-Domain Policy Flow

Flash Cross-Domain Policy Flow

Vorteile für die Systemarchitektur

  • Defense-in-Depth: Zusätzliche Security-Layer gegen ungewollte Flash/PDF Cross-Origin-Zugriffe
  • Policy-File-Kontrolle: Verhindert Missbrauch von Meta-Policies in Sub-Directories
  • Legacy-Kompatibilität: Schützt Systeme die noch Flash- oder PDF-basierte Clients unterstützen müssen

Spezifikation

Adobe Cross-Domain Policy File Specification https://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/xdomain.html OWASP Cross-Domain Policy https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/11-Client-side_Testing/05-Testing_for_Cross_Site_Flashing

Weitere Spezifikationen

Access-Control-Allow-Origin Header, Content-Security-Policy Header