Где вы должны включить SSL? - PullRequest
19 голосов
/ 20 сентября 2008

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

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

Ответы [ 11 ]

14 голосов
/ 20 сентября 2008

Лично я иду с «SSL от иди к горе».

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

Но при воспроизведении файлов cookie возможна утечка безопасности.

  1. Пользователь заходит на сайт и получает cookie.
  2. Пользователь просматривает сайт и добавляет данные в корзину (используя cookie)
  3. Пользователь переходит на страницу оплаты, используя cookie.

Прямо здесь есть проблема, особенно если вам приходится самостоятельно вести переговоры об оплате.

Вы должны передавать информацию из незащищенного домена в защищенный домен и обратно без каких-либо гарантий защиты.

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

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

8 голосов
/ 20 сентября 2008

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

Браузеры также иногда имеют другую политику кэширования для HTTPS, чем HTTP.

Но все-таки можно поместить их в HTTPS, как только они войдут в систему или просто перед этим. В тот момент, когда сайт становится персонифицированным и неанонимным, он может быть HTTPS с этого момента.

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

5 голосов
/ 21 сентября 2008

Я всегда делал это на всем сайте.

4 голосов
/ 20 сентября 2008

Я бы тоже использовал HTTPS все время. Это не оказывает существенного влияния на производительность (поскольку браузер кэширует симметричный ключ с нулевой привязкой после первого соединения) и защищает от перехвата.

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

3 голосов
/ 20 сентября 2008

В нашей организации у нас есть три классификации приложений -

  • Низкое влияние на бизнес - отсутствие PII, хранение открытого текста, передача открытого текста, никаких ограничений доступа.
  • Среднее влияние на бизнес - нетранзакционный PII, например адрес электронной почты. хранение открытого текста, SSL от центра обработки данных к клиенту, открытый текст в центре обработки данных, ограниченный доступ к хранилищу.
  • Высокое влияние на бизнес - транзакционные данные, например SSN, кредитная карта и т. Д. SSL внутри и вне центра обработки данных. Зашифрованное и проверенное хранилище. Проверенные заявки.

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

Как вы можете себе представить, мы предпочитаем делать приложения LBI.

3 голосов
/ 20 сентября 2008

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

Подумайте об этом так: будет ли передаваться конфиденциальная конфиденциальная информация? Если да, включите SSL. В противном случае у вас все будет хорошо.

2 голосов
/ 27 декабря 2009

Кент прибил его. Я просто хочу сделать быстрый комментарий - я думаю, что Amazon делает это хорошо. http для большей части сайта, но когда приходит время оформить заказ, вам нужно снова войти в систему (один клик немного отличается), возможно, в этот момент другой cookie Я думаю, что другие комментарии говорят то же самое, но я просто хотел привести конкретный пример.

1 голос
/ 19 сентября 2011

Есть один существенный недостаток полноценного https сайта, и это не скорость (это нормально).

Будет очень сложно запустить Youtube, «лайкать» и т. Д. Без небезопасного предупреждения.

Мы в течение двух лет работаем над защищенным сайтом и магазином, и это самый большой недостаток. Нам удалось заставить Youtube работать сейчас, но «Добавить это» все еще остается большой проблемой. И если они изменят что-либо в протоколе, тогда все наши фильмы на Youtube будут пустыми ...

1 голос
/ 20 сентября 2008

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

0 голосов
/ 20 сентября 2008

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

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