Является ли общедоступный IP-адрес клиента хорошим маркером безопасности? - PullRequest
2 голосов
/ 11 июня 2011

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

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

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

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

Там, где моя проблема, что я должен делать, если мойзаконно вошедший в систему клиент теряет подключение к Интернету и восстанавливает его с другим IP-адресом, поскольку его / ее провайдер сдает в аренду динамические IP-адреса.Мой текущий алгоритм скажет: «Ага! Это злоумышленник! Закройте эту сессию!».

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

Должен ли я отказаться от проверки IP-адреса?

Ответы [ 2 ]

3 голосов
/ 11 июня 2011

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

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

Имейте в виду, что злоумышленник, который может перехватить связь между вашим сервером и клиентом, может такжеобщаться с IP-адресом клиента.Это тривиально, если он находится в локальной сети клиента, а в остальном все просто.Таким образом, по сути вы защищаетесь от почти пустого набора злоумышленников, которые полностью некомпетентны и могут перехватывать сетевой трафик в относительно безопасных сетях с высокой пропускной способностью (локальная установка или основные интернет-маршрутизаторы).

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

1 голос
/ 11 июня 2011

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

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

Это может также дискриминировать любого, кто пытается использовать tor или другие схемы безопасного просмотра.

...