Devise e https: un dubbio

Qui

si dice che per utilizzare https con devise bisogna inserire nel file
production.rb i seguenti parametri:

#in config/environments/production.rb
config.to_prepare { Devise::SessionsController.force_ssl }
config.to_prepare { Devise::RegistrationsController.force_ssl }
config.to_prepare { Devise::PasswordsController.force_ssl }

Oltre a questo si dice che bisogna abilitare l’SSL nel server web.
Mi chiedo: se abilito SSL nel server web che necessita’ ho di inserire
i suddetti parametri nel production.rb?
Non e’ sufficiente abilitare l’SSL nel server web e utilizzare il
protocollo https?

Se la tua applicazione in produzione si “rifiuta” di servire richieste
che non viaggiano su connessione sicura meglio.
La sicurezza una cosa di cui meglio essere sicuri :slight_smile:

Le ultime versioni di Rails hanno questa configurazione di default in
config/environments/production.rb mi pare.

-f

2012/9/18 Mauro [email protected]:

2012/9/18 Fabrizio R. [email protected]:

Se la tua applicazione in produzione si “rifiuta” di servire richieste che non
viaggiano su connessione sicura meglio.
La sicurezza una cosa di cui meglio essere sicuri :slight_smile:

Le ultime versioni di Rails hanno questa configurazione di default in
config/environments/production.rb mi pare.

Significa che, a meno che non cambi volontariamente questa
configurazione di default, va sempre abilitato l’https nel server?

Pero’ torno a ripetere: se abilito l’SSL nel server web non ho
necessita’ di inserire
#in config/environments/production.rb
config.to_prepare { Devise::SessionsController.force_ssl }
config.to_prepare { Devise::RegistrationsController.force_ssl }
config.to_prepare { Devise::PasswordsController.force_ssl }

2012/9/19 Mauro [email protected]:

Pero’ torno a ripetere: se abilito l’SSL nel server web non ho
necessita’ di inserire
#in config/environments/production.rb
config.to_prepare { Devise::SessionsController.force_ssl }
config.to_prepare { Devise::RegistrationsController.force_ssl }
config.to_prepare { Devise::PasswordsController.force_ssl }

dipende, la risposta e’ NO se tutta l’app deve sempre funzionare SOLO
su SSL, e quindi hai configurato il webserver per non rispondere ad
http (oppure per rispondere sempre con un redirect da http ad https).

Se altrimenti l’app ha parti che possono essere utilizzate anche senza
SSL e quindi il server web e’ configurato per servirla anche su http,
allora quelle istruzioni servono per assicurarsi che (almeno) i
controller che s ioccupano di login, registrazioni, etc. siano
accessibili solo su SSL

Il secondo caso e’ (ancora) abbastanza comune :slight_smile:

ciao,
Luca

2012/9/18 Fabrizio R. [email protected]:

Se la tua applicazione in produzione si “rifiuta” di servire richieste che non
viaggiano su connessione sicura meglio.
La sicurezza una cosa di cui meglio essere sicuri :slight_smile:

Le ultime versioni di Rails hanno questa configurazione di default in
config/environments/production.rb mi pare.

Significa che, a meno che non cambi volontariamente questa
configurazione di default, va sempre abilitato l’https nel server?

Bada che se il tuo sito usa SSL per fare il login, allora maglio usarlo
per tutte le chiamate.
In questo modo proteggi i cookie di autenticazione che viaggiano con
tutte le richieste.
Se proteggi l’assegnazione dei cookie di sessione con HTTPS ma non le
trasmissioni successive, questo pu essere intercettato e riutilizzato
per furti d’identit (Session fixation).
E’ una cosa che oggi con le connessioni wifi aperte abbastanza alla
portata di tutti, si dice in giro.

-f

2012/9/19 Fabrizio R. [email protected]:

Bada che se il tuo sito usa SSL per fare il login, allora maglio usarlo per
tutte le chiamate.

Il fatto e’ che devo usare un’applicazione per web conferencing e non
vorrei che l’https rallentasse un po anche se di poco.

2012/9/19 Fabrizio R. [email protected]:

web conferencing? Casomai lo stream audio e video (che dubito passi per Rails)
puoi decidere di non criptarlo.

Ok, grazie per il suggerimento.

Non si pu dire che la velocit sia la stessa con o senza SSL (una cripta
e l’altra no), ma un compromesso che accetterei.
Altrimenti rischi di complicare troppo l’architettura
dell’autenticazione. Siamo nella sfera dell’ottimizzazione qui, cosa di
cui meglio preoccuparsi quando il software soddisfa gi qualche cliente.

web conferencing? Casomai lo stream audio e video (che dubito passi per
Rails) puoi decidere di non criptarlo.

-f