Знакомство с веб-разработкой и создание хороших веб-сайтов. Будем очень благодарны за любые общие типы/ответы на любые из ниже.Безопасное веб-программирование - Лучшая практика аутентификации пользователей
Так есть некоторые вопросы, на стороне аутентификации вещей:
- Как следует Введенный пароль на клиенте кодируются и отправляются на сервер - если HTTPS уже используется? Я слышал о некоторых, предполагающих, что для обеспечения безопасности, например, отправляется только хеш. Должна ли быть зашифрована клиентская сторона - как?
-
- Аналогичные, но на стороне сервера. Как сохранить пароли. Фактический, хеш и т. Д.? Должны ли они быть зашифрованы - как?
Кроме того, существует ли архитектура, которая может защитить пароли таким образом, что если один пароль будет скомпрометирован, а не все остальные? Например, если все пароли хранятся в одном файле, доступ к только одному файлу может скомпрометировать каждого пользователя в системе. - Если нужно хранить только хеши - как обрабатывать столкновения?
- Аналогичные, но на стороне сервера. Как сохранить пароли. Фактический, хеш и т. Д.? Должны ли они быть зашифрованы - как?
- После аутентификации следует ли просто полагаться на идентификаторы сеансов, чтобы поддерживать аутентифицированный статус повсюду? Я читал о советах по сокращению сессионного highjacking и поэтому задавался вопросом, является ли это хорошей идеей/единственной идеей, в первую очередь, для обеспечения аутентификации пользователей.
- Существует ли безопасный способ предоставления функции autoLogIn, чтобы браузер помнил пароль, похожий на клиентов социальной сети/веб-электронной почты? ------------- Дополнительные - предотвращение атак
-
- Существуют ли какие-либо инструменты или даже просто некоторые общие методы там, которые должны быть применены к имени пользователя/пароля записи, предоставленные для предотвращения инъекций или любых других видов атак?
- Если я использую среду разработки Java (с использованием PlayFrameWork btw), насколько вероятно, что злоумышленники могут включать вредоносные фрагменты кода любого вида в записи любой формы?
PS Как уже упоминалось, я, вероятно, будет с помощью Java PlayFrameWork для кодирования веб-сайт - вы можете предложить что-то я должен принять во внимание это?
Любые советы по шаблонам проектирования, которые должны соблюдаться в целях безопасности, были бы полезными.
Many Thanks PPS Вы можете предложить передать работу специалисту, но, если возможно, я хотел бы иметь некоторый опыт, кодирующий его сам. Надеюсь, что это жизнеспособный вариант? Возможно, вам захочется создать систему электронной коммерции FYI.
Эй, большое вам спасибо - это действительно информативно. Два вопроса. Не могли бы вы объяснить или связать немного больше о привязке каналов? Что это такое? Во-вторых - скажите, что вы хотите отправить какую-либо конфиденциальную информацию - (номер кредитной карты, что угодно), достаточно ли безопасно полагаться на https для шифрования или использовать другое шифрование? Будет ли работать с этим методом PKI? –
«Скажите, что вы хотите отправить некоторую конфиденциальную информацию (номер кредитной карты, что угодно) ...« Номер кредитной карты - это конфиденциальная информация, точно так же, как пароль, и она будет подвержена тем же рискам. Разница в том, что ваша организация страдает, когда утерян единственный пароль для входа; в то время как банк терпит потерю номера кредитной карты. Таким образом, риск на кредитной карте почти не существует с вашей точки зрения, потому что внешний субъект терпит его (по модулю теряя номер карты, чтобы совершать автоматические платежи одним щелчком). – jww
«... немного больше о привязке каналов» - привязка канала - это концепция, в которой безопасная настройка канала и аутентификация пользователя объединяются в единую логическую операцию. В настоящее время наиболее часто используемые системы не пересекаются - безопасная настройка канала происходит на уровне сокета; тогда как аутентификация пользователя происходит на уровне приложения. На практике мы знаем, что плохие парни используют недостатки техники безопасности. Нико Уильямс работает над общей спецификацией стандартизации IETF: [Об использовании привязок каналов к защищенным каналам] (http://tools.ietf.org/search/rfc5056). – jww