Ответ 1
Я нашел Microsoft Код Highway для разработчиков, чтобы быть полезным контрольным списком безопасности.
Каковы другие рекомендации по безопасности ASP.NET?
До сих пор указанные здесь перечислены:
Всегда создавайте новые ключи шифрования и пароли администратора всякий раз, когда вы перемещаете приложение в производство.
Никогда не храните пароли напрямую или в зашифрованном виде. Всегда хранятся односторонние хэшированные пароли.
Всегда сохраняйте строки подключения в теге Web.config и зашифровывайте их в разделе конфигурации с помощью защищенных поставщиков конфигурации (RSA или DPAPI). См. пример здесь
Используйте идентификатор пользователя с наименьшими привилегиями для подключения к SQL-серверу или используемой базе данных. Например, если вы выполняете только хранимые процедуры из определенного модуля приложения, тогда вы должны создать идентификатор пользователя, который имеет разрешения только для выполнения.
Используйте PrincipalPermission, если вы хотите использовать защиту на основе ролей на страницах.
[PrincipalPermission(SecurityAction.Demand, Role="Admin")] public class AdminOnlyPage : BasePageClass { // ... }
Всегда используйте параметры, чтобы предотвратить SQL Injection в SQL-запросах.
Всегда сохраняйте customErrors в веб-конфигурации, чтобы сделать ваши ошибки/исключения конфиденциальными
< customErrors mode = "On" defaultRedirect = "MyErrorPage.htm" / >
В веб-приложениях всегда проверяйте пользовательские входы для тегов html или любых скриптов.
Никогда не храните конфиденциальную информацию, например пароли в файлах cookie.
Я нашел Microsoft Код Highway для разработчиков, чтобы быть полезным контрольным списком безопасности.
У Microsoft есть что сказать по этому поводу:
Ознакомьтесь с новым механизмом обеспечения безопасности (бета-версия появилась 14 ноября):
http://blogs.msdn.com/cisg/archive/2008/10/24/a-sneak-peak-at-the-security-runtime-engine.aspx
http://blogs.msdn.com/cisg/archive/2008/11/13/an-update-on-some-upcoming-free-tools.aspx
Это должно заменить текущую библиотеку Anti-XSS.
Энтони:-) www.codersbarn.com
При отображении содержимого из базы данных на странице вы можете использовать HttpServerUtility.HtmlEncode для кодирования вывода, чтобы избежать атак типа Cross Site scripting (XSS).
Рассмотрите возможность установки URLScan на своих серверах IIS для защиты от SQL Injection.
Кроме того, для защиты от атак XSS я использовал бы библиотеку MSFT AntiXSS вместо встроенного для кодирования вывода вместо встроенного HtmlEncode, найденного в HttpServerUtility.
Вам может быть интересна эта статья Рекомендации по безопасности: приложения ASP.NET. НТН