Pagina 1 di 3

Login con HTTPS (certificato auto-firmato)

Inviato: mer nov 27, 2013 6:45 pm
da hashcat
Volevo proporre di consentire l'accesso al server via SSL/TLS creando un certificato auto-firmato per il sito.
Lo ritengo particolarmente utile in quanto permetterebbe di collegarsi al forum (via browser) anche utilizzando connessioni insicure (Wi-Fi) evitando di trasmettere le credenziali in chiaro.
La funzionalità non sarebbe esplicita ma sfruttabile a discrezione dell'utente (quest'ultimo visitando l'url di login via HTTPS stabilirebbe una connessione sicura con il server).

:)

Re: Login con HTTPS (certificato auto-firmato)

Inviato: gio nov 28, 2013 7:15 am
da Al3x
non sarebbe male, la rete qui al lavoro è sotto monitoraggio e so per certo che si divertono a sniffare il traffico. Ovviamente hanno la mia password di accesso al forum e se fosse presente l'autenticazione criptata mi sentirei più tranquillo.

Re: Login con HTTPS (certificato auto-firmato)

Inviato: gio nov 28, 2013 7:44 am
da Andy94
L'unico problema del certificato autofirmato è che, non essendo noi una Certification Authority, apparirebbe la notifica del browser "il sito comporta dei rischi, certificato autofirmato eccecc".

Re: Login con HTTPS (certificato auto-firmato)

Inviato: gio nov 28, 2013 7:47 am
da Al3x
Andy94 ha scritto:L'unico problema del certificato autofirmato è che, non essendo noi una Certification Authority, apparirebbe la notifica del browser "il sito comporta dei rischi, certificato autofirmato eccecc".
vero, ma chi desidera usare https (utente più scafato) saprà gestire la cosa senza problemi
e poi basta spiegarlo, chi vuole lo usa altrimenti rimane su autenticazione in chiaro :)

Re: R: Login con HTTPS (certificato auto-firmato)

Inviato: gio nov 28, 2013 8:49 am
da hashcat
Al3x ha scritto:vero, ma chi desidera usare https (utente più scafato) saprà gestire la cosa senza problemi
e poi basta spiegarlo, chi vuole lo usa altrimenti rimane su autenticazione in chiaro :)
Intendevo proprio questo; anche perchè, se la navigazione "sicura" fosse abilitata in maniera predefinita per tutto il traffico del sito, oltre al problema della non corretta validazione del certificato (perchè auto-firmato), si provocherebbe un degradamento delle prestazioni generali del sito.

EDIT: Ora che ci penso, Zane può richiedere gratuitamente un certificato valido e gratuito (emesso da StartSSL), QUI.

Re: Login con HTTPS (certificato auto-firmato)

Inviato: gio nov 28, 2013 2:27 pm
da Zane
È una buona proposta: non è nulla di difficile e sicuramente si può fare, ma va gestito con attenzione.

Bisogna abilitare HTTPS su tutto il sito, altrimenti basta sniffare il cookie che gestisce l'autenticazione automatica per ottenere lo stesso risultato di sniffare la password.

Ciò detto, serve un certificato rilasciato da un CA riconosciuta, altrimenti sui client spuntano mille avvisi e menate varie.

Se implementato, va gestito automaticamente che se il client chiede qualcosa in HTTP, bisogna ridirigere a HTTPS, altrimenti la usano giusto quattro gatti e tutto lo sbattimento non ha senso.

C'è poi il discorso prestazionale: SSL richiede un po' di potenza in più sul server, che in questo momento non abbiamo disponibile.

È una cosa da tener presente per il futuro... (però non vedo il bug con il link a questo topic :grazie).

Re: Login con HTTPS (certificato auto-firmato)

Inviato: gio nov 28, 2013 3:54 pm
da hashcat
Zane ha scritto:Bisogna abilitare HTTPS su tutto il sito, altrimenti basta sniffare il cookie che gestisce l'autenticazione automatica per ottenere lo stesso risultato di sniffare la password.
Il risultato non è uguale: se un utente invia le proprie credenziali in chiaro è possibile ottenere la sua password in chiaro (legge il contenuto della richiesta di post). Se i dati di autenticazione sono inviati tramite HTTPS, il malintenzionato può accedere al posto dell'utente, finché quest'ultimo non termina la sessione, utilizzando i dati inclusi nei cookie* (turbocookie_2013_u** e turbocookie_2013_sid) che sono trasmessi in chiaro dopo aver effettuato l'accesso sicuro ma non è in possesso della password, nè può cambiarla senza conoscerla (la richiesta di post avviene tramite HTTPS, la password dell'utente non attraversa MAI la rete in chiaro).
Zane ha scritto:Ciò detto, serve un certificato rilasciato da un CA riconosciuta, altrimenti sui client spuntano mille avvisi e menate varie.
L'implementazione per il solo login non lo richiede, altrimenti, come avevo menzionato nel mio precedente messaggio, è possibile ottenerne uno firmato da StartSSL gratuitamente.
Zane ha scritto:C'è poi il discorso prestazionale: SSL richiede un po' di potenza in più sul server, che in questo momento non abbiamo disponibile.
Avevo considerato questo problema e perció avevo suggerito, in via temporanea, l'utilizzo dell'accesso via SSL a discrezione dell'utente.
Zane ha scritto:È una cosa da tener presente per il futuro... (però non vedo il bug con il link a questo topic :grazie).
Non l'avevo aperto perchè volevo vedere se la cosa era fattibile e di interesse per qualcuno, procedo alla creazione.

* Non è proprio così semplice, il malintenzionato deve "emulare" alcuni parametri che variano a seconda delle impostazioni di phpBB del sito, fra cui IP, user agent del browser l'header http X-Forwarded-For.
** Questo cookie, a seconda della situazione, può essere "dedotto" anche senza sniffing.

;)

EDIT 1: Link al bug.
EDIT 2: Volendo si potrebbe implementare, come prova, l'accesso via HTTPS al sottodominio bug.turbolab.it (con certificato auto-firmato).

Re: Login con HTTPS (certificato auto-firmato)

Inviato: gio nov 28, 2013 7:45 pm
da Al3x
Personalmente caldeggio la soluzione proposta da hash, è un problema che ho sempre sentito e avevo sollevato anche in un altro forum in cui collaboravo. Purtroppo lavorare dietro proxy con colleghi del tecnologico che hanno accesso diretto al flusso dei dati non è gradevole

Re: Login con HTTPS (certificato auto-firmato)

Inviato: sab gen 11, 2014 4:06 pm
da Zane

Re: Login con HTTPS (certificato auto-firmato)

Inviato: sab gen 11, 2014 6:04 pm
da hashcat
Segnalo che TurboLab.it via HTTPS (ho provato solo il forum) sembra funzionare correttamente ma alcune risorse vengono richiamate in chiaro (quindi la connessione viene considerata "parzialmente cifrata").
Non ho verificato se i cookie sono trasmessi via HTTPS.

P.S.: Per questioni di performance ritengo superfluo utilizzare un certificato con una dimensione della chiave pari a 4096 bit. E' più che sufficiente generarne uno da 2048 bit.

;)

Re: Login con HTTPS (certificato auto-firmato)

Inviato: sab gen 11, 2014 8:04 pm
da hashcat
Ho individuato un piccolo malfunzionamento: se si visita il sottodominio bug di TurboLab.it si riceve questo messaggio d'errore:
Non dovresti essere qui :-D - pagina di default per apache

;)

P.S.: Adesso la connessione al sito appare interamente cifrata.

Re: Login con HTTPS (certificato auto-firmato)

Inviato: sab gen 11, 2014 9:07 pm
da Al3x
ottimo :approvo

Re: Login con HTTPS (certificato auto-firmato)

Inviato: dom gen 12, 2014 1:26 am
da Zane
Ok, ho preso un certificato SSL gratuito da Comodo (valido per 90 giorni), setuppato openSSL, mod_apache e compagnia bella. Comodo è una CA riconosciuta, quindi i browser non danno errori e mostrano il lucchetto. Di conseguenza, in questo momento, richiedendo esplicitamente TurboLab.it via HTTPS, funziona tutto "quasi" perfettamente.

Lato-sito sto ancora facendo verifiche per togliere i riferimenti ad HTTP, ma sono a buon punto (se notate qualche avviso relativo al "contenuto misto", avvisatemi!). Il sito, a meno di mie sviste, funziona perfettamente sia in HTTP, sia in HTTPS.

Lato-forum, invece, è un pochino più delicata. In questo momento, se si usa HTTPS, nome utente e password viaggiano entrambi crittografati (come tutto il resto della pagina).... ma i cookie ancora no. Purtroppo, c'è un parametro in phpBB chiamato "Secure Cookie" che, se disattivato (come è ora) fa funzionare bene il forum in HTTP ma poi spara i cookie in chiaro anche in HTTPS. Se lo attivo, funziona bene in HTTPS (e anche i cookie vengono crittografati) ma non funziona più nulla in HTTP. La soluzione, ovviamente, è fare il salto e passare tutto in HTTPS, compreso attivare una regola per cui tutto il traffico HTTP viene automaticamente rediretto ad HTTPS. Spero di farlo già domani.
hashcat ha scritto:Per questioni di performance ritengo superfluo utilizzare un certificato con una dimensione della chiave pari a 4096 bit. E' più che sufficiente generarne uno da 2048 bit. ;)
Hai ragione:
It is therefore estimated, that standard desktop computing power would take 4,294,967,296 x 1.5 million years to break a DigiCert 2048-bit SSL certificate. Or, in other words, a little over 6.4 quadrillion years.
hashcat ha scritto:se si visita il sottodominio bug di TurboLab.it si riceve questo messaggio d'errore:
Non dovresti essere qui :-D - pagina di default per apache
Ok, ho abilitato HTTPS anche per bug.turbolab.it... però il certificato da un errore: il certificato è valido per turbolab.it, non per bug.turbolab.it. perché il servizio che ho usato non permette di generare certificati per *.turbolab.it gratuitamente, come dovrebbe essere per gestire questa nostra circostanza. L'alternativa sarebbe usare due certificati distinti, ma sono già abbastanza in difficoltà con uno solo e preferisco tenermi l'errore nel sottodominio!

Re: Login con HTTPS (certificato auto-firmato)

Inviato: dom gen 12, 2014 8:53 am
da Al3x
Domanda: Tapatalk funzia in https?

Re: Login con HTTPS (certificato auto-firmato)

Inviato: dom gen 12, 2014 9:01 am
da Andy94
Non ho riscontrato problemi con Tapatalk Pro su SGS3

Re: Login con HTTPS (certificato auto-firmato)

Inviato: dom gen 12, 2014 9:42 am
da developerwinme
Al3x ha scritto:Domanda: Tapatalk funzia in https?
Nessun problema neanche con Tapatalk per Windows Phone 8 (ultima versione) e Internet Explorer 10 Mobile (ultima versione), a parte il "problema" del certificato non valido su bug.turbolab.it

Re: Login con HTTPS (certificato auto-firmato)

Inviato: dom gen 12, 2014 9:54 am
da Al3x
Anche io non riscontro problemi ora, me lo chiedevo per quando tutto sarà totalmente in https ma presumo di si. Zane come farai alla scadenza del certificato, puoi averne subito uno nuovo?

Re: Login con HTTPS (certificato auto-firmato)

Inviato: dom gen 12, 2014 12:08 pm
da Zane
Grazie a tutti sia per le verifiche (mi raccomando, nuovamente, di segnalarmi prontamente errori di "contenuto misto bloccato"!) sia per avermi ricordato Tapatalk. In questo momento, Tapatalk funziona bene semplicemente perché sta funzionando via HTTP in chiaro. Ho chiesto lumi direttamente a loro, vediamo cosa ci dicono.
Al3x ha scritto:Zane come farai alla scadenza del certificato, puoi averne subito uno nuovo?
Questa, caro Al3x, è la domanda da un milione di dollari e la motivazione che mi sta frenando!!!

StartSSL avrebbe rilasciato un certificato gratuito valido per un anno, ovvero un tempo sufficiente a capire come muoversi. Purtroppo, però, mi hanno risposto che non mi rilasciano il certificato perché Safe Browsing rileva un exploit, cosa per loro bloccante per il rilascio gratuito. Ho provato a spiegare che, in realtà, l'exploit non è sul nostro server ma su di uno che fa parte della nostra stessa rete presso il provider ma, comprensibilmente, senza pagare non possono fare le opportune verifiche e non mi danno un bel niente. Ho scritto allora a Google, ma già mi aspetto che non mi considerino.

Sono comunque tutte soluzioni temporanee. Le uniche due veramente durature che vedo sono 1) Facciamo una colletta e raccogliamo i 325 € che servono per acquistare un certificato valido per 5 anni 2) Teniamo il sito di default in HTTP, con opzione di andare in HTTPS esplicitamente (accettando tutti gli errori che genera un certificato autofirmato ). La prima è una soluzione valida, la seconda decisamente meno, perché inizierebbero fisiologicamente ad apparire qua e là link alle nostre pagine in HTTPS che, se seguiti dal grande pubblico, potrebbero all'errore di protezione.

Altri suggerimenti sono caldamente benvenuti.

Re: R: Login con HTTPS (certificato auto-firmato)

Inviato: dom gen 12, 2014 1:36 pm
da hashcat
L'ideale sarebbe riuscire ad usufruire dello StartSSL free (disabilitando l'accesso via HTTPS al sottodominio bug). Questo certificato rimane gratuito anche dopo l'anno ma, a cadenza annuale, deve essere rinnovato due settimane prima della sua scadenza.
In caso contrario, sempre da StartSSL, se ne può acquistare uno verificato (classe 2) per 59$ valido per due anni. Se paragoniamo questo prezzo a quello di Comodo per la durata dei cinque anni (non so se il rinnovo ogni due anni costa ancora meno per i clienti già abbonati) siamo a 325€ (Comodo) contro ~108€ (StartSSL equivalente 5 anni).
In particolare, se si procedesse ad un colletta, bisognerebbe dividere ~43€ per il primo biennio.

Re: Login con HTTPS (certificato auto-firmato)

Inviato: dom gen 12, 2014 6:02 pm
da Zane
Acch, non avevo capito che anche il rinnovo fosse gratuito! Questo rende StartSSL l'ideale per noi... provo di nuovo a sollecitare Google Safe Browsing tramite un altro canale, ma continuo a nutrire poche speranze. Parallelamente, provo a sentire da StartSSL se, pagando, ci fanno manualmente la validazione per un classe 1. In caso neanche così funzioni, sicuramente il loro classe 2 è più conveniente di quello di Comodo e possiamo prenderlo lì!

Re: Login con HTTPS (certificato auto-firmato)

Inviato: dom gen 12, 2014 7:13 pm
da hashcat
Problemi minori:
Persiste uno stato di "contenuto misto" nelle discussioni in cui vengono incorporate immagini esterne (richiamate via http). Soluzioni: forzare il richiamo via https: magari attraverso le RegEx (spunto) (è possibile con imageshack, imgur e dropbox ma non con posteimage ed imagebanana).
Alcuni link interni al portale non sono riscritti come HTTPS ricadendo nella problematica precedente. Discussione d'esempio QUI.

Segnalazione di maggiore rilevanza: le direttive SSLCipherSuite di Apache non sono configurate in maniera ottimale (ci sono alcuni problemi gravi). Maggiori informazioni QUI.
Spunti per una configurazione ottimale sono reperibili QUI e QUI (quest'ultimo fornisce indicazioni generali).

;)

P.S.: Considerato che non sembrano esserci problematiche degne di nota, non ritieni che la navigazione via HTTPS possa essere abilitata di default (abilitando anche l'opzione per i cookie sicuri)? In caso affermativo sarebbe un'ottima idea adottare la funzionalità HTTP Strict Transport Security (HSTS). Maggiori informazioni QUI e QUI (quest'ultime generali).

Re: Login con HTTPS (certificato auto-firmato)

Inviato: dom gen 12, 2014 7:34 pm
da [Claudio]
Adottato SSL :) :approvo

Re: Login con HTTPS (certificato auto-firmato)

Inviato: ven gen 17, 2014 6:05 pm
da hashcat
Segnalo che i link ai risultati forniti dalla funzione di ricerca del portale (non del forum) non adottano https come prefisso.

Re: Login con HTTPS (certificato auto-firmato)

Inviato: lun gen 27, 2014 12:59 pm
da Zane
Grazie Hash,
continua a fornirmi spunti di miglioramento perché mi stai aiutando tantissimo con questa lavorazione!
hashcat ha scritto:Problemi minori:
Persiste uno stato di "contenuto misto" nelle discussioni in cui vengono incorporate immagini esterne (richiamate via http). Soluzioni: forzare il richiamo via https: magari attraverso le RegEx (spunto) (è possibile con imageshack, imgur e dropbox ma non con posteimage ed imagebanana).
Lato-server non è gestibile perché bisognerebbe moddare phpBB, cosa che rimane uno dei miei paletti fissi da evitare.

Cerco di capire se, in qualche modo, è gestibile via Javascript (come facciamo per la gestione dei link esterni). Rimane il problema che non lo possiamo fare indiscriminatamente perché non tutti i siti di img hosting supportano HTTPS, quindi lo implementeremo per quei 4-5 servizi più popolari. Aperto bug.
Alcuni link interni al portale non sono riscritti come HTTPS ricadendo nella problematica precedente. Discussione d'esempio QUI.
Nello specifico: siccome queste discussioni per i commenti sono generate dal nostro sistema, qui possiamo certamente intervenire anche lato-server. Aperto bug.

Per gli altri link interni a TurboLab.it: possiamo gestirlo facilmente via Javascript come per l'indicatore link interno/link esterno. Aperto bug.
Segnalazione di maggiore rilevanza: le direttive SSLCipherSuite di Apache non sono configurate in maniera ottimale (ci sono alcuni problemi gravi). Maggiori informazioni QUI.
Spunti per una configurazione ottimale sono reperibili QUI e QUI (quest'ultimo fornisce indicazioni generali).
Figo quel servizio! Ho smanettato un po' in rapidità e siamo passati da C ad A- :)

Vado a studiarmi anche gli altri due riferimenti che mi hai indicato per vedere se è rimasto qualcosina di ulteriormente migliorabile.
P.S.: Considerato che non sembrano esserci problematiche degne di nota, non ritieni che la navigazione via HTTPS possa essere abilitata di default (abilitando anche l'opzione per i cookie sicuri)? In caso affermativo sarebbe un'ottima idea adottare la funzionalità HTTP Strict Transport Security (HSTS). Maggiori informazioni QUI e QUI (quest'ultime generali).
Per HSTS: fortuitamente, ho già predisposto tutto per farlo con lo stesso redirect raccomandato da owasp, quindi appena andiamo "live" siamo a posto.

Per quanto riguarda l'attivazione di HTTPS di default: l'aspetto che mi sta frenando di più in questo momento è che, in questo momento, per collegarsi in HTTPS a TurboLab.it è indispensabile che il browser supporti Server Name Indication, e, da quanto leggo, su Windows XP funziona solamente con Firefox (no Internet Explorer, no Chrome). Prima di procedere, devo capire se e come gestire questo aspetto perché non posso tagliar fuori del tutto gli utenti di WinXP. Inoltre, sono ancora titubante perché ho paura che le performance peggiorino ulteriormente.
hashcat ha scritto:Segnalo che i link ai risultati forniti dalla funzione di ricerca del portale (non del forum) non adottano https come prefisso.
Aperto bug.

Re: Login con HTTPS (certificato auto-firmato)

Inviato: lun gen 27, 2014 2:23 pm
da hashcat
Zane ha scritto:Per quanto riguarda l'attivazione di HTTPS di default: l'aspetto che mi sta frenando di più in questo momento è che, in questo momento, per collegarsi in HTTPS a TurboLab.it è indispensabile che il browser supporti Server Name Indication, e, da quanto leggo, su Windows XP funziona solamente con Firefox (no Internet Explorer, no Chrome). Prima di procedere, devo capire se e come gestire questo aspetto perché non posso tagliar fuori del tutto gli utenti di WinXP. Inoltre, sono ancora titubante perché ho paura che le performance peggiorino ulteriormente.
Che io sappia, gli unici problemi sostanziali sono l'assenza di supporto dell'estensione SNI da parte di Internet Explorer (solo su XP) e del browser di Android 2.x. Per il resto, sia Chrome che Opera supportano questa estensione del protocollo TLS anche su XP.

;)