Существует ли ПРАВИЛЬНЫЙ подход для обеспечения безопасности данных путем сопоставления IP-адресов? - PullRequest
0 голосов
/ 19 января 2019

Итак, вот подход, о котором я думал:

ПРОБЛЕМА: - после того, как вы сделали все возможное, чтобы защитить свои серверы и клиентское приложение. Я хотел добавить дополнительный слой, чтобы убедиться, что даже если пользователь теряет доступ к своим данным, он может реально влиять только на свое собственное небольшое пространство в общей базе данных. (очевидно, что аутентификации на месте, но это основа модели authenticatino)

Решение, которое я имел в виду: - Я хотел добавить «скрытое» поле, в котором хранятся IP-адреса пользователей. Это означает, что когда пользователь вводит обычный пароль и запись usenrame, он также должен проверить, является ли машина, которую он использует, своей собственной, и, таким образом, мы сохраняем этот IP-адрес, беря его из своего запроса. Позже, если им нужно будет снова войти в систему, они могут, но если они хотят получить данные, поиск на сервере маршрутизатора получит IP-адрес из запроса, добавьте его в сообщение как часть параметров фильтра. Как только он запрашивает базу данных, если найдена комбинация IP + данных, которую хотят пользователи, он отправляет ее обратно.

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

Есть ли более простой способ? это переоценка? Спасибо, Alex

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

1 Ответ

0 голосов
/ 20 января 2019

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

User Computer (private IP 192.168.1.x) => Gateway (some public IP address) => Your server

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

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

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

Кроме того, в случае использования общего NAT, такого как «горячая точка доступа Wi-Fi» или подключения из корпоративной сети, многие пользователи могут показаться с одного и того же общедоступного IP-адреса.

Я бы не советовал использовать IP-адрес вообще как индикатор безопасности. Вы просто получите много ложных индикаторов неверного IP-адреса, который изменился с момента последнего доступа, и вы можете даже получить ложные срабатывания, когда другой пользователь появляется на том же IP-адресе, что и законный пользователь. В наши дни NAT и мобильности не существует однозначного соответствия между публичным IP-адресом и пользователем. Попытка притвориться, что есть, вызовет все виды проблем.

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