Sto lavorando a un progetto che richiede di avere una funzionalità di registrazione / accesso esposta ai partner che gestiscono il proprio sito web. Per alcuni di questi siti Web riutilizzano il nostro back-end e cambiano semplicemente lo stile css, ma altri sono completamente autonomi: per questo motivo si è pensato di preparare un modulo di accesso statico che sarebbe stato fornito ai partner, il che avrebbe innescato un POST richiesta ai nostri server.
(a seconda degli argomenti nel modulo, terremo traccia di quale partner ci ha portato quali utenti, che a quanto pare coprono le esigenze aziendali di analisi)
Al momento manca la protezione CSRF su alcuni endpoint, come quella di accesso. Quando ho chiesto di esaminarlo, mi sono reso conto che con un modulo statico non saremmo in grado di aggiungere i token CSRF.
Sembra essere un problema minore, ma sarebbe bello proteggere i nostri utenti dal login CSRF. Per questo motivo ho pensato a 2 alternative:
- aggiungi un passaggio di conferma prima di accedere all'utente quando viene rilevato un conflitto nel cookie di sessione (escluso a causa delle modifiche nel flusso logico perché la gestione della sessione sia troppo invasiva)
- invece di un modulo statico, lascia che i nostri partner utilizzino un iframe che conterrà il nostro modulo di accesso, con protezione CSRF e tutto. Ciò richiederebbe di rilassare il
X-FRAME-OPTIONS
specificamente per la pagina che visualizzerà questo modulo di accesso
C'è una soluzione migliore? Non penso che il clickjacking sul nostro modulo di login debba essere davvero un problema (e il clickjacking è normalmente usato per fare quello che altrimenti sarebbe banalmente ottenuto con un CSRF, penso ... quindi aggiustare quest'ultimo sembra avere una priorità più alta)