it-swarm.com.de

Ist ein CSRF-Angriff für eine Intranetsite möglich?

Ich habe gerade Alfresco heruntergeladen und probiere ein paar Dinge selbst aus. Nach langem Lesen konnte ich die 8080-URL mithilfe von Apache als Proxyserver für Tomcat vor der Site verbergen.

Heute war ich mit einem Problem konfrontiert: Ich kann die Anmeldeseite sehen, aber ich kann die Anmeldeseite nicht passieren.

Nachdem ich die Protokolldatei gesehen hatte, stellte ich fest, dass der CSRF-Filter das Problem verursacht. Ich habe gerade meine Konfigurationsseite aufgerufen und den CSRF-Filter entfernt, und er funktioniert.

Ist der CSRF-Filter für eine Intranetsite erforderlich?
Kann jemand aus dem Internet einen XSRF-Angriff auf meine Anwendung ausführen?

3
samnaction

Ja. Möglicherweise führt jemand in Ihrem Intranet einen solchen Angriff durch. Auch wenn es nicht so wahrscheinlich ist wie im (wild-wild-wild) Internet.

Andererseits muss in Ihrer Konfiguration etwas nicht stimmen. Der CSRF-Filter von alfresco (oder von alfresco selbst oder auf Tomcat-Containerebene) muss über einige Konfigurationsparameter verfügen, damit der CSRF-Filter hinter einem Proxy funktioniert. Überprüfen Sie die Dokumente noch einmal. Nur eine Vermutung: Vielleicht arbeiten Sie nicht richtig mit X-Forwarded-For-HTTP-Headern?

3
gue

Selbst wenn Sie jeder Person in Ihrem LAN vertrauen und der Server nur über das LAN erreichbar ist, müssen Sie ihn dennoch gegen CSRF sichern.

Betrachten Sie einen Benutzer, der eine böse Website besucht. Diese Website kann jetzt Anforderungen mit der IP-Adresse und den Cookies des Benutzers auslösen und CSRF-Angriffe auf Ihren Webserver ermöglichen, wenn diese Sicherheitslücken aufweisen.

Aber "CSRF-Filter" klingt ein bisschen komisch. Die Standard-CSRF-Prävention besteht darin, bei jeder Anforderung, die Nebenwirkungen verursachen kann, ein Token zu senden (und es auf dem Server zu überprüfen). Es ist wichtig, das Token an einem Ort abzulegen, der vom Browser nicht implizit ausgefüllt wird. POST Daten oder benutzerdefinierte HTTP-Header sind in Ordnung, Cookies und IP nicht.

1
CodesInChaos