Чи є інші варіанти, крім HTTPS, для забезпечення безпеки веб-сайту, щоб уникнути попередження введення тексту в Chrome?


16

Тиждень тому Google надіслав мені електронний лист, щоб перейти на HTTPS. Якщо я не передам HTTP на HTTPS, він покаже моє з'єднання незахищеним всім відвідувачам мого сайту, які намагатимуться ввести текст на мій сайт.

Чи не використовувати SSL, чи є інший спосіб зробити моє з'єднання захищеним? Оскільки це стосується дорогого процесу використання SSL у веб-URL-адресі, я шукаю інший варіант замість цього.


27
Ви заглянули на letsencrypt.org ? Він видає безкоштовні сертифікати HTTPS. Налагодити з нуля трохи болю, але багато хостингові компанії реалізували це для вас.
Стівен Остерміллер

6
Ви також можете використовувати cloudflare, який надасть вам сертифікат SSL безкоштовно.
пр.

2
Питання не в тому, як використовувати HTTPS, а ширше, ніж це: якщо http://це не так, що ще є https://? Чи є abc://, lgbtqiapk+://чи dps://?
Конерак

4
"Дорогий процес"? Давайте шифрувати безкоштовно. Також: didmysiteneedhttps.com
Андреа Лаццаротто

Відповіді:


41

чи є інший спосіб зробити моє з'єднання захищеним?

Google не просто скаржиться на "безпеку" (яка може включати в себе кілька різних тем), вона спеціально орієнтована на шифрування / HTTPS. За допомогою звичайного HTTP зв’язок між клієнтом та сервером не шифрується, що дозволяє кожному потенційно бачити та перехоплювати все, що подається. Зазвичай це запитується лише в тому випадку, якщо ви дозволяєте користувачам входити в систему (тобто, вводити ім’я користувача / пароль) або подавати платіжну інформацію через незашифроване з'єднання. Загальне подання "текстової" форми не обов'язково буде проблемою. Однак, як @Kevin зазначив у коментарях, Google / Chrome планують продовжити це в майбутньому :

Врешті-решт, ми плануємо позначити всі сторінки HTTP як незахищені та змінити індикатор безпеки HTTP на червоний трикутник, який ми використовуємо для зламаного HTTPS.

Встановлення сервера SSL на вашому сайті (або використання проксі-сервера типу Cloudflare для обробки SLL) - єдиний спосіб шифрування трафіку на вашому сайті.

Однак це не обов'язково "дорогий процес" в наші дні. У Cloudflare є "безкоштовний" варіант, і Let's Encrypt - це безкоштовний орган сертифікації, який багато хостів підтримують за замовчуванням.


3
"Зазвичай це підкаже лише тоді, якщо ви дозволяєте користувачам входити в систему (надаючи ім'я користувача / пароль) або надаючи особисту інформацію через незашифроване з'єднання. Загальний" текст "не обов'язково буде проблемою." Це скоро вже не буде правдою; Chrome покаже попередження для БУДЬ-якого поля для введення тексту. Зрештою, він не може визначити різницю між потенційно чутливою інформацією та доброякісними речами, такими як пошук, тому було прийнято рішення просто попередити про все.
Мюзер

2
@Muzer Це, як правило, не вирішується, якщо введення тексту є чутливим - якщо я набираю домашню адресу або шукаю свою неприємну медичну проблему, це може бути дуже цікавим для підслуховувача.
apsillers

6
Зрештою, Chrome покаже це попередження для всіх HTTP-сайтів , тому довгострокової альтернативи HTTPS не існує.
Кевін

3
У цій відповіді відсутня найбільша перевага HTTPS перед простим шифруванням в кінці, яке є ідентичністю. HTTPS дозволяє вашому серверу доводити своїм клієнтам, що це насправді той сервер, на який він претендує, без необхідності спеціально достроково впорядкувати метод аутентифікації. Самостійне шифрування не допомагає, якщо клієнт підключився до сервера, який належить шкідливому актору.
IllusiveBrian

4
@IllusiveBrian Хоча це питання насправді не стосується "переваг HTTPS" (є існуючі питання, які вже висвітлюють це), це питання полягає у спробі уникнути "попередження" безпеки браузера в Google / Chrome. Але HTTPS не обов'язково "доводить ідентичність" - для цього вам потрібно буде заплатити більше грошей за перерахунок на ОВ або ЕВ. У контексті цього питання мова йде про шифрування.
DocRoot

4

Я не рекомендую, але ви можете обійти це повідомлення, не використовуючи початкові текстові поля введення. Ви можете створити власні поля введення, використовуючи регулярні, divщо мають onkeypressподії. Або ви можете створити divелемент, для якого встановлено contenteditableатрибут true.

Таким чином, користувачі зможуть вводити інформацію на ваш сайт, не використовуючи inputелементи тегів.


41
Це дійсно погана ідея. Це не вирішує проблему із безпекою, яку Google заохочує вас вирішити, і, ймовірно, спричинить проблеми у користувачів, які користуються вашим сайтом дещо по-іншому, як ви тестували його (наприклад, інший браузер, телефон, зчитувач екрана тощо). Це також, ймовірно, зламає менеджерів паролів.
thelem

Опублікувати формуляр було б проблематично при такому підході.
the_lotus

3
Вам не потрібно надсилати ФОРМУ. Ви можете використовувати XMLlHTTPRequest(ака AJAX) для надсилання інформації
Aminadav Glickshtein

18
Я б змінив вам відповідь з "не рекомендую" на "ніколи цього не роби". Ви обходите стільки стандартів, роблячи це, можливо, більше не робите веб-додатків.
Каймен

2
Чи справді мені потрібно 125 балів, щоб зняти цю річ? оо
Андреа Лаццаротто

4

Якщо ви просто обслуговуєте статичні файли або можете поставити проксі спереду, ви можете використовувати такий сервер, як Caddy-сервер, який обробляє все це для вас, використовуючи дозволяє шифрувати, це позбавляє болю від надання сертифікатів, і вам не доведеться встановити будь-яке інше програмне забезпечення.

Крім того, ви можете скористатися такою послугою, як cloudflare - їх безкоштовний план пропонує безкоштовний https.

Нарешті, деякі хости пропонують безкоштовні сервери https зараз, включаючи dreamhost . Тому перевірте, чи пропонує ваш поточний хост це опцію.

Я б не рекомендував намагатися знайти вирішення, є лише один спосіб зробити свій сайт захищеним, і браузери врешті-решт будуть попереджати про кожен сайт, який не має https, незалежно від вмісту. Мережа рухається до https скрізь.


1
Firefox також вводив попередження на незахищені сторінки входу, і всі основні браузери вирішили надати http2 лише підтримку https, що означає, що наступна версія протоколу є фактично лише https.
Кенні Грант

1
@closetnoc GoDaddy - це стирання кількома способами. Ми (компанія webdev) купували наші серти за 7 євро на рік, що було доступно, але не для ста сайтів. Тепер ми використовуємо Let's Encrypt і отримаємо їх безкоштовно, тому ми поставили SSL на всі вони. Нашим клієнтам це подобається, і нам подобається використовувати HTTP / 2. Не мали проблем із оновленням. Серти тривають 90 днів, і ми починаємо намагатися поновлювати щодня через 60 днів. Багато перекриттів, якщо щось піде не так (чого не було). Використовуйте Cloudflare, якщо ви не хочете клопоту.
Martijn Heemels

1
@closetnoc ssl - це більше, ніж шифрування, він також забезпечує цілісність, безпеку та конфіденційність, тому речі на сторінці не можуть бути помічені MitM'er (наприклад, ваш роботодавець, держава суверенного стану) або змінені (наприклад, ін'єкційні оголошення). Крім того, це заважає людям з MitMing нюхати дані аутентифікації вашого друга (що, ймовірно, може використовуватися для завантаження небажаного вмісту на сайт). Крім того, сказав Мартійн, GoDaddy - це величезна ситуація, і загалом це несприятливо. Я рекомендую вашому другові переглянути домени google, ім'я іменника та gandi (я не пов'язаний ні з ким).
пр.

1
@MartijnHeemels Я погоджуюся, що GoDaddy завищений. ВЕЛИКИЙ ЧАС! Схоже, давайте шифрувати - це шлях для більшості сайтів, які, як правило, є доброякісними за змістом. Я також можу бачити цілком перевірені сертифікати для деяких сайтів. Чи повірите ви, що я був авторитетом церта? Думаю, я вважаю за краще, коли церт був рік. Я не довіряю коротшим часовим періодам. Але які варіанти є сьогодні? Ура !!
closetnoc

1
@closetnoc Не важко знайти платні SSL-серти від добре визнаних ЦС з терміном дії на 1 рік приблизно за 10 доларів за штуку. Але це, очевидно, не отримає вам "повністю перевіреного" сертифіката; якщо ви дійсно цього хочете, вам потрібно перестрибнути обручі, щоб отримати EV-серт, і заплатити відповідну ціну (і як уже зазначалося раніше, навіть EV-серти не є ідеальними або не мають застережень). Давайте Encrypt обговорює деякі причини, за якими їхні сертифікати дійсні лише 90 днів на їхньому веб-сайті, але існування Let Encrypt ще не призвело до того, що комерційні ЦО витягнули свої пропозиції щодо сертифікації DV.
CVn

4

схоже, ніхто ще не згадував,

якщо ви володієте кожною машиною, яка підключається до вашого сайту

наприклад, "це, мабуть, не те, що ви хочете"

як корпоративне налаштування, ви можете створити власний авторизований сертифікат, встановити його відкритий сертифікат на всі машини (добре на всі браузери та магазини cert), які підключаються до вашого сайту. ця опція не передбачає монетизації сторонніх організацій; це той самий шифровий шифр, хоча ви не входите в публічну довіру, хоча (наприклад, ваші повноваження не визнані Chrome від Google, Mozilla Firefox тощо, як це робимо Let's Encrypts), але він буде розпізнаний машинами, налаштованими довіряти собі .

безумовно, угоди щодо створення сертифікаційного органу є складними, дещо незрозумілими, а технічне обслуговування може бути багато роботи - тому я залишу їх тут, ви, мабуть, найкраще займаєтесь глибоким зануренням на тему, що вас справді цікавить у такому підході.

хоча для розширення nieve, якщо ви можете спробувати XCA

XCS - це гідний спосіб видавати сертифікати для мініатюрних розгортань і включає довідкову документацію, яка розглядає всю програму.


2
Ви майже напевно витратите більше на налаштування власного ЦО (у години роботи, якщо нічого іншого), ніж придбавши комерційний сервер SSL. Тоді завжди є можливість зробити щось не так.
Ерік Дж.

1

У мене є пара ідей.

Якщо причиною HTTPS є керування входами, ви можете мінімізувати ефект у всіх веб-переглядачах, пропонуючи користувачам залишатись увійти в систему. Потім, коли користувач увійде в систему, файл cookie може бути назавжди збережений на комп'ютері користувача, щоб наступного разу користувач вмикає свій комп’ютер для доступу до сайту, він буде автоматично входити в систему, замість того, щоб завжди отримувати підказку для входу та, можливо, попередження про безпеку.

Ще одна ідея, яка може обійти повідомлення, але яка б більше працювала як для гостя, так і для сервера, - це запросити гість спеціальний файл із зашифрованою належною конфігурацією. Наприклад, на екрані входу замість того, щоб просити користувача ввести своє ім’я користувача та пароль у два текстові поля, потрібно завантажити користувача невеликий файл, який містить зашифровані ім’я користувача та пароль (наприклад, стискаючи ім’я користувача та пароль як поштовий індекс файл із певним рівнем стиснення), то сервер може розшифрувати файл для вилучення імені користувача та пароля. Потенційний хакер перегляне тремтіння, коли користувач надсилає файл на сервер. Лише незначною перевагою цієї ідеї є дещо швидша швидкість з'єднання, оскільки обробка з'єднання SSL не відбувається в HTTP.


Майбутня версія Chrome попереджатиме про будь-яке введення тексту, а не лише про поля пароля. Будь-які дані, що використовують форми HTML, повинні бути HTTPS, щоб уникнути попереджень, а не лише входу. Google надсилає сповіщення через Search Console власникам веб-сайтів, веб-сайти яких Google думає, що це буде здійснено.
Стівен Остерміллер

1

Ні.

Будь-який хак, який ви спробуєте (наприклад, як спроба зашифрувати javascript), навряд чи навіть буде близьким для захисту.

SSL не повинен "дорого", багато хостинг-провайдери пропонують його безкоштовно. І навіть такі речі, як cloudflare, пропонують безкоштовний SSL та зберігають поточний хостинг.


-3

Безкоштовне швидке рішення - Давайте шифруємо. Посилання У них є документація майже для кожної ОС сервера. Ми використовуємо це у своїй роботі, а наші постачальники W2P використовують його для захисту кожного з наших вітрин.


3
Ця відповідь не додає нічого, про що вже не було сказано.
Стівен Остерміллер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.