Являются ли классы входа в ASP.NET достаточно безопасными? - PullRequest
2 голосов
/ 08 января 2012

Я создал веб-сайт, который использует классы входа в систему, которые поставляются с ASP.NET (.NET 4) для управления учетными записями пользователей и паролями.

Достаточно ли безопасны эти классы для общедоступного веб-сайта? Что если бы я разрабатывал веб-сайт банка вместо глупой пользовательской CMS для паба?

Обновление: я не знал, что в ASP> NET были другие классы входа. Я ссылаюсь на это. http://msdn.microsoft.com/en-us/library/ms178329.aspx

Ответы [ 2 ]

2 голосов
/ 08 января 2012

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

1 голос
/ 20 апреля 2012

FormsAuthentication широко используется и относительно безопасна при правильной настройке.

Убедитесь, что вы добавили свой MachineKey (вы можете сгенерировать его здесь http://aspnetresources.com/tools/machineKey, который является той же ссылкой, что и на сайте MSDN)

  • Если это защищенная часть системы; рассмотрите возможность установки тайм-аутов сеанса на низкое значение (10/15 минут - это удобство в сравнении с безопасностью).
  • Убедитесь, что ваш членский провайдер настроен на хороший алгоритм HASH, т.е. <membership userIsOnlineTimeWindow="15" hashAlgorithmType="SHA512">
  • и сам провайдер настроен на хеширование, а не шифрование passwordFormat="Hashed"
  • и что ваш RoleManager (если вы используете роли) и раздел аутентификации форм содержат конфигурацию для файлов cookie; cookieProtection="All"

Система сброса пароля в ней - шутка; Я не буду копировать и вставлять себя, но вы можете увидеть предпочтительный способ сброса паролей здесь https://stackoverflow.com/questions/10213124/combine-passwordrecovery-and-changepassword-control/10237107#10237107

Это в основном хорошее начало; Вы также можете посмотреть руководство по безопасности членства в Troy Hunts http://www.troyhunt.com/2010/07/owasp-top-10-for-net-developers-part-3.html

Oh и Всегда собирать информацию о пользователях / обрабатывать входы в систему / и регистрации через HTTPS (SSL). И попробуйте использовать какой-нибудь токен проверки (есть один в MVC https://www.google.co.uk/search?sourceid=chrome&ie=UTF-8&q=msdn+AntiForgeryToken),, это уменьшает ландшафт атаки для CSRF и в основном грубое форсирование.

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