Die Instanz lerntools.org nutzt nicht alle üblichen Methoden um Sicherheit und Privatsphäre der Benutzer zu schützen. So fehlen aktuell eine "Content Security Policy" sowie eine restriktive "Referrer Policy". Details siehe Screenshot von webkoll.
Vorschlag: Übernahme der entsprechenden Einträge in der Server Konfugration, bei Apache wären dies z.B. in einer htaccess in etwa (OHNE GEWÄHR)
Die Instanz lerntools.org nutzt nicht alle üblichen Methoden um Sicherheit und Privatsphäre der Benutzer zu schützen. So fehlen aktuell eine "Content Security Policy" sowie eine restriktive "Referrer Policy". Details siehe Screenshot von webkoll.
Vorschlag: Übernahme der entsprechenden Einträge in der Server Konfugration, bei Apache wären dies z.B. in einer htaccess in etwa (**OHNE GEWÄHR**)
~~~
Header add Content-Security-Policy "default-src 'self'; script-src 'self' https://lerntools.org; img-src data: https://lerntools.org; style-src 'unsafe-inline' https://lerntools.org;"
Header add Referrer-Policy "no-referrer"
~~~
So ganz passt die Content-Security-Policy anscheinend noch nicht. Beim Versuch eine Ideensammlung auf der Instanz lerntools.org zu öffnen (z.B. https://lerntools.org/app/#/ideas/team2021) gibt es auf iOS und im Safari auf macOS ein Problem damit. Firefox und Brave auf macOS scheinen sich nicht daran zu stören.
Im Safari sowohl auf iOS als auch auf macOS wird folgender Fehler in der Konsole ausgegeben.
[Error] Refused to connect to wss://lerntools.org/ideas/ws/team2021 because it appears in neither the connect-src directive nor the default-src directive of the Content Security Policy.
[Error] TypeError: undefined is not an object (evaluating 'e.src.replace') — 0.index.js:1:51778
Xt (index.js:7:11638)
qt (index.js:7:11551)
Ht (index.js:7:11201)
(anonyme Funktion) (index.js:7:35419)
r (index.js:7:64844)
(anonyme Funktion) (index.js:7:26714)
(anonyme Funktion) (index.js:7:27597)
fn (index.js:7:25705)
(anonyme Funktion) (index.js:7:12308)
Kt (index.js:7:11748)
promiseReactionJob
[Error] Unhandled Promise Rejection: SecurityError: The operation is insecure.
(anonyme Funktion) (7.index.js:15:36430)
startWS (7.index.js:15:36430)
startWS
(anonyme Funktion) (7.index.js:15:36156)
promiseReactionJob
Ich kenne mich in Sachen CSP nur sehr begrenzt aus. Anhand der Fehlermeldung würde ich mal behaupten, dass der Eintrag wss://lerntools.org für connect-src fehlt. Zumindest im Vorschlag von tk100 ist dieser nicht vorhanden.
So ganz passt die Content-Security-Policy anscheinend noch nicht. Beim Versuch eine Ideensammlung auf der Instanz lerntools.org zu öffnen (z.B. https://lerntools.org/app/#/ideas/team2021) gibt es auf iOS und im Safari auf macOS ein Problem damit. Firefox und Brave auf macOS scheinen sich nicht daran zu stören.
Im Safari sowohl auf iOS als auch auf macOS wird folgender Fehler in der Konsole ausgegeben.
```
[Error] Refused to connect to wss://lerntools.org/ideas/ws/team2021 because it appears in neither the connect-src directive nor the default-src directive of the Content Security Policy.
[Error] TypeError: undefined is not an object (evaluating 'e.src.replace') — 0.index.js:1:51778
Xt (index.js:7:11638)
qt (index.js:7:11551)
Ht (index.js:7:11201)
(anonyme Funktion) (index.js:7:35419)
r (index.js:7:64844)
(anonyme Funktion) (index.js:7:26714)
(anonyme Funktion) (index.js:7:27597)
fn (index.js:7:25705)
(anonyme Funktion) (index.js:7:12308)
Kt (index.js:7:11748)
promiseReactionJob
[Error] Unhandled Promise Rejection: SecurityError: The operation is insecure.
(anonyme Funktion) (7.index.js:15:36430)
startWS (7.index.js:15:36430)
startWS
(anonyme Funktion) (7.index.js:15:36156)
promiseReactionJob
```
Ich kenne mich in Sachen CSP nur sehr begrenzt aus. Anhand der Fehlermeldung würde ich mal behaupten, dass der Eintrag `wss://lerntools.org` für `connect-src` fehlt. Zumindest im Vorschlag von tk100 ist dieser nicht vorhanden.
Ich kann bestätigen, dass der Zugriff auf dem iPad auf eine Ideensammlung aktuell nicht möglich ist (weder als Ersteller noch per Ticket).
Bin nämlich selber im Unterricht gerade daran gescheitert... Das ist kritisch, da die Ideensammlung so auf iOS Geräten nicht nutzbar ist.
Ich kann bestätigen, dass der Zugriff auf dem iPad auf eine Ideensammlung aktuell nicht möglich ist (weder als Ersteller noch per Ticket).
Bin nämlich selber im Unterricht gerade daran gescheitert... Das ist kritisch, da die Ideensammlung so auf iOS Geräten nicht nutzbar ist.
Nachdem ich mir das Projekt eh anschauen wollte, habe ich mir eine lokale Testumgebung erstellt. Dort konnte ich die gleiche Problematik nachstellen. Durch Hinzufügen von connect-src 'self' wss://lerntools.org; in den CSP-Header meckert Safari nicht und die Ideensammlung funktioniert damit bei mir auf macOS und iOS.
Wie schon geschrieben, kenne ich mich mit CSPs nur wenig aus und kann nicht für die Richtigkeit garantieren, aber vielleicht hilft es trotzdem. Die von mir getestete CSP sieht mit ersetzter Domain so aus:
Nachdem ich mir das Projekt eh anschauen wollte, habe ich mir eine lokale Testumgebung erstellt. Dort konnte ich die gleiche Problematik nachstellen. Durch Hinzufügen von `connect-src 'self' wss://lerntools.org;` in den CSP-Header meckert Safari nicht und die Ideensammlung funktioniert damit bei mir auf macOS und iOS.
Wie schon geschrieben, kenne ich mich mit CSPs nur wenig aus und kann **nicht für die Richtigkeit garantieren**, aber vielleicht hilft es trotzdem. Die von mir getestete CSP sieht mit ersetzter Domain so aus:
```
default-src 'self'; script-src 'self' 'unsafe-eval'; img-src data: https://lerntools.org; style-src 'unsafe-inline' https://lerntools.org; connect-src 'self' wss://lerntools.org;
```
Nachdem ich mir das Projekt eh anschauen wollte, habe ich mir eine lokale Testumgebung erstellt. Dort konnte ich die gleiche Problematik nachstellen. Durch Hinzufügen von connect-src 'self' wss://lerntools.org; in den CSP-Header meckert Safari nicht und die Ideensammlung funktioniert damit bei mir auf macOS und iOS.
Wie schon geschrieben, kenne ich mich mit CSPs nur wenig aus und kann nicht für die Richtigkeit garantieren, aber vielleicht hilft es trotzdem. Die von mir getestete CSP sieht mit ersetzter Domain so aus:
@nix
>Nachdem ich mir das Projekt eh anschauen wollte, habe ich mir eine lokale Testumgebung erstellt. Dort konnte ich die gleiche Problematik nachstellen. Durch Hinzufügen von `connect-src 'self' wss://lerntools.org;` in den CSP-Header meckert Safari nicht und die Ideensammlung funktioniert damit bei mir auf macOS und iOS.
>
>Wie schon geschrieben, kenne ich mich mit CSPs nur wenig aus und kann **nicht für die Richtigkeit garantieren**, aber vielleicht hilft es trotzdem. Die von mir getestete CSP sieht mit ersetzter Domain so aus:
>```
>default-src 'self'; script-src 'self' 'unsafe-eval'; img-src data: https://lerntools.org; style-src 'unsafe-inline' https://lerntools.org; connect-src 'self' wss://lerntools.org;
>```
@nix danke, wurde inzwischen eingebaut
gerhardbeck
removed this from the Release 1.0 milestone 6 days ago
Die Instanz lerntools.org nutzt nicht alle üblichen Methoden um Sicherheit und Privatsphäre der Benutzer zu schützen. So fehlen aktuell eine "Content Security Policy" sowie eine restriktive "Referrer Policy". Details siehe Screenshot von webkoll.
Vorschlag: Übernahme der entsprechenden Einträge in der Server Konfugration, bei Apache wären dies z.B. in einer htaccess in etwa (OHNE GEWÄHR)
wird mit dem Umzug der Instanz demnächst umgesetzt
nginx CSP gesetzt
Webkoll nun glücklich, danke an alle. Wird geschlossen.
So ganz passt die Content-Security-Policy anscheinend noch nicht. Beim Versuch eine Ideensammlung auf der Instanz lerntools.org zu öffnen (z.B. https://lerntools.org/app/#/ideas/team2021) gibt es auf iOS und im Safari auf macOS ein Problem damit. Firefox und Brave auf macOS scheinen sich nicht daran zu stören.
Im Safari sowohl auf iOS als auch auf macOS wird folgender Fehler in der Konsole ausgegeben.
Ich kenne mich in Sachen CSP nur sehr begrenzt aus. Anhand der Fehlermeldung würde ich mal behaupten, dass der Eintrag
wss://lerntools.org
fürconnect-src
fehlt. Zumindest im Vorschlag von tk100 ist dieser nicht vorhanden.Ich kann bestätigen, dass der Zugriff auf dem iPad auf eine Ideensammlung aktuell nicht möglich ist (weder als Ersteller noch per Ticket).
Bin nämlich selber im Unterricht gerade daran gescheitert... Das ist kritisch, da die Ideensammlung so auf iOS Geräten nicht nutzbar ist.
Habe sie vorübergehend deaktiviert, bitte noch mal prüfen.
Danke - es funktioniert nun auf dem iPad wieder.
Nachdem ich mir das Projekt eh anschauen wollte, habe ich mir eine lokale Testumgebung erstellt. Dort konnte ich die gleiche Problematik nachstellen. Durch Hinzufügen von
connect-src 'self' wss://lerntools.org;
in den CSP-Header meckert Safari nicht und die Ideensammlung funktioniert damit bei mir auf macOS und iOS.Wie schon geschrieben, kenne ich mich mit CSPs nur wenig aus und kann nicht für die Richtigkeit garantieren, aber vielleicht hilft es trotzdem. Die von mir getestete CSP sieht mit ersetzter Domain so aus:
Herzlichen Dank für den vielversprechenden Vorschlag.Wir werden versuchen es schnell umzusetzen
@nix
@nix danke, wurde inzwischen eingebaut