Защита ELMAH без учетных записей администратора

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

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

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

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


person Community    schedule 27.08.2010    source источник


Ответы (1)


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

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

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

person Community    schedule 27.08.2010
comment
Ах, я забыл упомянуть, что будет несколько человек, которым действительно может понадобиться доступ к диагностике. Обычно мне не нравится, что несколько человек используют один набор учетных данных (хотя в этом случае это может быть нормально) - person Damien_The_Unbeliever; 27.08.2010