Я использую Windows 7 - 64 бита.
У меня есть программа, которая работает в режиме клиент-сервер , это: на самом деле есть две программы (клиент и сервер), которые работают на одном компьютере с Windows.
Клиент устанавливает коммуникацию с сервером через TCP 7070 порт.

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

Программа сервера прослушивает, как сказано, по порту 7070 TCP:

C:\>netstat -ano | find "7070" /i
  TCP    127.0.0.1:7070         0.0.0.0:0              LISTENING       9804

Он только слушает соединения с локального компьютера, поэтому строка выше читает 127.0.0.1:7070 вместо 0.0.0.0:7070 .

Есть ли способ разрешить подключение только определенным пользователям или группам? Я не знаю, является ли это вопросом брандмауэра, потому что в моей локальной сети нет строго сетевого трафика.

ПРИМЕЧАНИЕ: для тех, кто заинтересован, это точная программа. Я разрабатываю несколько обходных путей для этого недостатка безопасности (о котором я, возможно, опубликую на форуме StackOverFlow), но ни один из них не работает с сетевым портом.

1 ответ1

1

Краткий ответ: Нет.

Более длинный ответ: кажется, вы спрашиваете об ограничении того, кто может подключаться к самому порту TCP, и это намного ниже уровня, где у вас даже есть такие понятия, как "пользователи", "аутентификация" и "авторизация" - все, что вы Вам нужно будет получить то, что вы просите. На этом уровне у вас есть только компьютеры и сети.

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

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

В качестве альтернативы вы можете настроить VPN, которая позволяет подключаться к ней только авторизованным пользователям, а затем разрешить подключаться к вашей программе только пользователям в VPN. Если вы хотите пойти по этому пути, вам нужно будет добавить в Google некоторые руководства по настройке, потому что "Как настроить VPN" выходит за рамки простого сайта вопросов и ответов, такого как этот.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .