Esistono altre opzioni oltre a HTTPS per proteggere un sito Web per evitare avvisi di immissione di testo in Chrome?


16

Una settimana fa Google mi ha inviato un'email per accedere a HTTPS. Se non trasferirò HTTP su HTTPS, questo mostrerà la mia connessione non protetta a tutti i visitatori del mio sito che proveranno a inserire del testo nel mio sito.

Senza usare SSL, c'è un altro modo per rendere sicura la mia connessione? Poiché è correlato al costoso processo di utilizzo di SSL nell'URL Web, sto cercando qualsiasi altra opzione.


27
Hai esaminato letsencrypt.org ? Rilascia certificati HTTPS gratuiti. Configurare da zero è un po 'complicato, ma molte società di hosting lo hanno implementato per te.
Stephen Ostermiller

6
Puoi anche usare cloudflare che ti darà un certificato SSL gratuitamente.
Ave,

2
La domanda non è "come usare HTTPS", ma più ampia di così: se http://non va bene, cos'altro c'è oltre https://? C'è un abc://, lgbtqiapk+://o dps://?
Konerak,

4
"Processo costoso"? Let's encrypt è gratuito. Inoltre: doesmysiteneedhttps.com
Andrea Lazzarotto,

Risposte:


41

c'è un altro modo per rendere sicura la mia connessione?

Google non si sta solo lamentando della "sicurezza" (che potrebbe includere una serie di argomenti diversi), si rivolge specificamente alla crittografia / HTTPS. Con HTTP semplice la connessione tra client e server non è crittografata, consentendo a chiunque di vedere e intercettare potenzialmente tutto ciò che viene inviato. Normalmente richiederebbe solo questo se si consente agli utenti di accedere (ad es. Invio di nome utente / password) o l'invio di informazioni di pagamento tramite una connessione non crittografata. L'invio di moduli "di testo" generali non sarebbe necessariamente un problema. Tuttavia, come sottolineato da @Kevin nei commenti, Google / Chrome prevedono di estenderlo in futuro :

Alla fine, abbiamo in programma di etichettare tutte le pagine HTTP come non sicure e cambiare l'indicatore di sicurezza HTTP con il triangolo rosso che usiamo per HTTPS non funzionante.

L'installazione di un certificato SSL sul tuo sito (o l'utilizzo di un proxy front-end come Cloudflare per gestire l'SLL) è l' unico modo per crittografare il traffico sul tuo sito.

Tuttavia, al giorno d'oggi questo non è necessariamente un "processo costoso". Cloudflare ha un'opzione "gratuita" e Let's Encrypt è un'autorità di certificazione gratuita che molti host supportano per impostazione predefinita.


3
"Normalmente richiederebbe solo questo se si consente agli utenti di accedere (invio di nome utente / password) o l'invio di informazioni personali tramite una connessione non crittografata. Il" testo "generale non sarebbe necessariamente un problema." Questo presto non sarà più vero; Chrome mostrerà l'avvertimento per QUALSIASI campo di immissione testo. Dopotutto, non può distinguere tra informazioni potenzialmente sensibili e cose benigne come le ricerche, quindi è stata presa la decisione di mettere in guardia tutto.
Muzer,

2
@Muzer Inoltre, in genere non è determinabile se l'inserimento del testo è sensibile: se digito il mio indirizzo di casa o faccio una ricerca del mio imbarazzante problema medico, questi potrebbero essere molto interessanti per un intercettatore.
apsillers

6
Alla fine, Chrome mostrerà questo avviso per tutti i siti HTTP , quindi non esiste alternativa a lungo termine a HTTPS.
Kevin,

3
A questa risposta manca il più grande vantaggio di HTTPS rispetto alla semplice crittografia end-to-end, che è l'identità. HTTPS consente al server di dimostrare ai propri clienti che in realtà è il server che afferma di essere senza dover predisporre in anticipo un metodo di autenticazione specifico. La crittografia end-to-end da sola non aiuta se il client si è connesso a un server di proprietà di un attore malintenzionato.
IllusiveBrian il

4
@IllusiveBrian Sebbene questa domanda non riguardi realmente i "vantaggi di HTTPS" (esistono già domande che già lo riguardano), questa domanda riguarda il tentativo di evitare l '"avviso" di sicurezza del browser in Google / Chrome. Ma HTTPS non necessariamente "prova l'identità" - per fare ciò è necessario pagare più soldi per un certificato OV o EV. Nel contesto di questa domanda è tutto sulla crittografia.
DocRoot,

4

Non lo consiglio, ma puoi ignorare questo messaggio, non usando i campi di testo di input originali. È possibile creare i propri campi di input, utilizzando regolari divche hanno onkeypressevento. Oppure puoi creare un divelemento con l' contenteditableattributo impostato su true.

In questo modo, gli utenti saranno in grado di inserire informazioni sul tuo sito, senza utilizzare inputelementi tag.


41
Questa è una pessima idea. Non risolve il problema di sicurezza che Google ti sta incoraggiando a risolvere e può causare problemi agli utenti che utilizzano il tuo sito in modo leggermente diverso da come lo hai testato (ad esempio un browser diverso, un telefono, uno screen reader ecc.). Probabilmente romperà anche i gestori di password.
thelem

La pubblicazione del modulo sarebbe problematica con questo approccio.
the_lotus il

3
Non è necessario inviare il FORM. Puoi usare XMLlHTTPRequest(aka AJAX) per inviare le informazioni
Aminadav Glickshtein,

18
Vorrei cambiare la tua risposta da "non raccomandare" a "non farlo mai". Stai aggirando così tanti standard che potresti non creare più un'applicazione web.
Caimen

2
Ho davvero bisogno di 125 punti per sottovalutare questa cosa? oO
Andrea Lazzarotto

4

Se stai solo servendo file statici o puoi mettere un proxy in primo piano, potresti utilizzare un server come caddy server che gestisce tutto questo per te utilizzando Let Encrypt, questo elimina i problemi di provisioning dei certificati e non è necessario installa qualsiasi altro software.

In alternativa puoi utilizzare un servizio come cloudflare : il loro piano gratuito offre https gratuiti.

Infine, alcuni host offrono certificati https gratuiti ora, incluso dreamhost . Quindi controlla se il tuo host attuale offre questo come opzione.

Non consiglierei di provare a trovare una soluzione alternativa, c'è solo un modo per rendere sicuro il tuo sito e i browser alla fine avviseranno su ogni sito che non ha https, indipendentemente dal contenuto. Il web si sta muovendo verso https ovunque.


1
Firefox ha introdotto anche avvisi ora su pagine di accesso non sicure e tutti i principali browser hanno scelto di fornire http2 solo con supporto https, il che significa che la prossima versione del protocollo è di fatto solo https.
Kenny Grant,

1
@closetnoc GoDaddy è una fregatura in più modi. Noi (società webdev) acquistavamo i nostri certs per € 7 all'anno, il che era conveniente ma non per un centinaio di siti. Ora, stiamo usando Let's Encrypt e li otteniamo gratuitamente, quindi abbiamo inserito SSL su tutti. Ai nostri clienti piace e ci piace usare HTTP / 2. Non ho avuto problemi con il rinnovo. Certs dura 90 giorni e iniziamo a provare a rinnovare ogni giorno dopo 60 giorni. Molte sovrapposizioni nel caso qualcosa vada storto (cosa che non ha fatto). Usa Cloudflare se non vuoi la seccatura.
Martijn Heemels,

1
@closetnoc ssl è qualcosa di più della crittografia, garantisce anche integrità, sicurezza e privacy, quindi i contenuti della pagina non possono essere visti (ad es. il datore di lavoro, uno stato di sorveglianza) o modificati (ad es. annunci iniettati) da un MitM'er. Inoltre, impedisce alle persone di MitMing di annusare i dati di autenticazione dei tuoi amici (che probabilmente possono essere utilizzati per caricare contenuti indesiderati sul sito). Inoltre, secondo Martijn, GoDaddy è un grande imbroglione e nel complesso sono sfavorevoli. Consiglierei al tuo amico di consultare domini google, namecheap e gandi (non sono affiliato a nessuno).
Ave

1
@MartijnHeemels Sono d'accordo che GoDaddy è troppo caro. GRANDE TEMPO! Sembra che Let's Encrypt sia la strada da percorrere per la maggior parte dei siti che sono generalmente benigni nei contenuti. Riesco a vedere certs completamente controllati anche per alcuni siti. Credi che io fossi un'autorità cert? Immagino di preferire quando i certs fossero un anno. Non mi fido di periodi più brevi. Ma quali sono le scelte in questi giorni? Saluti!!
closetnoc,

1
@closetnoc Non è difficile trovare certificati SSL a pagamento da CA riconosciute con validità di 1 anno per circa $ 10 ciascuno. Ma questo ovviamente non ti farà ottenere un certificato "completamente controllato"; se lo vuoi davvero, devi saltare attraverso i cerchi per ottenere un certificato EV e pagare il prezzo corrispondente (e come è stato sottolineato in precedenza, nemmeno i certificati EV sono perfetti o vengono senza avvertimenti). Let's Encrypt discute alcuni dei motivi per cui i loro certificati sono validi solo per 90 giorni sul loro sito web, ma l'esistenza di Let's Encrypt non ha (ancora) fatto in modo che le CA commerciali ritirino le loro offerte DV cert.
un CVn il

4

nessun altro sembra aver menzionato,

se possiedi tutti i computer che si collegano al tuo sito

ad es. "questo probabilmente non è quello che vuoi"

, come un'impostazione aziendale, è possibile creare un'autorità di certificazione autonoma, installarne il certificato pubblico in tutte le macchine (ben su tutti i browser e i negozi di certificati) che si collegano al proprio sito. questa opzione è priva di monetizzazione di terze parti; è lo stesso codice di crittografia, ma non si ottiene l'accesso alla fiducia pubblica (ad es. la tua autorità non è riconosciuta da Google Chrome, Mozilla Firefox, ecc. come fa Let's Encrypts) ma verrà riconosciuta dalle macchine configurate per fidarti di te stesso .

è vero che le offerte per la creazione di un'autorità di certificazione sono complicate in qualche modo oscure e la manutenzione può richiedere molto lavoro, quindi le lascerò fuori qui, probabilmente è meglio fare una ricerca approfondita sull'argomento che ti interessa davvero in questo approccio.

anche se per una distribuzione nieve, se puoi provare XCA

XCS è un modo decente per rilasciare certificati per distribuzioni minuscole e include la documentazione di aiuto che accompagna l'intero setup.


2
Quasi sicuramente impiegherai di più nella configurazione della tua CA (nelle ore di lavoro, se non altro) che nell'acquisto di un certificato SSL commerciale. Quindi, c'è sempre la possibilità di fare qualcosa di sbagliato.
Eric J.

1

Ho un paio di idee.

Se il motivo di HTTPS è la gestione degli accessi, è possibile ridurre al minimo l'effetto su tutti i browser offrendo agli utenti di rimanere connessi. Quindi, quando un utente accede, un cookie può essere memorizzato in modo permanente sul computer dell'utente in modo che la volta successiva che l'utente accende il suo computer per accedere al sito, verrebbe automaticamente registrato invece di essere sempre presentato con un prompt di accesso e possibilmente un avviso di sicurezza.

Un'altra idea che può bypassare il messaggio ma che sarebbe più utile sia per il guest che per il server è quella di far caricare un guest con un file speciale con la corretta configurazione crittografata. Ad esempio, per la schermata di accesso, invece di chiedere all'utente di inserire il suo nome utente e la password in due caselle di testo, fare in modo che l'utente carichi un piccolo file che contenga il suo nome utente e password crittografati (ad esempio, comprimendo il nome utente e la password come zip file con un livello di compressione specifico), il server può decrittografare il file per estrarre il nome utente e la password. Il potenziale hacker vedrà incomprensibili in transito quando l'utente invia il file al server. L'unico piccolo vantaggio di questa idea è una velocità di connessione leggermente superiore poiché l'elaborazione della connessione SSL non avviene in HTTP.


Una versione imminente di Chrome avviserà di eventuali input di testo, non solo dei campi password. Tutti i dati che utilizzano i moduli HTML dovranno essere HTTPS per evitare avvisi, non solo il login. Google ha inviato notifiche tramite Search Console ai proprietari di siti Web i cui siti Web Google ritiene vengano effettuati.
Stephen Ostermiller

1

No.

Qualsiasi hack che provi (ad es. Come provare a crittografare con javascript), è molto improbabile che sia persino vicino alla sicurezza.

SSL non deve essere "costoso", molti provider di hosting lo offrono gratuitamente. E anche cose come cloudflare offrono SSL gratuito e mantengono l'hosting corrente.


-3

Una soluzione rapida e gratuita è Let's Encrypt. Link Hanno documentazione per quasi tutti i sistemi operativi del server. Lo usiamo nel nostro lavoro e i nostri fornitori di W2P lo usano per proteggere ciascuno dei nostri negozi.


3
Questa risposta non aggiunge nulla che non sia già stato detto.
Stephen Ostermiller
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.