Должны ли все сайты использовать SSL по умолчанию?

Мы находимся в процессе переноса нашей веб-архитектуры в новую среду. Включены десятки различных сайтов, от почти полностью статичных до динамических, требующих аутентификации и содержащих конфиденциальный контент. Администраторы наших веб-серверов (без какого-либо участия команды разработчиков) решили сделать его стандартом в новой среде, чтобы принудительно использовать SSL для всего. Я не согласен с этим решением и хотел бы получить как можно больше знаний, когда сажусь его обсуждать. Вот что у меня есть на данный момент:

  • Для каждого сайта сертификат SSL имеет прямую стоимость. У нас есть среда dev, qa и prod, поэтому для каждого сайта необходимы три сертификата.
  • Для большинства страниц контент небезопасен, и принудительное использование SSL приведет к тому, что запросы страниц будут выполняться дольше на сервере из-за шифрования и дешифрования.
  • Насколько я понимаю, большинство браузеров не кэшируют страницы с SSL и, таким образом, опять же, запросы страниц будут занимать больше времени.
  • В старых браузерах возникают проблемы с загрузкой файлов при использовании SSL.

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


person Jason    schedule 01.02.2010    source источник
comment
Полностью с вами согласен. Мой единственный комментарий заключается в том, что вы можете использовать ssl-сертификаты с подстановочными знаками и, следовательно, вам нужно только купить один.   -  person Klaus Byskov Pedersen    schedule 01.02.2010
comment
Разве SSL-сертификаты с подстановкой не намного дороже традиционных?   -  person Jason    schedule 02.02.2010
comment
Сертификаты с подстановочными знаками примерно в 3–7 раз дороже односайтовых сертификатов (в год), в зависимости от того, о каких продуктах мы говорим и от каких поставщиков. Если у вас всего 2-3 сайта, вам, вероятно, не нужен подстановочный знак, но если у вас их 6-7 или больше, или вы планируете иметь больше, подстановочный знак определенно более рентабелен.   -  person Adam Bellaire    schedule 14.05.2010
comment
1) Для каждого сайта получите бесплатный сертификат SSL или используйте только внутренний ЦС. 2) шифрование больше не занимает много времени, скорее всего, ваша сетевая задержка является реальной проблемой. 3) Вы можете установить заголовки Cache-Control. 4) Любой, кто использует браузер, достаточно старый, чтобы иметь проблемы с загрузкой файлов через SSL, столкнется с гораздо более серьезными проблемами (например, с поддержкой JavaScript / проблемами безопасности и т. Д.).   -  person Kurt    schedule 22.07.2012
comment
Все ваши непроизводственные сайты могут размещаться на * .foo.com (siteA-prod.foo.com, siteB-dev.foo.com и т. Д.). Тогда вам просто нужен один шаблонный сертификат для всей партии.   -  person rich remer    schedule 10.02.2015
comment
@richremer Если у вас есть сертификат с подстановочными знаками для вашего производственного домена, он должен быть тщательно защищен и храниться. Возможно, лучше не использовать его для инфраструктуры разработки, которая может иметь более слабый контроль. (Очевидно, что специфика зависит от сайта.)   -  person poolie    schedule 27.11.2016
comment
@ Джейсон, если ты еще здесь, сможешь ли ты отклонить главный ответ 10-летней давности? SSL действительно должен быть принят сейчас повсюду.   -  person user5994461    schedule 21.04.2020


Ответы (7)


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

SSL затрудняет использование так называемых «виртуальных доменов». Традиционно для создания SSL-соединения браузер и сервер должны работать с одним и тем же доменным именем. Это делало невозможным размещение более одного сертификата SSL на одном IP-адресе, поскольку сервер отвечал неправильным сертификатом. Реализации Server Name Indication (расширение протокола TLS, которое использует SSL) устранили многие проблем с этим.

При чистой производительности симметричное шифрование и проверка целостности туннелируемых данных не очень дороги; Если ваш сервер не может зашифровать и расшифровать со скоростью сети, то либо у вас есть оптическое волокно, принадлежащее Богу, либо вам следует подумать о замене тех i486. Однако инициирование SSL-соединения, известное как «рукопожатие», немного дороже и может означать снижение производительности при больших нагрузках (когда сотни соединений в секунду или больше). К счастью, данный экземпляр браузера будет повторно использовать туннели и сеансы SSL, поэтому это не проблема, если у вас всего несколько десятков пользователей.

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

person Thomas Pornin    schedule 01.02.2010
comment
WRT SSL предотвращает кеширование, это верно лишь отчасти: stackoverflow.com/questions/174348/ - person Adam Bellaire; 14.05.2010
comment
Это правда. Хороший ответ, но немного непонятный. Современные браузеры кэшируют весь контент по протоколу HTTPS, если не указано иное. - person Kevin Wang; 12.07.2012
comment
Это не правильно. Веб-хостинг SSL отлично работает с виртуальными доменами: http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI и techrepublic.com/blog/opensource/ - person Kurt; 22.07.2012
comment
@Kurt, это хороший аргумент, но SNI еще не поддерживается всеми клиентами, вероятно, менее 90% на многих сайтах - см. serverfault.com/questions / 270493 - person poolie; 24.07.2012
comment
Re теплые пушинки: это глубокая защита. Если ваши администраторы думают, что правильная настройка одного слоя позволяет им игнорировать другие уровни, у вас большие (культурные) проблемы. И HTTPS едва ли более сложен. - person poolie; 30.07.2012
comment
Просто скажу, что кажется, что github полностью обслуживается по протоколу HTTPS, даже если вы не вошли в систему и просто просматриваете статические области: https://github.com/features И я уверен, что посетители github точно знают, что они делают. - person Starkers; 21.03.2014
comment
Здесь есть несколько заблуждений: виртуальные хосты представляют собой проблему только тогда, когда вам нужно использовать несколько сертификатов. Даже тогда указание имени сервера (SNI) может быть жизнеспособным решением. - person averell; 04.04.2014
comment
Это действительно не следует отмечать как правильный ответ. Это очень вводит в заблуждение и даже неправильно. Дело в том, что существует множество возможных векторов атак MITM на пользователей, о которых компания никогда не узнает, если SSL не используется повсеместно. SSL - дешевое и необходимое требование, независимо от того, какой тип сайта вы обслуживаете. Это не только для теплых пушинок. Меня тошнит от разработчиков, которые плохо понимают безопасность или имеют к ней такое безответственное и безответственное отношение. - person Justin Warkentin; 16.04.2014
comment
SSL не обязательно предотвращает кеширование. Если вы используете что-то вроде Varnish в качестве кэширующего прокси (который не поддерживает SSL), просто прикрепите терминатор SSL (например, Nginx или Pound) перед ним. - person colan; 16.09.2014
comment
Многие люди сетуют на точность этого ответа. Если вы видите что-то подобное, просто исправьте. В этом суть SE. - person Oli; 02.11.2014

В ответ на ответ Томаса:

Для каждого сайта сертификат SSL имеет прямую стоимость. У нас есть среда dev, qa и prod, поэтому для каждого сайта необходимы три сертификата.

Вряд ли. Вам не нужно, чтобы все разработчики и qa поддерживали SSL с действующими текущими сертификатами. Возможно, вам понадобится один промежуточный сайт с действующим сертификатом. Но помимо внешнего интерфейса Apache, ваш сервер не должен знать, что здесь задействован SSL. Вы не тестируете ничего уникального или особенного, покупая сертификаты разработчика.

Также стоимость номинальная. Вы тратите на разговор больше денег, чем на самом деле стоят сертификаты.

Для большинства страниц контент небезопасен, и принудительное использование SSL приведет к тому, что запросы страниц будут выполняться дольше на сервере из-за шифрования и дешифрования.

Маленький. Вы измерили? Вы можете обнаружить, что это сложно измерить, потому что изменчивость скорости интернета превосходит стоимость обработки SSL.

Насколько я понимаю, большинство браузеров не кэшируют страницы с SSL и, таким образом, опять же, запросы страниц будут занимать больше времени.

Опять же, вы это измерили?

В старых браузерах возникают проблемы с загрузкой файлов при использовании SSL.

Действительно? В каком именно «старом браузере» вы планируете поддерживать эту проблему? Если вы не можете его найти и думаете, что у кого-то где-то может быть эта проблема, возможно, вы слишком изобретательны. Проверьте свои журналы и посмотрите, какие браузеры ваши клиенты на самом деле используют, а затем определите, есть ли у вас проблемы.

Я согласен с тем, что «SSL везде» - не очень хороший подход. Я думаю, вам понадобится хотя бы одна "приветственная" страница порта 80 без использования SSL. Но я не уверен, что у вашего текущего набора проблем есть веские причины. Я думаю, что вам нужно значительно больше измерений, чтобы убедиться, что SSL действительно связан с реальной стоимостью или реальным падением производительности.

person S.Lott    schedule 01.02.2010
comment
в частности IE 6, и, к сожалению, нам все еще приходится поддерживать его. - person Jason; 01.02.2010
comment
@ Джейсон: Сосредоточьтесь на этом вопросе, поскольку это единственный вопрос, по которому у вас есть факты. Начать измерения. Подробно опишите, что конкретно - не сработает. - person S.Lott; 01.02.2010
comment
Хороший ответ. Кроме того, если вам нужен смешанный http / https с ssl только для важных данных, вам также необходимо принять во внимание стоимость разработки правильных переходов, исправления в них ошибок и риск ошибок безопасности, если вы ошиблись. Если вы сделаете почти весь сайт SSL, большая часть кода приложения может просто предполагать, что транспорт безопасен, что упрощает его. - person poolie; 14.07.2012
comment
Три года спустя Microsoft ie6countdown.com пытается убедить людей уйти с нее, и ее доля в развитых странах составляет ‹0,5%. - person poolie; 21.06.2013

С 2020 года все сайты должны использовать SSL.

  • Сертификаты предоставляются Let's Encrypt бесплатно с 2016 года.
  • Chrome и Firefox с 2018 года отмечают простые HTTP-сайты как небезопасные.
  • Google с 2017 года налагает штрафы на SEO для простых HTTP-сайтов.

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

Рекомендуется корпоративная политика в отношении всего использования SSL без особых исключений. Стандарты безопасности (PCI-DSS, ISO, аудит big4 и т. д.) предполагают шифрование для систем, работающих с конфиденциальной информацией, и отсутствие это считается красным флагом.

Вам также следует взглянуть на развертывание HTTP Strict Transport Security, чтобы даже при первом запросе пользователя вводить example.com отправляется по HTTPS.

Атаки типа «человек посередине» представляют собой реальную проблему, особенно в сетях Wi-Fi, но также и на уровне интернет-провайдеров и страны. Если ваш сайт использует только SSL для входа в систему, а затем возвращает файл cookie сеанса по незашифрованной ссылке, этот файл cookie сеанса не только может быть украден, но и будет украден. См. Firesheep для наглядной демонстрации.

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

Правильно реализованный SSL или SPDY может быть быстрым: накладные расходы на сервер невелики и легко переносятся на отдельный обратный прокси-сервер. Есть SSL CDN.

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

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

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

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

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

Хорошие примеры индивидуальных исключений, когда вы все равно должны предлагать SSL, но не принудительно перенаправлять:

  • сайт обслуживает большие двоичные загрузки (музыка / видео / дистрибутивы программного обеспечения), поэтому важно обеспечить большее кэширование и более быструю загрузку (показать данные) - важно, чтобы двоичные файлы не изменялись при передаче, и это обеспечивает защиту подробно с другой проверкой

  • клиенты - это архаичный IE или встроенные клиенты, которые просто не могут адекватно использовать SSL - в 2020 году такие клиенты будут очень старыми (и, вероятно, опасными)

  • на сайте очень много ресурсов, и вы хотите, чтобы роботы индексировали его через HTTPS - Google и, вероятно, другие боты справятся, если вы принудительно установите все на HTTPS

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

Адам Лэнгли из Google писал в 2010 году:

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

В январе этого года (2010) Gmail по умолчанию перешел на использование HTTPS для всего. Раньше это было опционально, но теперь все наши пользователи постоянно используют HTTPS для защиты своей электронной почты между браузерами и Google. Для этого нам не пришлось развертывать дополнительные машины и специальное оборудование. На наших рабочих интерфейсных машинах на SSL / TLS приходится менее 1% загрузки ЦП, менее 10 КБ памяти на каждое соединение и менее 2% накладных расходов сети. Многие люди считают, что SSL требует много процессорного времени, и мы надеемся, что приведенные выше цифры (общедоступные впервые) помогут развеять это.

person poolie    schedule 30.07.2012
comment
Еще одно свидетельство: Youtube.com теперь обслуживается по https. Если они могут сделать это с такими огромными объемами данных и, вероятно, относительно низкими доходами на байт, вы тоже сможете. - person poolie; 10.04.2014
comment
Отличный ответ. После всей дезинформации в ответах здесь я рад видеть, что кто-то здесь в основном ее понимает. Я хочу отметить, что ваше заявление, выделенное жирным шрифтом вверху, не совсем верно. Одним из возможных векторов атаки MITM может быть перенаправление пользователя на фишинговый сайт, похожий на тот, на котором, по их мнению, он находится. Следовательно, даже если не требуется вход в систему, рекомендуется везде использовать SSL. - person Justin Warkentin; 16.04.2014
comment
Верно, но даже это небезопасно. Человек посередине все еще может атаковать пользователя, изменяя загруженные исполняемые файлы для вставки вирусов или вредоносных программ, перенаправляя пользователя на фишинговые сайты или даже изменяя веб-контент, отправляемый пользователю под тем доменным именем, в котором, по его мнению, он находится. В тот момент, когда вы обслуживаете что-либо через незашифрованное соединение, вы подвергаете посетителей сайта ненужным рискам безопасности. На самом деле опасно даже для пользователя изначально запрашивать сайт HTTP, даже если он перенаправляется на HTTPS, потому что файлы cookie сеанса могут быть захвачены моим MITM. - person Justin Warkentin; 18.04.2014
comment
Вот почему вы получаете такие объекты, как Google, которые действительно понимают важность безопасности пропагандируют SSL везде. Пользователи должны установить HTTPS Everywhere, чтобы убедиться, что они не открывают файлы cookie сеанса, разрешите Удаление SSL или разрешить другие атаки, даже попытавшись установить соединение HTTP, где это возможно. - person Justin Warkentin; 18.04.2014
comment
Да, я согласен со всем этим и добавил упоминание о HTTP STS, который более масштабируем, чем HTTPS Everywhere. - person poolie; 19.04.2014
comment
Отличное дополнение. HSTS защитит от удаления SSL. Однако его следует использовать в сочетании с чем-то вроде HTTPS Everywhere, потому что даже с HSTS первый запрос все еще может быть выполнен через HTTP. HTTPS Everywhere защищает от многих из них. Их действительно следует использовать вместе, тем более что большинство сайтов по-прежнему не отправляют заголовок STS. - person Justin Warkentin; 20.04.2014
comment
Также можно решить проблемы с кешированием. Когда мне нужно кеширование, я настраиваю Nginx или балансировщик нагрузки, который обрабатывает шифрование SSL / TLS, и заставляю его перенаправлять запросы на Varnish, который все кеширует. Он попадает на внутренний сервер только в случае необходимости. Varnish отлично работает с SSL или без него, но, поскольку он не обрабатывает сам SSL, вам просто нужно настроить его за чем-то, что будет, например Nginx. - person Justin Warkentin; 20.04.2014
comment
OP говорил о кешировании на стороне клиента или на стороне клиента. Но да, вам, очевидно, не нужно отключать SSL на исходном сервере. - person poolie; 20.04.2014

Итак, я видел несколько фантастических ответов на этот вопрос, но через несколько дней я увидел, что кое-чего не хватает. Поэтому я хочу отметить несколько моментов:

Зачем везде использовать SSL

  • Безопасность. Если SSL-шифрование зашифровано только на нескольких страницах, легче «вынюхать», какие страницы содержат конфиденциальные данные. Теперь SSL чертовски безопасен, поэтому не о чем беспокоиться, но в случае, если ваш закрытый ключ будет скомпрометирован, рекомендуется иметь этот дополнительный уровень безопасности, чтобы злоумышленникам было труднее добраться до сочная штука.
  • Надежность. Есть люди, которые утверждают, что, когда вы посещаете сайт с проверенным сертификатом, ему легче доверять. Поскольку проверенный сертификат стоит денег, сайту проще доверять, зная, что владелец вложил деньги в символ доверия.
  • Проблемы. Защитить все, используя SSL, намного проще. Все, что вам нужно сделать, это отрубить http: в начале каждой ссылки на ресурс, и все будет хорошо.
  • Конфигурация SEO. Вам не придется беспокоиться о настройке SEO. Я слышал, что поисковые системы индексируют http:// и https:// как отдельные записи, поэтому для единообразия (как в SEO, так и в поведении страницы) использование SSL для всего и простая настройка 301 редиректа кажется хорошим простым решением.
  • Последовательность - ваш веб-сайт будет гораздо более последовательным, если вы просто https:// все. Многие фреймворки ломаются, когда вы пытаетесь создать гибрид SSL и не-SSL. Вдобавок ко всему, подключаемые модули и код, зависящие от URL-адресов, действительно будут иметь значение, если вы попытаетесь переключаться между http и https.
  • Ощущение нечеткой безопасности. Согласитесь, эта маленькая зеленая полоска в левом верхнем углу с надписью "подтвержденный домен" - это чертовски приятное ощущение.

Почему не использовать SSL для всего

  • Скорость - SSL работает медленнее. Конечно, не сильно, и в большинстве случаев стоимость незначительна. Однако это неизбежный факт, что SSL всегда будет медленнее.
  • Совместимость браузера. Вероятно, это незначительно, но если вы хотите поддерживать действительно старые браузеры, которые не кэшируют через SSL, вам придется придерживаться порта 80.
  • Плагины. Некоторые плагины некорректно работают через SSL, поэтому будьте осторожны с этим. Если вы когда-нибудь захотите добавить новый плагин, вам придется перенастроить настройки SSL или поискать другой плагин.
  • Профессионализм. Хотя некоторые люди утверждают, что просмотр подтвержденного домена SSL кажется заслуживающим доверия, другие считают это очень любительским и ленивым решением. Фактически, действительно легко и дешево (обошлось мне примерно в 10 долларов) получить проверенный сертификат SSL, который используется в 96% браузеров!
  • Проблемы. Я сказал, что использовать SSL для всего проще, но в то же время вам нужно будет убедиться, что все ресурсы загружаются через https:// (или использовать быстрое решение http:// -> //). Это может быть немного утомительно, если у вас есть куча ссылок, или даже несовместимое, если у вас есть отправленный пользователем контент, размещенный на сайте, который не поддерживает SSL. В таких случаях ваш браузер будет ныть на вас. Если вы когда-нибудь видели это уведомление, в котором говорится, что «на этой странице небезопасный контент», вы знаете, как это раздражает и как плохо выглядит.

Короче говоря, это действительно ситуативно, но я стараюсь избегать использования SSL. Конечно, требуется немного больше настроек, но в итоге вы получаете гораздо более гибкую систему. Лично я считаю, что весь "профессионализм" - чушь собачья (Twitter и Google SSL все). Однако, если у вас есть контент, размещенный на внешнем сервере или контент, размещенный пользователями, обычно использовать SSL для всего - плохая идея. Вы также можете начать использовать SSL и столкнуться с кучей проблем.

Но это только я. : D

person Kevin Wang    schedule 16.07.2012
comment
Если вас беспокоит скорость передачи, используйте SPDY, и все будет и под SSL, и, вероятно, быстрее, чем HTTP. - person poolie; 21.07.2012
comment
Ха-ха SPDY. Выглядит потрясающе! +1 - person Kevin Wang; 26.07.2012
comment
Вы отметили несколько хороших моментов, но ваш профессионализм немного вводит в заблуждение и не имеет отношения к делу. Если разработчик веб-сайта не контролирует полный стек безопасности на клиенте и сервере (это невозможно и не может быть без использования отдельного программного обеспечения полностью), нет абсолютно никакого способа надежно подтвердить личность и знать, что ваши сообщения не будут скомпрометированы без использования SSL / TLS. Это подводит меня к следующему пункту. Неважно, насколько дешевый сертификат. Его цель - просто проверить, действительно ли клиент общается с тем, кем он себя считает. - person Justin Warkentin; 16.04.2014
comment
Мне нравится, как у вас профессионализм, и это действительно хорошая идея для защиты вашего пользователя и безопасности сайта, но это просто немного хлопот рядом друг с другом :) - person poolie; 19.04.2014

В другом ответе на ответ Томаса, тем более что он сверху.

Кроме того, ниже я связал технический документ с передовыми методами использования SSL.

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

Только отчасти правда. SSL предотвратит кеширование прокси, но не кеширование браузера - также см. Ответы на этот вопрос. На мой взгляд, это не большая проблема.

SSL предотвращает использование так называемых «виртуальных доменов». [...]

Отчасти это правда. Однако виртуальные домены будут работать нормально, если у вас есть только один сертификат. Даже если вы этого не сделаете, указание имени сервера (SNI) должно быть жизнеспособной альтернативой (или должно быть, когда Windows XP исчезнет с лица земли).

[производительность] Однако инициирование SSL-соединения, известное как «рукопожатие», немного дороже,> и может означать снижение производительности при больших нагрузках (когда есть сотни соединений в секунду или больше). К счастью, данный экземпляр браузера будет повторно использовать туннели и сеансы SSL, поэтому это не проблема, если у вас всего несколько десятков пользователей.

Даже рукопожатие не должно вызывать проблем с производительностью на стороне сервера, если у вас современное оборудование. Основная причина "медленного" рукопожатия связана с тем, что сетевые пакеты необходимо несколько раз пересылать туда и обратно между сервером и браузером - вычислительная мощность здесь не при чем.

Другими словами: установка SSL-соединения будет на порядок дешевле, чем рендеринг страницы PHP, которая извлекает данные из базы данных.

В целом, установка SSL повсюду выглядит как способ получить "теплое нечеткое ощущение" безопасности. > Это нехорошо. Обычно это означает, что, концентрируясь на несущественном,

ВООБЩЕ НЕ ВЕРНО. Либо вам вообще не нужен SSL на вашем сайте, потому что это полностью общедоступный контент. Или вам по какой-то причине нужен SSL (логины пользователей, защищенные области). В таком случае лучше всего положить его повсюду.

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

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

Само собой разумеется, что эта безопасность состоит из нескольких компонентов. Но уже сделать первую ошибку - не лучшее начало.

person averell    schedule 04.04.2014
comment
Даже веб-сайт с полностью общедоступной информацией небезопасен через HTTP. Интернет-провайдер может изменить страницу, чтобы добавить рекламу и трекеры. Враждебное правительство может внедрить код для атаки третьей стороны (см. Атаку Китая на GitHub). - person Nayuki; 21.04.2020

Это первое, что нужно спросить себя: что дает вам SSL? Это дает вам уверенность в том, что никто и ни одно приложение не может «перехватить» трафик и увидеть, что происходит между веб-сервером и браузером. Стоимость - это реальная стоимость покупки SSL-сертификата и текущая стоимость небольшого увеличения скорости загрузки. Вы упомянули, что в старых версиях браузеров возникли проблемы с загрузкой файлов по протоколу SSL. Я не могу говорить об этом, и я бы не стал слишком беспокоиться об этом. С точки зрения безопасности у вас есть еще одна проблема. Современные межсетевые экраны отслеживают трафик в поисках различных попыток взлома. SSL не позволяет брандмауэру контролировать эту связь, поэтому разработчику приложения / веб-администратору необходимо еще больше позаботиться о защите своего приложения и сайтов от различных попыток взлома. Короче говоря, следует шифровать только те сообщения, которые действительно в этом нуждаются.

person Jay    schedule 01.02.2010

Я не думаю, что вам следует использовать SSL для всех своих сайтов, и определенно вам не нужно покупать сертификаты для своей среды разработки. Если вам нужен / нужен сертификат SSL для разработчика, его можно легко сгенерировать, и в большинстве случаев этого будет достаточно для этой среды. Другая возможность заключается в том, что вы можете купить подстановочный сертификат и установить свои серверы разработки в одном из поддоменов, таким образом вы можете иметь один и тот же сертификат для обеих сред, но опять же: это пустая трата денег, если вы покупаете подстановочный сертификат (что больше дорого), просто чтобы разработчик тоже поработал над этим. Это имеет смысл, если у вас есть несколько поддоменов на продукте, которые необходимо использовать SSL.

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

person RaYell    schedule 01.02.2010
comment
SSL-сертификаты настолько недорогие, что большинство экспертов не рекомендуют использовать собственные. - person President James K. Polk; 02.02.2010
comment
Какой смысл создавать собственный сертификат, если он предназначен только для разработки? Это не очень дорого, если посмотреть, сколько будет стоить весь проект, но и пользы от этого нет. - person RaYell; 02.02.2010