Cross-Origin Resource Sharing

Cross-Origin Resource Sharing (CORS) tritt auf, wenn ein Script auf einem Server eine Ajax-Anforderung an einen anderen Server sendet. CORS tritt außerdem auf, wenn eine Anforderung in einem anderen Protokoll oder an einem anderen Port an denselben Server gesendet wird.

Das Cross-Origin Resource Sharing verstößt gegen die 'Same-Origin-Policy', die zur Vermeidung von Cross-Site Request Forgery-Attacken implementiert ist. Die globale Verhinderung von Cookies für /api/*-Endpunkte verhindert zwar diese Attacken, Browser versuchen aber dennoch, diese Richtlinie durchzusetzen. Diese Konvention wird von allen Browsern verwendet, bei manuellen Anforderungsmechanismen wie cURL findet sie jedoch keine Anwendung.

Browser erkennen, dass Sie versuchen, eine Anforderung an einen Server zu stellen, und senden zunächst eine Preflight-Anforderung. Preflight-Anforderungen werden als OPTION-Anforderung für dieselbe URL festgelegt, enthalten jedoch auch den Ursprungsheader. Der Server muss weitere Informationen zurücksenden, beispielsweise die zulässigen Anforderungstypen, ob Header in der Antwort der eigentlichen Anforderung erwartet werden und ob der Ursprung akzeptiert wird.

Wenn der Header 'Access-Control-Allow-Origin' der Antwort der Preflight-Anforderung nicht mit dem Ursprungsheader der Anforderung übereinstimmt, erfolgt eine Ablehnung durch den Browser. Stimmt der Header 'Access-Control-Allow-Origin' überein, fährt der Browser mit der Anforderung fort. Die Antwort der Anforderung muss dieselbe Ursprungsprüfung bestehen, falls sich die Regel zwischen der Preflight-Anforderung und der tatsächlichen Anforderung ändert.

Management zulässiger Ursprungsadressen

Der von Ihrem Browser gesendete Ursprungswert enthält das Protokoll gefolgt vom Hostnamen und Port. Beispiel:

http://192.0.2.0:8888

Sie können die von Ihrem Browser gesendeten Anforderungen abfangen, um sicherzustellen, dass Sie über den richtigen Ursprungswert verfügen. Sie können Ihren Ursprung einer Whitelist in der QRadar® -Konsole in der Datei /opt/qradar/webapps/console/restapi/allowed_origins.list hinzufügen. Änderungen werden erkannt und sofort wirksam. Diese Datei enthält eine durch Zeilenumbrüche getrennte Liste mit zulässigen Ursprungsadressen. Jeder Eintrag wird anhand des Ursprungsheaders getestet, der von Browsern während der Preflight-Anforderungen gesendet wird. Wenn ein Eintrag mit dem Ursprung übereinstimmt (oder ein Eintrag '*' lautet), darf der Browser Cross-Origin Resource Sharing-Anforderungen stellen.

Eine gängige Browserkonvention ist das Versenden von null als Ursprung, wenn das Script über file:// gestartet wird. Hierbei wird '*' zur Whitelist hinzugefügt. Dieses Verfahren erlaubt alle Ursprungsadressen und wird nicht empfohlen.