Я загружаю свой собственный проект, у него есть область регистрации / входа в систему (через разработку с RoR, конечно, правильно хешированная и соленая). Поскольку я использую субдомены и мне нужен доступ к ним с помощью iframes (это действительно оправдано!), Мне нужен один из тех дорогих сертификатов, которые покрывают субдомены.
Поскольку я делаю это из своего собственного времени и денег, поэтому я не решаюсь добавить пару сотен сертификатов, а также пару часов, углубляясь в то, чего я раньше не пробовал. Я не храню конфиденциальную информацию, кроме адреса электронной почты и пароля. Насколько я понимаю, единственная уязвимость возникает, когда пользователь входит в систему или регистрируется из незашифрованной сети (например, кафе) и кто-то прослушивает сеть.
Я дешев? Это то, что я должен решить перед выпуском в дикую природу. Я, вероятно, должен упомянуть, что у меня есть 25 000 пользователей, подписанных на уведомление при запуске, поэтому я нервничаю по этому поводу.
Ответы:
За время, прошедшее с тех пор, как был задан этот вопрос, многое изменилось. Вашему сайту нужен HTTPS? ДА!
Сертификаты с проверкой домена бесплатны от многих провайдеров, например Let's Encrypt. Эти сертификаты так же хороши, как и те, за которые вы платите деньги. Благодаря идентификации имени сервера нет необходимости владеть IP-адресом.
Браузеры все чаще отмечают не-HTTPS-страницы небезопасными , а не нейтральными. Ваш сайт, помеченный как небезопасный, выглядит не очень хорошо.
Современные веб-технологии требуют шифрования. Будь то политика Chrome по включению только новых функций для сайтов HTTPS, предпочтительный рейтинг Google для сайтов HTTPS или зашифрованный HTTP / 2, превышающий скорость открытого текста HTTP / 1.1 , вы оставляете возможности на столе. Да, шифрование увеличивает нагрузку на ваши серверы, но это незаметно для большинства сайтов - и особенно незаметно для пользователей.
Конфиденциальность важнее, чем когда-либо. Будь то интернет-провайдеры, продающие ваш клик-поток или секретные сервисы, просеивающие все ваши соединения, нет никаких веских причин, чтобы оставлять какие-либо сообщения общедоступными. Используйте HTTPS по умолчанию и используйте HTTP только в том случае, если вы уверены, что любая передаваемая информация может быть общедоступной и может быть подделана.
Обратите внимание, что пароли не должны передаваться через незашифрованные соединения.
В соответствии с некоторыми нормативными актами, такими как EU-GDPR, вы должны применять самые современные меры безопасности, которые обычно включают HTTPS для веб-сайтов.
Есть пара нерешений:
«Использовать OAuth вместо паролей» упускает из виду тот факт, что все еще используются токены, подобные паролям. По крайней мере, у ваших пользователей будет файл cookie сеанса, который должен быть защищен, поскольку он служит временным паролем.
Самозаверяющие сертификаты отклоняются браузерами. Можно добавить исключение, но большинство пользователей не смогут этого сделать. Обратите внимание, что представление самоподписанного сертификата неотличимо для пользователя от атаки MITM с использованием недействительного сертификата.
Итак: сертификаты бесплатны и HTTPS может сделать ваш сайт быстрее. Больше нет веских оправданий. Следующие шаги: прочитайте это руководство по переходу на HTTPS .
источник
Я бы купил один. Стоимость сертификата не так уж велика, учитывая уровень доверия, которое он предоставляет пользователям. Думайте об этом как об инвестициях. Если ваши приложения не кажутся безопасными (и правильно подписанные сертификаты SSL предполагают, что веб-сайт безопасен), люди могут потерять интерес к использованию ваших будущих продуктов.
источник
Если вы «только» собираете электронные письма и пароли, вы, возможно, захотите попробовать создать собственный сертификат OpenSSL (http://www.openssl.org/), прежде чем вносить какие-либо средства.
Но...
Это просто то, что вы можете сделать, чтобы "попробовать что-то", потому что пользователи сайта получат вражду, так как это не будет признанный / принятый сертификат.
Я советую инвестировать в SSL просто потому, что электронная почта и пароли являются очень конфиденциальными личными данными, которые могут привести к другим видам воздействия (скажем, я использую тот же пропуск для своей учетной записи электронной почты - если эта информация просачивается, то вся электронная почта данные доступны, включая данные CC, любую доступную информацию для других онлайн-сервисов, и бог знает, что еще ...)
Нам нужен защищенный и заслуживающий доверия WEB, и несколько десятков долларов - это небольшая цена за безопасность пользователей. (даже такой простой, как SSL)
источник
Проблемы безопасности
Это не так, данные, передаваемые между пользователем и вашим сайтом, никогда не являются безопасными. В качестве примера http://www.pcmag.com/article2/0,2817,2406837,00.asp подробно рассказывается о вирусе, который изменил настройки DNS. Независимо от того, насколько хорошо ваша текущая сеть защищена, любая заявка в Интернете проходит через множество различных серверов, прежде чем попасть на ваш. Любой из них может быть вредоносным.
Сертификаты SSL позволяют вам шифровать данные односторонним шифрованием, которое может быть дешифровано только на вашем сервере. Поэтому независимо от того, где данные попадают на ваш сервер, никто другой не сможет их прочитать.
В большинстве случаев, и это зависит от вашего хостинга, установка сертификата довольно безболезненна. Большинство провайдеров установят его для вас.
Типы сертификатов SSL
Как отмечено в некоторых ответах, вы можете создавать свои собственные сертификаты SSL. Сертификат SSL - это просто соединение открытого и закрытого ключей. Ваш сервер выдает открытый ключ, клиент использует его для шифрования отправляемых данных, и только закрытый ключ на вашем сервере может расшифровать его. OpenSSL - хороший инструмент для создания своих собственных.
Подписанные SSL-сертификаты
Покупка сертификата в центре сертификации добавляет еще один уровень безопасности и доверия. Опять же, возможно, что кто-то может сидеть между браузером клиента и вашим веб-сервером. Им просто нужно предоставить клиенту свой собственный открытый ключ, расшифровать информацию с помощью своего закрытого ключа, повторно зашифровать ее с помощью вашего открытого ключа и передать ее вам, а также ни пользователю, ни вам.
Когда подписанный сертификат получен пользователем, его браузер подключится к провайдеру аутентификации (Verisign и т. Д.), Чтобы проверить, что открытый ключ, который он получил, на самом деле является тем же для вашего веб-сайта и что не было взлома.
Итак, да, у вас должен быть подписанный сертификат SSL для вашего сайта. Это заставляет вас выглядеть более профессионально, дает вашим пользователям больше ума при использовании вашего сайта, а самое главное защищает вас от кражи данных.
Больше информации об атаке «Человек в середине», которая является ядром проблемы здесь. http://en.wikipedia.org/wiki/Man-in-the-middle_attack
источник
Пароли должны рассматриваться как личная информация - откровенно говоря, при повторном использовании пароля она, вероятно, более чувствительна, чем SSN.
Учитывая это и ваше описание, мне интересно, почему вы вообще храните пароль ...
Я бы использовал OpenID, и если вы чувствуете необходимость иметь свой собственный логин, создайте для этого один поддомен и используйте OpenID где-либо еще.
Если вы не будете использовать OpenID, вы все равно можете использовать тот же шаблон login.yourdomain, чтобы избежать необходимости подстановочного сертификата, но, как я уже сказал, в сегодняшнем мире пароли, по крайней мере, так же чувствительны, как SSN / birthday, не собирайте его если вам не нужно
источник
Стоимость RapidSSL через Trustico составляет всего 30 долл. США, или вы можете получить групповой символ RapidSSL менее чем за 160 долл. США - они также имеют гарантию цены, поэтому, если вы сочтете его дешевле, он будет соответствовать.
источник
Если у вас есть уникальный IP-адрес, вы также можете получить сертификат, особенно если вы имеете дело с любыми данными, которые даже чувствительны к удаленным данным. Поскольку вы можете получить бесплатные доверенные сертификаты от StartSSL , на самом деле нет причин для их отсутствия.
источник
Было бы разумно купить один. Как уже упоминалось, это
ALL about end user trust
для вашего сайта.so I'm hesitant to drop a couple of hundreds on a certificate
- Ну, это не дорого, и вы можете получить один под 50 долларов.SSL - это действительно важно для обеспечения безопасности вашего сайта и повышения уровня доверия посетителей вашего сайта. Что касается процесса входа в систему, почему НЕ использовать OAuth ? Эта функция избавит пользователя от необходимости тратить время на регистрацию вашего сайта. Трафик пользователей сайта действительно выиграет от этого. Серьезно !, найдите время, чтобы исследовать это .
Хороший справочник по общим вопросам о SSL - Все о SSL-сертификатах
источник
Я также подумал бы об использовании стороннего поставщика для входа в систему (например, openid). Большинство CMS уже поддерживают это.
источник
У SSL есть недостатки. Это замедляет ваш сайт. В самом деле.
Единственная причина, по которой люди используют SSL-сертификаты, - это вовлечение денег клиентов.
Если вы не привлекаете деньги своих клиентов, решение о получении SSL-сертификата является чисто бизнес-ориентированным.
Если у вас есть бэкэнд для ваших клиентов, и на сайте нет денег, но они должны быть уверены, что они в безопасности, тогда обязательно берите сертификат. Это инвестиция для доверия ваших клиентов.
источник
Сбросить деньги на SSL-сертификат с подстановочными знаками может быть лучшим вариантом, а может и нет. Взгляните на веб-сервер Caddy: https://caddyserver.com/ . Он имеет много приятных функций, в частности встроенную поддержку для получения бесплатных сертификатов от Let's Encrypt. Вы можете просто указать все свои домены в его конфигурационном файле, и он будет получать сертификаты для них. Другая действительно интересная функция - TLS по требованию. Если вы включите его, всякий раз, когда он получает запрос на новый домен, для которого у него нет сертификата, он захватывает его во время первоначального рукопожатия TLS. Это означает, что вы можете иметь буквально тысячи доменов и вам не нужно настраивать каждый отдельный в конфигурации Caddy.
Примечание: насколько бы это ни казалось моим энтузиазмом, я не связан с Caddy каким-либо образом, формой или формой, кроме как заядлым пользователем их продукта.
источник
Все дело в пользователях, они не обеспечивают никакой безопасности, сертификаты - это просто продукты для продажи.
Вы можете взглянуть на это
http://en.wikipedia.org/wiki/Comparison_of_SSL_certificates_for_web_servers
источник