Безопасность в Appfabric кешировании
Мы разрабатываем систему с кешированием Appfabric. Мы задаемся вопросом о безопасности.
Как сервер, имеющий элемент кэша, знает, что запрос на элемент поступает с другого сервера в кластере кэша или авторизованного сервера?
Что нас беспокоит: может ли кто-нибудь, имеющий доступ к порту кеша Appfabric, читать элементы из кеша?
2 ответа
Нет, доступа к порту недостаточно для чтения элементов кэша.
AppFabric Cache использует внутреннюю связь WCF через net.tcp. Таким образом, безопасность Windows включена по умолчанию. Когда ваш клиентский код обращается к кешу, это приводит к передаче идентификатора процесса. В кластере кеша проверяется идентичность, и если вы не предоставили доступ к кешу для этого удостоверения, запрос отклоняется (вы видите это как странное "Временная ошибка. Повторите попытку позже").
Обычно для создания пула процессов / приложений создается специальная учетная запись. Вы можете предоставить доступ с помощью Caching Administration Windows PowerShell:
PS C:\Windows\system32> Grant-CacheAllowedClientAccount YOURDOMAIN\ProcessAccount
Для проверки доступа используйте следующую команду:
PS C:\Windows\system32> Get-CacheAllowedClientAccounts
Administrators
NETWORKSERVICE
IIS APPPOOL\ASP.NET v4.0
YOURDOMAIN\ProcessAccount
Надеюсь это поможет.
Можно настроить кэш appfabric для шифрования и аутентификации соединений от клиента.
Тем не менее, мы используем алгоритм шифрования для хранения конфиденциальных данных в кеше и бэкэнде SQL. Таким образом, мы можем убедиться, что все данные, хранящиеся в обеих системах, защищены.