Насколько безопасный аутентификация канонических форм в asp.net?

Нет, нет реализации Text, которая делает это для вас напрямую.

Использование чистых кактусов:

new TextOf(
  new UncheckedScalar<>(
    new Ternary<>(
      someNullString != null,
      someNullString,
      ""
    )
  ).value()
)
20
задан NakedBrunch 25 September 2008 в 14:13
поделиться

8 ответов

У Вас все еще есть некоторые переменные, которые не составляются:

  • безопасность в хранилище данных, используемое Вашим поставщиком членства (в этом случае, база данных Sql Server).
  • безопасность других сайтов разместила в том же IIS
  • общую сетевую безопасность машин, вовлеченных в хостинг сайта, или в той же сети, где сайт размещается
  • , физическая безопасность машин, размещающих сайт
  • , Является Вами использующий соответствующие меры для шифрования трафика аутентификации? (HTTPS/SSL)

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

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

14
ответ дан 30 November 2019 в 00:59
поделиться

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

другая установка, кажется, безопасна для меня.

4
ответ дан 30 November 2019 в 00:59
поделиться

С Базовой аутентификацией HTTP, которая является тем, что использует аутентификация канонических форм.NET, для просматривания secret.aspx страницы, должен отправить браузер, Base64 закодировал конкатенацию имени пользователя и пароля.

, Если Вы не используете SSL, никто, у кого есть доступ для сканирования сети между сервером, и браузер может считать эту информацию. Они могут декодировать имя пользователя и пароль. Они могут воспроизвести имя пользователя и пароль в будущем для получения доступа к secret.aspx странице.

Тем не менее, если Вы не используете SSL, кто-то может также просканировать целую сессию кого-то еще использующего secret.aspx, поэтому в действительности, у них был бы доступ к содержанию страницы также.

3
ответ дан 30 November 2019 в 00:59
поделиться

Ну, попытайтесь заглянуть за кулисы:

Защита паролем

Приложения, которые хранят имена пользователей, пароли и другую информацию аутентификации в базе данных, никогда не должны хранить пароли в простом тексте, чтобы база данных быть украденными или поставленными под угрозу. С этой целью SqlMembershipProvider поддерживает три формата устройства хранения данных ("кодировка") для ответов пароля и паролей. Свойство PasswordFormat поставщика, которое инициализируется от passwordFormat атрибута конфигурации, определяет, какой формат используется:

  • MembershipPasswordFormat. Ясный, который хранит пароли и ответы пароля в простом тексте.
  • MembershipPasswordFormat. Хешированный (значение по умолчанию), который хранит соленые хеши, сгенерированные из ответов пароля и паролей. Соль является случайным 128-разрядным значением, сгенерированным Платформой.NET класс RNGCryptoServiceProvider. Каждая пара ответа пароля/пароля посолилась с этим уникальным значением, и соль хранится в поле PasswordSalt aspnet_Membership таблицы. Результат хеширования пароля и соли хранится в поле Password. Точно так же результат хеширования ответа пароля и соли хранится в поле PasswordAnswer.
  • MembershipPasswordFormat. Зашифрованный, который хранит ответы пароля и зашифрованные пароли. SqlMembershipProvider шифрует пароли и ответы пароля с помощью симметричного шифрования/ключа расшифровки, указанного в атрибуте decryptionKey раздела конфигурации и алгоритме шифрования, указанном в атрибуте дешифрования раздела конфигурации. SqlMembershipProvider выдает исключение, если просят зашифровать пароли и ответы пароля, и если decryptionKey установлен Автоматически сгенерировать. Это предотвращает базу данных членства, содержащую зашифрованные пароли и ответы пароля от становления недопустимым, если перемещено в другой сервер или другое приложение.

, Таким образом, сила Вашей безопасности (из поля) будет зависеть, на которой стратегии формата защиты паролем Вы используете:

  • при использовании открытого текста, очевидно, легче взломать систему.
  • Используя Зашифрованный, с другой стороны, безопасность будет зависеть от физического доступа к Вашей машине (или по крайней мере, machine.config).
  • Используя Хешированные пароли (значение по умолчанию) гарантирует безопасность в зависимости от: a) известных реверсирований стратегии хеширования класса RNGCryptoServiceProvider и b) доступа к базе данных для взлома случайным образом сгенерированной соли.

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

для получения дополнительной информации, проверьте эту ссылку: http://msdn.microsoft.com/en-us/library/aa478949.aspx

2
ответ дан 30 November 2019 в 00:59
поделиться

Если настроено правильно через поставщика членства, у Вас будет соответствующий уровень безопасности. За пределами этого доступ к той странице мог бы быть доступным посредством канонических нападений, но это имеет отношение к Вашей общей безопасности. Я дал презентацию использования Блоки Корпоративного приложения безопасности . Вы могли бы хотеть читать на тех и изучить это при реализации безопасности на сайте и просто знать об угрозах коллективной безопасности. Никакой сайт никогда не будет на 100% unhackable, учитывая, что Вы находитесь в открытой общей сети, и общая безопасность была бы отключенным сервером, привязался, сейф охранял 24/7 вооруженными силами (вокруг DOD безопасность уровня, базирующаяся Оранжевой книги). Но из функциональности поля Поставщиков Членства (при корректном конфигурировании) предложит хорошую сумму безопасности.

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

1
ответ дан 30 November 2019 в 00:59
поделиться

Asp. Сеть поддерживает сессии без cookie, как это сообщение в блоге шоу . Вместо сеансовых куки это использует идентификатор в URL для отслеживания пользователей.

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

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

0
ответ дан 30 November 2019 в 00:59
поделиться

Cookie по URL не достаточно защищены, существует столько различных проблем с ним (особенно утечка ссылающегося домена, если у Вас есть кто-либо), и использование HTTPS.

0
ответ дан 30 November 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: