Защита ELMAH без учетных записей администратора - PullRequest
0 голосов
/ 27 августа 2010

Я хочу защитить ELMAH в интернет-приложении. Система использует проверку подлинности с помощью форм, но в настоящее время не имеет учетных записей не пользователей (например, администраторов). Учетные записи пользователей настраиваются в автоматическом режиме.

Я действительно не хочу вводить в систему какие-либо учетные записи администратора (текущая схема БД для пользователей была бы совершенно неприемлемой для хранения пользователя-администратора), поэтому я подумал о том, чтобы испортить проверку подлинности с помощью форм, проверив наличие SSL-сертификат клиента. Если я выберу все правильные параметры в IIS, я уверен, что смогу гарантировать, что только сертификаты, выданные нашим внутренним центром сертификации (в настоящее время используемые для непроизводственных сайтов, нуждающихся в сертификатах SSL), будут передаваться в ASP.Net.

Затем я могу использовать наличие действительного ClientCertificate (проверяя свойства IsPresent и IsValid объекта Request.ClientCertificate), чтобы узнать, что это соединение от внутреннего пользователя, и установить для файла cookie проверки подлинности с помощью форм «Diagnostic» или «Admin» (Или любое другое специальное имя пользователя), а затем защитите elmah.axd, используя любой из обычных методов, предложенных для этого с помощью проверки подлинности с помощью форм.

Итак, мой вопрос - я слишком усложняю вещи, упускаю что-то очевидное, открываю огромную дыру в безопасности и т. Д.?

1 Ответ

1 голос
/ 27 августа 2010

Почему бы вам просто не сохранить учетные данные учетной записи администратора в Web.Config и заблокировать URL-адрес с помощью проверки подлинности с помощью форм?

Редактировать

Хорошо, если приложение в любом случае полностью внутреннее, почему бы не защитить подкаталог вашего сайта (например, myapplication.domain.com/exceptions/elmah.axd или даже просто myapplication.domain.com/elmah.axd) с помощью Active Directory и установить авторизацию через IIS?

...