Надежные способы регистрации компьютера пользователя на сервере - PullRequest
0 голосов
/ 31 января 2012

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

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

Ответы [ 2 ]

0 голосов
/ 31 января 2012

лучшие способы зарегистрировать компьютер пользователя в качестве второго уровня проверки

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

Как вы описываете, этот шаг должен быть правилом настройки в брандмауэре для приема соединений только с определенных IP-адресов.

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

0 голосов
/ 31 января 2012

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

Это, конечно, не идеальное решение. На самом деле, это представляет собой те же слабости, что и другие решения (в различной степени). Как только ваши сертификаты идентификации клиента перейдут к вашим клиентам, они будут вне вашего контроля; Если клиент передаст свой сертификат кому-либо еще, вы потеряете аутентификацию устройства, основанную на нем. Сертификаты идентификации SSL обычно хранятся в хранилище ключей на клиенте, которое шифруется паролем или другими учетными данными, необходимыми для их разблокировки. Хотя сертификат клиента все еще может быть скомпрометирован, он несколько сильнее, чем просто cookie или что-то в этом роде (при условии, что у вас нет клиента, который пытается выдать свои учетные данные). Кроме того, вы хотели бы придумать некоторую процедуру проверки, которую клиент должен будет пройти, хотя бы для того, чтобы получить учетные данные в первую очередь (откуда мне знать, что это клиентское устройство, которое я хочу запомнить / зарегистрироваться?).

Помните, что эти типы подходов выполняют только аутентификацию device , а не пользователей. Для проверки подлинности устройства уже разработано больше углубленных схем, чем я упомянул; например, 802.1x - это сетевой протокол, в котором конечной точке необходимо предоставить сертификат на стороне клиента сетевому коммутатору для подключения к локальной сети. Это выходит за рамки сценария веб-приложения, например, того, что вы описали, но идея та же (наложите криптографические учетные данные на клиент и проверьте его для установления соединения).

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

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