Насколько важно использовать SSL на каждой странице вашего сайта?

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

К сожалению, это вызывает некоторые проблемы с Google Maps; Я получаю предупреждения в IE, говорящие "эта страница содержит небезопасный контент". Я не думаю, что мы можем позволить себе Google Maps Premier прямо сейчас, чтобы получить их безопасный сервис.

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

Что вы, ребята, предлагаете мне сделать? Должен ли я отключить основную часть сайта от HTTPS и просто защитить определенные страницы, например, где бы вы ни вводили свой пароль, и все? Это то, что, кажется, делает наше соревнование.

3 ответа

Решение

Я бы взял большую часть сайта с HTTPS за некоторыми исключениями, конечно:

  1. Любые кассы или экраны редактирования аккаунта.
  2. Любые экраны, которые будут отображать "конфиденциальную" информацию.

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

Вот в чем проблема, и почему банки по-прежнему ужасно уязвимы: их целевой страницей является HTTP, поэтому он может быть посредственным. Затем у них есть ссылка для входа в систему, и страница входа в систему HTTPS.

Так что, если вы перейдете прямо на страницу входа, вы не сможете быть человеком-посредником. Но если вы перейдете на домашнюю страницу / целевую страницу, так как я контролирую это, я собираюсь переписать ссылку на страницу входа в HTTP. Затем я сделаю рукопожатие SSL со страницей входа и отправлю вам (пользователю) небезопасную версию. Итак, теперь вы (пользователь) выполняете все свои конфиденциальные транзакции - а сервер считает, что это HTTPS - а я в середине занимаюсь махинациями.

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

Как поставщик контента, вы можете попробовать вставить javascript, чтобы убедиться, что к безопасным областям вашего сайта обращаются безопасно (и надеюсь, что я, как взломщик, не удаляю этот js перед пересылкой). Вы также можете добавить свои счастливые баннеры "Пожалуйста, убедитесь, что этот сайт доступен через https".

Как пользователь, NoScript имеет возможность убедиться, что сайты в HTTPS.

Существует новая технология (я полагаю, что это маркер на записях DNS, может быть?), Поддерживаемая не всеми клиентами / серверами, которая позволяет серверу подключиться и сказать, что он доступен только через HTTPS, и умереть огненной смертью, если он MITM-ed. Я не могу на всю жизнь вспомнить или найти его в Google, хотя...

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

Другие вопросы по тегам