Здесь есть различные уровни «безопасности».
Да, IIS настроен так, чтобы не обслуживать файлы .cs или .config. Тем не менее, есть векторов атаки , которые оказались успешными в получении IIS для передачи этих файлов в руки злодеев.
Во-первых, я бы не стал развертывать файлы .cs на сервере. Если возможно, преобразуйте веб-сайт в веб-приложение и разверните его скомпилировано. Конечно, код .net может быть декомпилирован ( и здесь ); поэтому вы также должны заглянуть в обфускацию . Однако даже обфусцированный код может быть декомпилирован , но обычно его труднее читать. ;)
Обратите внимание, что каждый уровень не является действительно "безопасным". Это только усложняет.
Реальный ответ - вообще не хранить учетные данные на сервере и требовать, чтобы они были предоставлены клиентом через зашифрованный транспорт. Конечно, вы можете кэшировать их в памяти, но даже , который оказался небезопасным для тех, кто имеет физический доступ .
В конце дня спросите себя, насколько ценны ключи и сколько денег / времени вы можете инвестировать в защиту системы. Обычно где-то есть баланс.