Опубликован: 21.09.2006 | Уровень: для всех | Доступ: платный | ВУЗ: Московский государственный университет имени М.В.Ломоносова
Лекция 9:

Обеспечение безопасности web-серверов

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >
Аннотация: Рассматриваются проблемы безопасности, связанные с web-серверами. Обсуждаются проблемы, связанные с безопасностью ОС, на которой выполняется ПО web-сервера. Изучаются альтернативные платформы для web-сервера. Приводится способ безопасного инсталлирования ПО web-сервера. Исследуется управление доступом на уровне ОС для приложения web-сервера.

Введение

В самом общем виде web можно разделить на два основных компонента: web-серверы — они являются приложениями, которые формируют информацию, доступную по протоколу НТТР, и web-браузеры (клиенты) — они используются для доступа и показа информации, хранящейся на web-серверах. В основном будем рассматривать проблемы безопасности, касающиеся web-серверов.

К сожалению, web-серверы часто являются целями атак. Вследствие этого важно гарантировать безопасность web-серверов, а также сетевой инфраструктуры, которая их поддерживает. Угрозы безопасности, специфичные для web-серверов в общем случае можно разделить на следующие категории:

  • Враждебно настроенные пользователи интернета могут использовать ошибки ПО в web-серверах лежащей в основе ОС или в программах, создающих динамические web-страницы, для получения неавторизованного доступа к web-серверу.

    1. Результатом этого может быть получение доступа к файлам или каталогам, которые не предназначены для открытого доступа, либо выполнение привилегированных команд и/или установка ПО на web-сервер.
    2. Информация на web-сервере может быть преднамеренно изменена с враждебными целями. Наиболее общим примером такой угрозы является подмена содержимого web-сайта.
  • Denial of service (DoS) атаки могут быть направлены на web-сервер что приведет к отказу в доступе законным пользователям.
  • Чувствительная информация, передаваемая в открытом виде между web-сервером и браузером, может быть перехвачена.
  • Пользователи могут получить неавторизованный доступ к ресурсам, расположенным где-то еще в локальной сети организации, используя успешную атаку на web-сервер.
  • Возможно осуществление атаки на другие сети и серверы, причем будет использован скомпрометированный web-сервер, скрыта настоящая идентификация и, иногда, ответственность за последствия возложена на администратора web-сервера, с которого выполняется атака.
  • Сервер может быть использован в качестве незаконной точки распространения ПО, инструментальных средств атаки, при этом на администратора сервера может быть возложена ответственность за последствия атаки.

Рассмотрим проблемы, связанные с безопасностью при инсталлировании, конфигурировании и сопровождении web-серверов. Перечислим кратко основные вопросы:

  • Безопасное инсталлирование и конфигурирование лежащей в основе ОС.
  • Безопасное инсталлирование и конфигурирование ПО web-сервера.
  • Развертывание соответствующих сетевых механизмов защиты:

    • Firewall’ы;
    • Intrusion detection systems (IDS);
    • DNS.
  • Поддержка безопасной конфигурации, со своевременным применением соответствующих patches и upgrades, тестированием безопасности, просмотром логов и выполнение backup’ов как данных, так и ОС.
  • Обеспечение защиты информации, исходя из ее семантики.

Здесь нужно придерживаться следующих принципов.

Следует реализовать соответствующую практику управления безопасностью и контроль за функционированием системы.

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

Для гарантирования безопасности web-сервера и поддержки сетевой инфраструктуры должны быть рассмотрены и реализованы следующие основные моменты:

  • Политика безопасности информационной системы организации.
  • Принципы управления и контроля конфигурации и ее изменений.
  • Анализ риска и определенные подходы к управлению риском.
  • Стандартные конфигурации ПО, которые удовлетворяют политике безопасности информационной системы.
  • Необходимый объем знаний и тренинги, обеспечивающие требуемый объем знаний.
  • Способы восстановления после внезапных сбоев.
  • Соответствующая сертификация и аккредитация.

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

Первым шагом в обеспечении безопасности web-сервера является безопасность лежащей в основе ОС. Большинство доступных web-серверов выполняются на ОС общего назначения. Многих проблем безопасности можно избежать, если ОС, лежащая в основе web-сервера, сконфигурирована соответствующим образом. Конфигурации по умолчанию для аппаратуры и ПО обычно устанавливаются производителями, при этом, как правило, делается упор на использование возможностей, функциональностей исходного ПО, а также на простоту использования возможностей, связанных с безопасностью. Также следует понимать, что производители не знают требований безопасности каждой организации, поэтому web-администратор должен сконфигурировать новые серверы в соответствии с требованиями безопасности и переконфигурировать их каждый раз при изменении этих требований. Обеспечение безопасности ОС как минимум должна включать следующие шаги:

  • выполнение patch’ей и upgrade’ов ОС;
  • удаление или запрещение ненужных сервисов и приложений;
  • конфигурирование управления ресурсами;
  • тестирование безопасности ОС.

Следует гарантировать, что ПО web-сервера развернуто, сконфигурировано и управляется в соответствии с требованиями безопасности, определенными в организации.

Во многих аспектах инсталляция и конфигурирование безопасности ПО web-сервера аналогично процессу инсталляции и конфигурирования ОС. Главным принципом, как и раньше, является инсталляция минимального числа требуемых сервисов web-сервера и удаление всех известных уязвимостей с помощью patche’ей и upgrade’ов. Если инсталляционная программа устанавливает какие-то ненужные приложения, сервисы или скрипты, они должны быть удалены немедленно после завершения процесса установки. Обеспечение безопасности web-сервера как минимум должно включать следующие шаги:

  • выполнение patch’ей и upgrade’ов ПО web-сервера – удаление или запрещение ненужных сервисов, приложений и примеров содержимого;
  • конфигурирование аутентификации пользователей web-сервера ;
  • конфигурирование управления ресурсами web-сервера ;
  • тестирование безопасности приложения web-сервера и конкретного содержимого web-сервера.

Следует предпринять шаги для гарантирования того, что на web-сайте публикуется только корректное содержимое.

Должна существовать четкая политика в определении того, какой тип информации является открытым, к какой информации следует ограничить доступ и какая информация не должна публиковаться в публично доступном репозитории.

Следует гарантировать защиту web-содержимого от неавторизованного доступа или модификации.

Должна существовать определенная политика, гарантирующая невозможность модификации без выполнения авторизации. Требуется обеспечить гарантию целостности, даже если информация не является конфиденциальной. Необходимо защищать содержимое web посредством выполнения соответствующего управления ресурсами web-сервера. Некоторые примеры управления ресурсами включают:

  • инсталлирование только необходимых сервисов;
  • инсталлирование web-содержимого на выделенном жестком диске или в выделенном разделе;
  • возможность выполнять запись (uploads) только в директории, которые не являются читаемыми из web-сервера, а доступны по некоторому другому протоколу (например, ftp);
  • определение единственной директории для всех скриптов или программ, которые выполняются для создания web-содержимого и являются внешними по отношению к web-серверу ;
  • запрещение использования жестких или символических ссылок в файловой системе ОС, на которой выполняется web-сервер ;
  • создание матрицы доступа к web-содержимому, которая определяет, какие папки и файлы внутри директории web-сервера имеют ограничения по доступу;
  • запрет просмотра директории в файловой системе;
  • использование аутентификации пользователей с помощью цифровых подписей и других криптографических механизмов;
  • использование систем обнаружения проникновений, основанных на хосте и /или проверки целостности файлов, для обнаружения проникновения и проверки целостности web-содержимого.

Следует использовать активное содержимое только после тщательного взвешивания получаемых при этом преимуществ в сравнении с увеличением рисков.

Вначале большинство web-сайтов представляли собой статическую информацию, расположенную на сервере, обычно в форме текстовых документов, имеющих соответствующую разметку (HTML). В дальнейшем вводились различные интерактивные элементы. К сожалению, эти интерактивные элементы вносят новые уязвимости, так как они предполагают пересылку определенного рода информации как от web-сервера к клиенту для выполнения на стороне клиента, так и от клиента к web-серверу для обработки информации на стороне сервера. Различные технологии создания активного содержимого имеют различные уязвимости, которые должны быть оценены в сравнении с получаемыми преимуществами.

Следует использовать аутентификацию, основанную на криптографических технологиях, для обеспечения соответствующей защиты чувствительных данных.

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

Без наличия аутентификации пользователей нет возможности обеспечить разграничение доступа к чувствительной информации. Без наличия сильных механизмов аутентификации вся информация, которая расположена в web-пространстве сервера, может стать доступной любому. Кроме того, без процесса аутентификации сервера пользователи не имеют возможности определить, что сервер является требуемым, а не поддельным, созданным враждебно настроенным участником для перехвата конфиденциальной информации о пользователе.

Следует обеспечивать безопасность сетевой инфраструктуры для защиты web-серверов.

Сетевая инфраструктура, в которой функционирует web-сервер, играет важную роль в обеспечении безопасности web-сервера. Во многом сетевая инфраструктура является первой линией обороны web-сервера. Однако только тщательное проектирование сети не является достаточным для защиты web-сервера. Частота и варианты web-атак, совершаемых сегодня, говорят о том, что безопасность web-серверов может быть обеспечена только с использованием различных и расположенных на разных уровнях механизмов обороны (так называемая "оборона вглубь").

Следует гарантировать постоянное функционирование системы обеспечения безопасности.

Поддержание безопасного функционирования web-сервера требует постоянных усилий и наличия достаточного количества ресурсов. Поддержание безопасности web-сервера обычно включает следующие шаги:

  • своевременное применение patch’ей и upgrade’ов;
  • конфигурирование, защита и анализ лог файлов;
  • частое выполнение back up’а критической информации;
  • поддержка защищенных копий web-содержимого;
  • определение процедур восстановления при компрометации и следование им при обнаружении проникновения;
  • периодическое тестирование безопасности.

Рассмотрим общие принципы, которые применимы ко всем системам.

Причины уязвимости web-сервера

Основные проблемы, связанные с безопасностью функционирования публично доступного web-сайта, возникают по следующим причинам:

  • Неправильная конфигурация или другое некорректное действие над web-сервером, которое может привести к раскрытию или изменению информации.
  • Уязвимости ПО web-сервера, которые могут допускать, например, чтобы атакующий компрометировал безопасность сервера или других хостов в сети.
  • Неадекватные механизмы защиты web-сервера, предусмотренные в его окружении.
  • ПО на стороне сервера (скрипты, JSP, ASP и т.п.), которое содержит ошибки, позволяющие атакующим компрометировать безопасность web-сервера.
< Лекция 8 || Лекция 9: 12345 || Лекция 10 >
Нияз Сабиров
Нияз Сабиров

Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей.

Елена Сапегова
Елена Сапегова

для получения диплома нужно ли кроме теоретической части еще и практическую делать? написание самого диплома требуется?

Игорь Касаткин
Игорь Касаткин
Россия, Москва
Зарина Каримова
Зарина Каримова
Казахстан, Алматы, Гимназия им. Ахмета Байтурсынова №139, 2008