Подтвердить что ты не робот

Рекомендации по безопасности ASP.NET

Каковы другие рекомендации по безопасности ASP.NET?

До сих пор указанные здесь перечислены:

  • Всегда создавайте новые ключи шифрования и пароли администратора всякий раз, когда вы перемещаете приложение в производство.

  • Никогда не храните пароли напрямую или в зашифрованном виде. Всегда хранятся односторонние хэшированные пароли.

  • Всегда сохраняйте строки подключения в теге Web.config и зашифровывайте их в разделе конфигурации с помощью защищенных поставщиков конфигурации (RSA или DPAPI). См. пример здесь

  • Используйте идентификатор пользователя с наименьшими привилегиями для подключения к SQL-серверу или используемой базе данных. Например, если вы выполняете только хранимые процедуры из определенного модуля приложения, тогда вы должны создать идентификатор пользователя, который имеет разрешения только для выполнения.

  • Используйте PrincipalPermission, если вы хотите использовать защиту на основе ролей на страницах.

    [PrincipalPermission(SecurityAction.Demand, Role="Admin")]  
    public class AdminOnlyPage : BasePageClass  
    {  
      // ...  
    }
  • Всегда используйте параметры, чтобы предотвратить SQL Injection в SQL-запросах.

    • Рассмотрите возможность установки URLScan на своих серверах IIS для защиты от SQL Injection. Кроме того, для защиты от атак XSS. Вы можете использовать библиотеку MSFT AntiXSS вместо встроенного для кодирования вывода вместо встроенного HtmlEncode, найденного в HttpServerUtility.
  • Всегда сохраняйте customErrors в веб-конфигурации, чтобы сделать ваши ошибки/исключения конфиденциальными

    < customErrors mode = "On" defaultRedirect = "MyErrorPage.htm" / >

  • В веб-приложениях всегда проверяйте пользовательские входы для тегов html или любых скриптов.

  • Никогда не храните конфиденциальную информацию, например пароли в файлах cookie.

  • Не отображать сообщения об ошибках системы, следы стеков и т.д., в случае исключения.
4b9b3361

Ответ 3

  • Никогда не храните конфиденциальную информацию, такую ​​как пароли, в файлах cookie.
  • Не отображать сообщения об ошибках системы, следы стеков и т.д. в случае исключения.

Ответ 5

При отображении содержимого из базы данных на странице вы можете использовать HttpServerUtility.HtmlEncode для кодирования вывода, чтобы избежать атак типа Cross Site scripting (XSS).

Ответ 6

Рассмотрите возможность установки URLScan на своих серверах IIS для защиты от SQL Injection.
Кроме того, для защиты от атак XSS я использовал бы библиотеку MSFT AntiXSS вместо встроенного для кодирования вывода вместо встроенного HtmlEncode, найденного в HttpServerUtility.