Программирование / Проблема безопасности - PullRequest
1 голос
/ 06 февраля 2012

Мне нужна помощь, чтобы найти лучший способ защиты в этой ситуации.

Вот фон Это все работает во внутренней сети.Есть несколько небольших веб-сайтов с классическим ASP, который работает на IIS.все они передают имя пользователя / pw через форму и вызывают этот класс, который является dll на сервере.Который затем аутентифицируется в активном каталоге и возвращается обратно.теперь очевидно, что это не безопасно, проходя через форму в DLL.тогда это также не безопасно от DLL до активного каталога?что было бы самым простым способом обеспечить это.SSL?любые другие идеи и, пожалуйста, ответьте на этот другой вопрос DLL, если вы знаете

спасибо

1 Ответ

1 голос
/ 07 февраля 2012

Проблема со словом «безопасный» заключается в том, что это очень субъективный термин. То, что является «безопасным» или нет, действительно зависит от типа приложения и ущерба, который может быть нанесен в случае нарушения мер безопасности.

В каком-то смысле пароль не отображается в памяти в незашифрованном или даже зашифрованном виде. Однако я рискну вызвать гнев фанатиков безопасности и предположу, что наличие пароля пользователя на энергозависимой памяти ваших серверов не приведет к риску термоядерной войны и, следовательно, к приемлемому риску.

Что касается передачи его в AD, чего на самом деле не происходит, пароль не оставляет памяти сервера, чтобы уйти куда-либо еще. Вместо этого AD формулирует проблему, заключающуюся в том, что API безопасности, работающий локально на вашем сервере, может создать ответ на вооруженный пароль. Ответ на запрос отправляется обратно в AD, этот ответ не содержит пароль, но содержит подтверждение наличия правильного пароля.

Сказав, что в среде интрасети решение всех этих проблем (и побуждение пользователя снова ввести свое имя пользователя и пароль) кажется немного чрезмерным. Было бы лучше просто положиться на Windows Integrated Security.

Я прочитал ваши комментарии к SLaks о том, что "не рекомендуется использовать NTLM". Да, правда, что с современными машинами NTLM не так безопасен, как хотелось бы, но действительно ли он слишком слаб для ваших требований? Возможно, но встроенная система безопасности также может использовать Kerberos.

Так что мое предложение было бы прервать вашу dll, отключить NTLM в IIS, оставив только Kerberos для обработки аутентификации. Таким образом, вы никогда не переносите пароль куда-либо, пользователю не нужно повторно вводить свой пароль, вам ничего не нужно делать в коде, и вы избегаете использования NTLM.

...