4

Я настроил сеть обслуживания через OpenVPN. Однако, когда я захожу на компьютер (например, через удаленный рабочий стол), и кто-то другой одновременно использует его, я должен либо согласиться с тем, что она может получить доступ к VPN после того, как я установил соединение, либо мне нужно заставить ее выйти.

И то и другое неоптимально.

Можно ли установить ACL для сетевых карт? Или иначе отключить доступ к сети для определенного пользователя? Мне нужно это на XP и 7, но решение, работающее только для одного из них, уже является большим улучшением.

5 ответов5

1

Краткий ответ: нет. Для этого нет ничего встроенного в Windows.

Можно ли что-то написать для этого? Абсолютно. Вы могли бы сделать это, написав драйвер устройства, который перехватывал вызовы winsock, определял, откуда они поступают через владельца процесса, а затем определял, позволят ли они продолжить вызов.

Конечно, я сомневаюсь, что ты хочешь сделать это. Просто, чтобы вы почувствовали себя лучше, ничего подобного в Linux или OS X тоже нет. Проблема в том, что сетевой код обычно выполняется через системные вызовы, а на уровне ядра ОС не знает о пользователях.«Если ваше кольцо 0 код, вы можете сделать что-нибудь.

0

Я вижу две возможности:

  1. Используйте виртуальную машину, которая работает в вашей пользовательской сессии, и используйте эту виртуальную машину в качестве клиента OpenVPN. Сетевой доступ к серверу OpenVPN и целевой сети будет возможен только изнутри виртуальной машины - следовательно, только вами.

  2. Другой возможностью может быть (не проверял) использование брандмауэра Windows. В случае, если вы используете Windows 7, вы можете заблокировать сетевой трафик в сети OpenVPN, указав диапазон IP-адресов. После этого вы явно разрешаете те приложения, которые вам нужны. Конечно, эти инструменты должны быть настроены с помощью ACL файловой системы, чтобы только вы могли выполнять их.

0

OpenVPN имеет функции, которые позволяют вам:

  • использовать клиентские сертификаты, чтобы вы знали, кто подключается к концу сервера OpenVPN
  • назначить фиксированный IP-адрес для данного сертификата на стороне клиента.
  • и другие вещи, основанные на сертификате на стороне клиента.

Учитывая это, вы можете выдать клиентский сертификат пользователю, а затем внедрить политики брандмауэра на стороне сервера и запретить пользователю доступ к ресурсам, к которым ему не нужен доступ.

0

К сожалению, ACL нельзя применять к устройствам или частям сетевого стека, таким как потоки TCP/UDP/Raw. Это известная проблема в Windows, и, надеюсь, будет исправлена в следующем выпуске.

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

0

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

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