Есть ли другие варианты, кроме 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
«Дорогой процесс»? Давайте шифровать бесплатно. Также: domysiteneedhttps.com
Андреа

Ответы:

41

Есть ли другой способ сделать мое соединение защищенным?

Google не просто жалуется на «безопасность» (которая может включать в себя ряд различных тем), он специально нацелен на шифрование / HTTPS. При использовании простого HTTP соединение между клиентом и сервером является незашифрованным, что позволяет любому потенциально видеть и перехватывать все, что отправлено. Обычно он запрашивает это только в том случае, если вы разрешаете пользователям входить в систему (т. Е. Отправляете имя пользователя / пароль) или отправляете платежную информацию по незашифрованному соединению. Общая «текстовая» форма представления не обязательно будет проблемой. Однако, как отметил @Kevin в комментариях, Google / Chrome планируют расширить это в будущем :

В конечном итоге мы планируем пометить все страницы HTTP как незащищенные и изменить индикатор безопасности HTTP на красный треугольник, который мы используем для разорванного HTTPS.

Установка сертификата SSL на ваш сайт (или использование внешнего прокси-сервера, такого как Cloudflare, для обработки SLL) - единственный способ зашифровать трафик на ваш сайт.

Однако в наши дни это не обязательно «дорогостоящий процесс». Cloudflare имеют «бесплатную» опцию, а Let's Encrypt - это бесплатный центр сертификации, который многие хосты поддерживают по умолчанию.

DOCROOT
источник
3
«Обычно это запрашивается только в том случае, если вы разрешаете пользователям входить в систему (отправляя имя пользователя / пароль) или отправляете личную информацию по незашифрованному соединению. Общий« текст »не обязательно будет проблемой». Это скоро больше не будет правдой; Chrome покажет предупреждение для ЛЮБОГО поля ввода текста. В конце концов, он не может отличить потенциально конфиденциальную информацию от таких полезных вещей, как поиск, поэтому было принято решение просто предупредить обо всем.
Музер
2
@Muzer Это также , как правило , не разрешимо , если ввод текста является чувствительным - если я типом в моем домашнем адресе, или сделать поиск для моей затруднительной медицинской проблемы, это мог быть очень интересной для перехватчика.
Апсиллы
6
В конечном итоге Chrome отобразит это предупреждение для всех сайтов HTTP , поэтому долгосрочной альтернативы HTTPS не существует.
Кевин
3
В этом ответе отсутствует самое большое преимущество HTTPS по сравнению с простым сквозным шифрованием, а именно идентификацией. HTTPS позволяет вашему серверу доказать своим клиентам, что это действительно тот сервер, на который он претендует, без особой предварительной настройки метода аутентификации. Сквозное шифрование само по себе не помогает, если клиент подключился к серверу, принадлежащему злоумышленнику.
IllusiveBrian
4
@IllusiveBrian Хотя этот вопрос на самом деле не о «преимуществах HTTPS» (существуют существующие вопросы, которые уже охватывают это), этот вопрос о попытке избежать «предупреждения» безопасности браузера в Google / Chrome. Но HTTPS не обязательно «подтверждает личность» - для этого вам нужно будет заплатить больше денег за сертификат OV или EV. В контексте этого вопроса речь идет о шифровании.
DocRoot
4

Я не рекомендую, но вы можете обойти это сообщение, не используя оригинальные поля ввода текста. Вы можете создавать свои собственные поля ввода, используя регулярные, divкоторые имеют onkeypressсобытие. Или вы можете создать divэлемент с contenteditableатрибутом, установленным в true.

Таким образом, пользователи смогут вводить информацию на вашем сайте, не используя inputтеговые элементы.

Аминадав Гликштейн
источник
41
Это действительно плохая идея. Это не решает проблему безопасности, которую Google рекомендует вам решать, и, скорее всего, создаст проблемы для пользователей, которые используют ваш сайт, немного по-другому, чем то, как вы его тестировали (например, другой браузер, телефон, программа для чтения с экрана и т. д.). Это также, вероятно, сломает менеджеры паролей.
17
Размещение формы будет проблематичным при таком подходе.
the_lotus
3
Вам не нужно размещать ФОРМУ. Вы можете использовать XMLlHTTPRequest(также известный как AJAX) для отправки информации
Аминадав Гликштейн
18
Я бы изменил ваш ответ с «не рекомендую» на «никогда не делай этого». Делая это, вы обходите столько стандартов, что больше не будете создавать веб-приложения.
Caimen
2
Мне действительно нужно 125 очков, чтобы понизить эту вещь? oO
Андреа
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, если вы не хотите хлопот.
Мартин
1
@closetnoc ssl - это больше, чем шифрование, он также обеспечивает целостность, безопасность и конфиденциальность, поэтому MitM'er не может просматривать материалы на странице (например, ваш работодатель, состояние выживания) или изменять (например, вставлять рекламу). Кроме того, он запрещает пользователям MitMing прослушивать данные аутентификации вашего друга (которые могут быть использованы для загрузки нежелательного контента на сайт). Кроме того, как сказал Мартейн, GoDaddy - это огромная грабеж, и в целом это неблагоприятно. Я бы порекомендовал вашему другу взглянуть на домены Google, namecheap и gandi (я не связан ни с одним).
Аве
1
@MartijnHeemels Я согласен, что цена на GoDaddy завышена. ДОЛГОЕ ВРЕМЯ! Похоже, что «Let's Encrypt» - это путь для большинства сайтов, которые, как правило, имеют мягкий контент. Я также вижу возможность получения полностью проверенных сертификатов для некоторых сайтов. Верите ли вы, что я был сертифицированным специалистом? Я думаю, что я предпочитаю, когда сертификаты были год. Я не доверяю более коротким периодам времени. Но какие есть варианты в эти дни? Ура !!
closetnoc
1
@closetnoc Нетрудно найти платные SSL-сертификаты от известных ЦС со сроком действия 1 год по цене около 10 долларов за штуку. Но это, очевидно, не даст вам «полностью проверенный» сертификат; если вы действительно этого хотите, вам нужно прыгнуть через пяльцы, чтобы получить сертификат EV, и заплатить соответствующую цену (и, как было указано ранее, даже сертификаты EV не являются идеальными или не имеют предостережений). Let's Encrypt обсуждает некоторые причины, по которым их сертификаты действительны только в течение 90 дней на их веб-сайте, но существование Let's Encrypt (пока) не заставило коммерческие центры сертификации отозвать свои предложения сертификатов DV.
CVn
4

кажется, никто другой не упомянул,

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

например, "это, вероятно, не то, что вы хотите"

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

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

хотя для развертывания Nieve, если вы можете попробовать XCA

XCS - это достойный способ выдачи сертификатов для крошечных развертываний, включающий справочную документацию, которая проходит через всю настройку.

ThorSummoner
источник
2
Вы почти наверняка потратите больше на настройку собственного ЦС (в рабочее время, если не больше), чем на приобретение коммерческого сертификата SSL. Тогда всегда есть возможность сделать что-то не так.
Эрик Дж.
1

У меня есть пара идей.

Если причиной HTTPS является управление входами в систему, вы можете минимизировать эффект во всех браузерах, предлагая пользователям оставаться в системе. Затем, когда пользователь входит в систему, cookie-файл может постоянно храниться на компьютере пользователя, поэтому в следующий раз пользователь Включив свой компьютер для доступа к сайту, он будет автоматически входить в систему, а не всегда получать приглашение на вход в систему и, возможно, предупреждение системы безопасности.

Другая идея, которая может обойти сообщение, но которая будет больше работать как на госте, так и на сервере, заключается в том, чтобы гость загружал специальный файл с зашифрованной правильной конфигурацией. Например, для экрана входа в систему вместо того, чтобы просить пользователя ввести свое имя пользователя и пароль в двух текстовых полях, попросите пользователя загрузить небольшой файл, в котором зашифрованы его имя пользователя и пароль (например, сжатие имени пользователя и пароля в виде почтового индекса). файл с определенным уровнем сжатия), то сервер может расшифровать файл, чтобы извлечь имя пользователя и пароль. Потенциальный хакер увидит бред в пути, когда пользователь отправит файл на сервер. Единственным небольшим преимуществом этой идеи является немного более высокая скорость соединения, поскольку обработка SSL-соединения не происходит в HTTP.

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

Нет.

Любой взлом, который вы пытаетесь (например, пытаться зашифровать с помощью javascript), очень маловероятен, чтобы быть даже безопасным.

SSL не должен быть «дорогим», многие хостинг-провайдеры предлагают его бесплатно. И даже такие вещи, как cloudflare предлагают бесплатный SSL и поддерживают текущий хостинг.

Мажарул Хак SEO
источник
-3

Бесплатное, быстрое решение - Let's Encrypt. Ссылка У них есть документация почти для каждой серверной ОС. Мы используем его на своей работе, и наши поставщики W2P используют его для защиты каждого из наших витрин.

Riddjim
источник
3
Этот ответ не добавляет ничего, что еще не было сказано.
Стивен Остермиллер