Ограничение доступа к группам пользователей в OpenVPN

Я просто использовал инструкции в этом руководстве для установки OpenVPN на сервере CentOS 7. я смогу ssh а также https в удаленный сервер CentOS 7 через VPN с клиентского компьютера. Тем не менее, похоже, что пользователь имеет полный доступ ко всем аспектам удаленного сервера. Это хорошо для учетной записи администратора, но этот уровень доступа был бы ужасным, если бы он применялся к обычным учетным записям пользователей.

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

1 ответ

Решение
  1. Создайте несколько экземпляров OpenVPN на сервере, назначив им статические имена интерфейсов, затем создайте межсетевой экран на основе интерфейса (iptables) правила. Экземпляры могут прослушивать разные порты или IP-адреса. Каждый экземпляр должен иметь собственный SSL CA для подписи сертификатов доступа.

  2. Если вы хотите избежать нескольких экземпляров, создайте статические сопоставления CN -> IP с помощью правил ccd или (менее безопасных) ipp (обратитесь к man openvpn для деталей). Поместите административную подсеть в конец диапазона IP-адресов VPN, чтобы незарегистрированные пользователи получили непривилегированные IP-адреса. Тогда снова iptables разрешить / запретить доступ с IP-адресов к сервисам.

  3. Есть и другие параметры, такие как аутентификация PAM или даже LDAP в дополнение к безопасности TLS. Я могу подробнее остановиться на этом, если вам это действительно нужно, но это усложняет ситуацию без особой гибкости.

(все вышеизложенное при условии, что вы используете полную аутентификацию TLS, а не только статический ключ)

Другие вопросы по тегам