насколько безопасно сделать удаленную конечную точку Powershell (также называемую PSRemoting) рабочего сервера доступной из интернета?
Мы не банк и все такое, но сервер хранит конфиденциальные корпоративные данные.
Я намерен обеспечить его:
- использование IP-фильтрации только для приема соединений из нашего собственного диапазона публичных IP, так что мы можем управлять им из другой части нашей сети.
- конечная точка принимает только SSL соединения
- разрешать только соединения от ограниченного набора пользователей со сложным паролем (~150 бит энтропии)
- использование PSSessionConfiguration, который имеет
LanguageMode
значениеNoLanguage
, так что только скрипты могут быть выполнены - требуется, чтобы все сценарии Powershell, выполняемые таким образом, были подписаны (
Set-ExecutionPolicy RemoteSigned
)
С другой стороны:
- удаленные скрипты будут выполняться локальным администратором аккаунт
- без ограничений на командлеты / модули, которые он может вызывать.
- Я подозреваю, что служба WinRM (которая делает возможным PSRemoting) достаточно безопасна для доступа к интернету (Azure VM имеют это по умолчанию), но у меня нет доказательств этого.
Итак, я думаю, мой вопрос: это "безопасно", или есть векторы атаки, которые мне здесь не хватает?
кстати, у меня есть большая часть моей информации из бесплатной электронной книги секреты Powershell remoting.