Насколько безопасно сделать конечную точку Remote Powershell (он же PSRemoting) рабочего сервера доступной из Интернета?
Мы не банк или что-то еще, но сервер хранит конфиденциальные корпоративные данные.
Я намереваюсь обеспечить это:
- Использование IP-фильтрации позволяет принимать соединения только из нашего общедоступного диапазона IP-адресов, чтобы мы могли управлять им из другой части нашей сети.
- Если конечная точка принимает только SSL-соединения
- Разрешить соединения только ограниченному кругу пользователей со сложным паролем (энтропия ~ 150 бит)
- Использование PSSessionConfiguration , для которого
LanguageMode
установлено значениеNoLanguage
, так что могут выполняться только сценарии - Требование, чтобы все сценарии Powershell, которые выполняются таким образом, были подписаны (
Set-ExecutionPolicy RemoteSigned
)
С другой стороны:
- Удаленные сценарии будут выполняться под учетной записью локального администратора
- без ограничений для командлетов / модулей, которые он может вызывать.
- Я подозреваю, что служба WinRM (которая делает возможным PSRemoting) достаточно безопасна для доступа в Интернет (по умолчанию в виртуальных машинах Azure есть такая возможность), но у меня нет никаких доказательств этого.
Итак, я предполагаю, что мой вопрос: это «безопасно», или есть векторы атаки, которые я здесь пропускаю?
Кстати, у меня есть большая часть моей информации от удаленного eBook Secrets of Powershell.