È possibile rilevare e registrare richieste CORS e preflight in IIS?

3

Vorrei tenere traccia e capire se le richieste CORS / cross site stanno colpendo il mio sito web e se hanno esito positivo o negativo.

Il mio obiettivo è capire se i clienti stanno seguendo correttamente la nostra documentazione e rilevare i tentativi di hacking del nostro sito da una terza parte.

Non so se ci sia un valore nella segnalazione separata su una richiesta CORS "preflight" rispetto a una richiesta normale, ma sarebbe interessante osservare il risultato.

Detto questo,

  • Che cosa deve essere registrato nei normali registri IIS per rilevare questo CORS e le richieste di verifica preliminare?
  • È necessaria la registrazione specifica dell'applicazione? (logica nell'app Web stessa per integrare i registri IIS)
posta random65537 21.07.2013 - 18:47
fonte

1 risposta

1

Bene, ci sono due tipi di richieste cross-site. Uno sarebbe dalle tue pagine web a un dominio separato e l'altro sarebbe da pagine web di dominio esterne al tuo sito web.

Diciamo che stai servendo una pagina web da IIS con un'immagine o uno script dannoso. Quando l'utente effettua la richiesta per quella pagina, iis può registrare tutte le richieste http (immagini, script, html, ecc.) Sul proprio server ma non sul server malevolo. Quindi non vedrai nessuna richiesta http nei tuoi registri iis. Cattura di richieste http che accadono dalle tue pagine web può essere fatto solo a livello di client. Sfortunatamente, javascript non ha una API per catturare gli eventi delle richieste http ma strumenti come fiddler o firebug può mostrare tutte le richieste http inviate quando viene caricata una pagina web. Per questo scenario potresti riuscire a ottenere i risultati desiderati con scripting a crawl del tuo sito web e elencando tutte le richieste http che sono fatti. Dovresti quindi verificare se il dominio della richiesta è il tuo e quale è il codice di risposta http (successo o fallimento).

L'altro scenario è se i dati dannosi vengono ospitati e pubblicati dal tuo sito web (ad esempio, qualcuno ha caricato un javascript e lo sta chiamando da un altro sito Web). Un modo semplice per scoprirlo è quello di analizzare i tuoi log in cerca di richieste http a tipi di file non html con un referrer diverso dal proprio. Il referrer può essere falsificato se l'attaccante ha abbastanza previsione per farlo. Questo può anche essere prevenuto attivamente tramite un modulo http, una regola di riscrittura dell'URL o tramite il codice del tuo sito web se imposti qualcosa per servire i tuoi file.

    
risposta data 30.07.2013 - 02:12
fonte

Leggi altre domande sui tag