У меня есть .Net Library, работающая как служба Windows, и вызывается с использованием .Net Remoting с TCP-соединением. Есть ли способ ограничить приложения, которые могут вызвать эту услугу, т.е. e., могу ли я указать, что только приложениям aa.exe и bb.exe разрешено вызывать эту службу и отклонять вызовы из других приложений?.Net Remoting security
ответ
This MSDN article описывает, как использовать аутентификацию с удаленным каналом TCP.
Вы можете пройти аутентификацию по идентификатору или по IP-адресу, но вы не будете знать, какое приложение выполняется на клиенте.
Чтобы ограничить доступ к конкретным приложениям, вам необходимо предоставить настраиваемый механизм для этих приложений, чтобы они могли предоставлять учетные данные службе удаленного доступа, и вам нужно будет предпринять шаги для обеспечения того, чтобы эти учетные данные не могли быть используемые другими приложениями.
Но это не реально: вы можете, например, внедрить такие учетные данные в соответствующие исполняемые файлы aa.exe и bb.exe и, возможно, запутать их, чтобы затруднить их обнаружение, но определенный злоумышленник сможет получить их и использовать их из другого приложения.