Я не знаю о любом программном обеспечении прокси для RDP, но что должно быть возможным, должен установить VPN (PPTP, IPSEC и т.д.) к одному из удаленных серверов и NAT соединение позади IP-адреса сервера. Это установит связь, кажется, прибывают из IP сервера, и должно быть намного легче усовершенствовать VPN.
Если один из удаленных серверов выполняет пользу Linux/BSD с OpenSSH, Вы могли бы также использовать Шпаклевку для туннелирования. В Шпаклевке, перед соединением переходят к "Соединению-> SSH-> Туннели". Под разделом "Add new forwarded port", но исходным портом как 66 389, и место назначения, поскольку "Добавляют" $rdpip:3389 и хит. Затем откройте соединение как нормальное. Затем скажите удаленному рабочему столу соединяться с localhost:63389, и он использует туннель и, будет казаться, прибудет из IP-адреса ssh сервера.
Если вы не хотите переписать в значительной степени всю refpolicy , я не вижу смысла в новой роли. Обратите внимание, что после его создания вам необходимо создать собственные правила политики буквально для каждого модуля , который эта роль должна иметь возможность использовать.
Моя идея предоставить пользователю ограниченную роль администратора реализована автор:
guest_u
, это сильно ограниченный (и уже существующий) пользователь SELinux. sudo
, позволяющие конкретным людям запускать определенные команды на определенных машинах с определенной ролью и типом SELinux. rbash
, ограниченный ПУТЬ
, аутентификация 2FA, правильная авторизация, ...) Ключевым моментом здесь является возможность предоставить непривилегированный guest_u
пользователь может запускать команду с повышенными привилегиями , не покидая своего ограниченного отображения пользователя SELinux .
Подробности смотрите на странице sudoers (5)
.
Cmnd_Spec ::= Runas_Spec? SELinux_Spec? Tag_Spec* Cmnd
SELinux_Spec В системах с поддержкой SELinux записи sudoers могут дополнительно иметь роль и / или тип SELinux, связанные с командой. Если роль или тип указаны с помощью команды, они переопределят любые значения по умолчанию, указанные в sudoers. Однако роль или тип, указанные в командной строке, будут заменять значения в sudoers.
Чтобы проверить поддержку SELinux в sudo
, выполните:
# ldd $(which sudo) | grep selinux
В RHEL, sudo
] по умолчанию включена поддержка SELinux.
Используйте sepolicy из пакета policycoreutils-devel в вашем дистрибутиве RedHat. Чтобы добиться того, что вы просили, вам нужно использовать следующее:
sepolicy generate --confined_admin -n NAME [-a ADMIN_DOMAIN] [-u USER]
Это сгенерирует политику, которую вы можете скомпилировать (make -f /usr/share/selinux/devel/Makefile
) в модуль, который вы можете установить с помощью -i
, но, пожалуйста, сначала проверьте полученный .te файл и настройте его так, как вам удобно. Обратите также внимание, что генератор по умолчанию вставляет разрешительный домен в политику. Поэтому, как только вы довольны созданной политикой -- вам нужно удалить разрешительный домен, перекомпилировать политику с помощью make -f /usr/share/selinux/devel/Makefile
и выключить :)