Как обеспечить изоляцию? - PullRequest
1 голос
/ 21 марта 2012

Мне нужно разрешить моим пользователям выполнять код .NET, который они предоставляют на моем сервере.Я знаю, что безопасность - это серьезная проблема, но это должно быть сделано именно таким образом.

В настоящее время я запускаю код своих пользователей под ограниченной учетной записью Windows.Но я обеспокоен тем, что .NET Framework предоставляет много классов, которые при злонамеренном использовании могут нанести вред серверу - классы в пространстве имен Reflection являются одним примером, а CodeDom - другой проблемой.

Хотелось бы, чтобы был способсоздать «легкую виртуальную среду», которая может выполнять код .NET, но полностью изолирована.Вроде как Virtual PC, но гораздо более легкий - единственная возможность состоит в том, что пользователи могут выполнять вычисления и, возможно, вызывать сторонний веб-сервис.

Есть ли на рынке что-то, что обеспечивает изолированную средудля приложений .NET?

Спасибо.

1 Ответ

1 голос
/ 21 марта 2012

.NET имеет встроенные функции безопасности , чтобы делать именно то, что вы хотите.Не зная, как запускаются их приложения .NET, я не могу точно сказать, поможет ли это вам, но если вы контролируете запуск приложений, вы можете применить контекст безопасности к их домену приложений и ограничить доступ к ним..Исходя из того, что вы сказали в исходном сообщении, если вы заблокировали почти все, кроме WebPermission (и вы даже можете ограничить его конкретными адресами ), это должно быть безопасно для работы в вашей системе.

...