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

Реализация безопасной сетевой инфраструктуры для web-сервера

< Лекция 11 || Лекция 12: 1234567

Восстановление при компрометации безопасности

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

Web-администраторы должны выполнить следующие шаги при определении успешной компрометации:

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

    • модификации, сделанные в ПО и конфигурациях;
    • модификации, сделанные в данных;
    • инструментальные средства или данные, оставленные нарушителем;
    • данные из системных логов, определение проникновения и файлы логов firewall.
  • Выполнить восстановление системы.

    • Существуют две возможности:

      • инсталлировать чистые ОС, приложения, необходимые patches и содержимое web-сервера;
      • восстановить из backup’а (данное действие может быть более рискованным, так как backup мог быть сделан после компрометации и восстановление компрометированного backup может позволить атакующему в дальнейшем получить доступ к системе).
    • Запретить сервисы, не являющиеся необходимыми.
    • Применить все patches.
    • Изменить все пароли (даже на нескомпрометированных хостах).
    • Переконфигурировать элементы сетевой безопасности (например, firewall, роутер, IDS) для обеспечения дополнительной защиты и оповещения.
  • Заново присоединить систему к сети.
  • Протестировать систему для гарантирования безопасности.
  • Выполнить мониторинг системы и сети, чтобы убедиться, что атакующий снова не сможет получить доступ к системе или сети.
  • Все документировать.

Системные администраторы должны рассмотреть следующие параметры при принятии решения о том, следует ли переинсталлировать ОС на скомпрометированной системе или же достаточно восстановить все из backup’а:

  • Уровень доступа, который получил нарушитель (например, root, user, guest, system).
  • Тип атакующего (внутренней или внешний).
  • Цель компрометации (например, изуродовать web-страницу, получить незаконный доступ к репозиторию ПО, платформе для выполнения других атак).
  • Метод компрометации системы.
  • Действия атакующего в течение и после компрометации (например, просмотр логов, отчетов об обнаружении проникновения).
  • Продолжительность компрометации.
  • Распространение компрометации на сеть (например, количество скомпрометированных хостов).
  • Результаты консультаций с адвокатами.

Более низкий уровень доступа, полученный нарушителем, и большие знания web-администратора о действиях нарушителя уменьшают риск, существующий при восстановлении из backup’а и выполнении patch для устранения уязвимостей. Если о действиях нарушителя известно мало, то нужно переустановить все ПО на хосте.

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

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

Сканирование уязвимостей

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

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

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

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

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

Сканеры уязвимостей предоставляют следующие возможности:

  • Идентификация активных хостов в сети.
  • Идентификация активных сервисов (портов) на хостах и указание, какие из них являются уязвимыми.
  • Идентификация вредоносных приложений и баннеров.
  • Идентификация ОС.
  • Идентификация уязвимостей, связанных с обнаруженными ОС и приложениями.
  • Тестирование согласованности с политиками безопасности.

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

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

Тестирование проникновения

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

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

Тестирование проникновения имеет следующие преимущества:

  • Тестирование сети производится теми же методами и инструментальными средствами, какие используют хакеры.
  • Осуществляется проверка наличия уязвимостей.
  • Осуществляется не только проверка внешних уязвимостей, но и проводится демонстрация того, как эти уязвимости могут быть использованы для получения большего доступа.
  • Демонстрируется, что уязвимости являются не чисто теоретическими.
  • Показывается реальная ситуация с безопасностью.
  • Имеется определенный элемент социальной инженерии.
< Лекция 11 || Лекция 12: 1234567
Нияз Сабиров
Нияз Сабиров

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

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

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

Иван Бузмаков
Иван Бузмаков
Россия, Сарапул
Никита Сомов
Никита Сомов
Россия, Удмуртская республика