Безопасность IIS

       

Перечень девяти аспектов безопасности, о которых должен знать разработчик


Убедитесь, что разработчики выполняют следующие девять правил при создании динамического содержимого для сервера IIS.

  1. Указывать кодировку в начале каждой страницы.
  2. Фильтровать и кодировать все данные формы. Разработчикам следует обратиться к материалу CERT за информацией о вредоносных тегах HTML по адресу www.cert.org/advisories/CA-2000-02.html, затем изучить следующие статьи базы знаний Microsoft Knowledge Base:
    • Q252985 HOWTO: Prevent Cross-Site Scripting Security Issues;
    • Q253119 HOWTO: Review ASP Code for CSSI Vulnerability.
  3. Фильтровать и кодировать все данные cookie. Значения, считываемые из элементов cookie, не должны восприниматься как доверенное содержимое, поэтому они должны фильтроваться и кодироваться согласно пункту 2 данного перечня. Никогда не храните важную информацию в постоянных элементах cookie.
  4. Использовать шифрование SSL для отправки и приема любой важной информации. Пароли, информация о кредитных картах и любые персональные данные идентификации должны передаваться только через защищенное SSL-соединение.
  5. Отключить функцию автозавершения в Internet Explorer для полей паролей. Добавьте атрибут AUTOCOMPLETE=OFF в тег <FORM> или <INPUT> всех форм, используемых для запроса паролей. Например: <INPUT TYPE=password NAME=Password SIZE=16 MAXLENGTH=16 AUTOCOMPLETE=OFF>
  6. Завершать сеансы после пятиминутного простоя. По умолчанию значение параметра Connection Timeout (Время простоя соединения) в IIS равно 900 секундам. Смените это значение на 300 секунд с помощью Internet Services Manager (Диспетчер служб интернета). В качестве альтернативы, если пользователи осуществляют вход на сайт, вводите следующий код вверху каждой страницы: <SCRIPT Language="JavaScript"> <!-- window.setTimeout("window.navigate('Logoff.asp')", 300000); //--></SCRIPT>

    Пользователи будут перенаправляться на страницу Logoff.asp после пяти минут отсутствия каких-либо действий.

  7. Удалять из кода все комментарии. Хорошие разработчики всегда качественно комментируют создаваемый ими код, однако эти комментарии необходимо удалять на страницах, загружаемых на веб-сервер, потому что они могут стать подсказками для хакеров.
  8. Использовать компонент COM+ для хранения информации о подключениях к базе данных. Многие разработчики сохраняют информацию о подключениях базы данных в файле global.asa. Эта информация содержит имя сервера, имя базы данных, имя пользователя и пароль базы данных, поэтому она должна быть защищена. Обратитесь к разделу "Parsing the COM+ Constructor String" по адресу http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnduwon/html/d5bizdev.asp для получения дополнительных сведений.
  9. Использовать сохраненные процедуры для доступа к базе данных. Сохраненные процедуры обеспечивают больший уровень контроля над данными и производительностью работы SQL-выражений.



Содержание раздела