Вопрос

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

Какие рекомендации следует иметь в виду при разработке страницы входа в систему?

Некоторые вопросы, которые возникли в связи с этой проблемой:

  • Важно ли, чтобы страница входа в систему всегда выглядела одинаково на каждом дисплее?
  • И наоборот, было бы выгодно, чтобы страница входа в систему имела случайный дизайн?
  • Лучше ли, чтобы страница входа выглядела так же, как все ваши другие страницы, или у нее должен быть свой собственный уникальный дизайн?
  • Если страница входа имеет свой собственный уникальный дизайн, должна ли она включать другие постоянные элементы дизайна вашего сайта (например, глобальную навигацию)?
  • Является ли страница входа в систему подходящим местом для предоставления пользователю дополнительного контента (например, последних новостей)?
  • Существуют ли какие-либо дополнительные функции безопасности, которые следует включить, чтобы помочь обеспечить безопасность людей?
Это было полезно?

Решение

Примечания по удобству использования:

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

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

Другие советы

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

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

С технической точки зрения Bank Of America выполняет это с помощью локального общего объекта Flash, называемого PassMark.Ваш браузер автоматически отправляет обратно эти данные, идентифицирующие вас, в Банк.Если вы удалите LSO, то вам не будет показано ваше изображение, потому что BofA не сможет вас идентифицировать.Даже это все еще уязвимо для атак типа "человек посередине".

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

В журнале Smashing Magazine есть довольно полная информация о формах входа в систему.Шаблоны проектирования веб-форм:Формы для регистрации

включить предотвращение dos на уровне приложения

Будьте неспецифичны при сбое входа в систему.Общее "Ошибка входа в систему" вместо "Неизвестное имя пользователя".

Используйте капчу или другой тест Тьюринга.

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

Я согласен с Omniwombat.Фишинг - это трудноразрешимая проблема, и, казалось бы, ее невозможно решить полностью.

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

Если вы пытаетесь предотвратить отказ в обслуживании, то, возможно, сделайте так, чтобы капча отображалась только после достаточного количества (неудачных?) попыток входа в систему за определенный период времени.

Рассмотрите возможность использования NTLM, OpenID или Shibboleth, чтобы сделать вход в систему максимально автоматическим для большинства пользователей.

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

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

Это работает не во всех браузерах (если я помню, IE 6+ и Firefox 3+)

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

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

@Джо Ленсиони и все остальные, кто интересуется Shibboleth

Страницы вашего сайта должны иметь в целом одинаковый внешний вид на каждой странице.

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

Если вы являетесь ИП, у вас есть любая гибкость, которую вы пожелаете, чтобы привязать своих пользователей к IdP, чтобы они могли войти в систему.Многие ИП создают свою собственную страницу WAYF (Откуда вы), которая перенаправляет пользователя на страницу входа IdP.

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

Что касается фишинговых мошенничеств, важно поддерживать актуальность метаданных Shibboleth.Я полагаю, что многие Федерации рекомендуют загружать метаданные каждые (1) час.

Здесь можно найти ответы на многие вопросы Шибболета: https://spaces.internet2.edu/display/SHIB2/Home

Надеюсь, это поможет вам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top