Incoerenze rilevate nelle intestazioni HTTP del provider OpenID. Qual è il più sicuro che dovrei imitare nel mio STS e Relying Party?

8

Sto confrontando le intestazioni HTTP dei vari provider (LiveID, Google, Yahoo, ecc.) e notiamo un'ampia incoerenza nell'implementazione nella pagina di accesso, nella pagina di disconnessione e nelle pagine successive.

What headers should I set/ignore, and what is the correct value to use in the following scenarios:

  • SignIn
  • General usage (HTTPS only site, or regular HTTP)
  • SignOut

Ecco un elenco di intestazioni che ho notato e le differenze tra di loro. Sono sicuro che ogni azienda ha persone intelligenti che implementano o omettono determinate intestazioni per una ragione; Non riesco a capire quale fornitore ha la migliore implementazione.

La mia scommessa è che ogni fornitore ha qualcosa da cui gli altri possono imparare.

Scadenza:

  • LiveID imposta l'intestazione Expires esattamente un minuto prima dell'ora corrente
  • Google e MyOpenID hanno l'intestazione Expires uguale all'ora corrente
  • Yahoo scade a Gio, 05 gennaio 1995 22:00:00 GMT
  • Il PIP di Verisign scade a Gio, 01 gen 1970 00:00:00 GMT
  • Scadenza su Facebook Sab, 01 gen 2000 00:00:00 GMT
  • ADFSv2 -1
  • Non presente in Azure ACS

Controllo cache:

  • Yahoo & ACS di Azure: privato
  • Facebook: privato, no-cache, no-store, must-revalidate
  • MyOpenID: max-age = 86400
  • PIP: no-cache, no-store, max-age = 0
  • ADFSv2: no-cache

Pragma

  • Yahoo, LiveID, Facebook: no-cache
  • Google, MyOpenID, il valore ACS di Azure non esiste.

X-Content-Type-Options: Dettagli IE8 , IE9 Dettagli

  • Azure ACS, Google,: nosniff

X-XSS-Protection Dettagli Ulteriori dettagli

  • Facebook, LiveID, ADFSv2: 0
  • Google: 1; mode = block
  • Non presente in Azure ACS e altri provider

X-Frame-Options Altri dettagli

  • Yahoo: X-Frame-Options: DENY
  • Google: SAMEORIGIN

Access-Control-Allow-Origin ( Come utilizzare con più domini )

  • Google (si applicano condizioni)

Strict-Transport-Security Vedi anche come disabilitare per il debug

  • Google (si applicano condizioni)
  • PayPal / Lastpass (500 secondi = bit in 8 minuti)
  • market.android.com (2592000 secondi = 30 giorni)

X-Pad // Una correzione per versioni molto vecchie di Netscape

  • Verisign PIP

Infine, è interessante notare che Facebook ha due intestazioni riguardo la connessione HTTP X-Cnection: close e Connection: Keep-Alive . Non sono sicuro che siano rilevanti ma li includo qui per completezza.

    
posta random65537 29.10.2011 - 09:09
fonte

1 risposta

3

Usa HTTPS, il cachin / expires non avrà importanza. Protezione X-XSS come fa Google. Strict-Transport-Security (e la direttiva del sottodominio) nosniff, incolpare IE. X-Pad ... se qualcuno usa Netscape ... ci sono problemi più grandi.

    
risposta data 29.10.2011 - 12:11
fonte

Leggi altre domande sui tag