Московский государственный университет имени М.В.Ломоносова
Опубликован: 21.09.2006 | Доступ: свободный | Студентов: 5057 / 926 | Оценка: 4.32 / 4.09 | Длительность: 19:19:00
ISBN: 978-5-9556-0076-0
Лекция 9:

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

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >

Альтернативные платформы для web-сервера

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

Trusted ОС

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

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

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

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

  • какая ОС лежит в основе и насколько проанализирована ее безопасность;
  • имеет ли организация опыт администрирования TOS – какова дополнительная цена покупки и поддержки TOS по сравнению с ее преимуществами;
  • совместима ли TOS с существующими в организации web-приложениями и скриптами.
Использование Appliances для web-сервера

Относительно недавние разработки в области web-серверов привели к появлению так называемых web Appliances. Web Appliances является комбинацией ПО и аппаратуры, которая разработана, чтобы быть "plug-and-play" web-сервером. Эти Appliances используют упрощенную ОС, которая оптимизирована для поддержки web-сервера. Упрощенная ОС обеспечивает безопасность, минимизируя возможности, сервисы и опции, которые не являются необходимыми для web-приложений. ПО web-сервера в таких системах часто заранее инсталлировано и заранее сконфигурировано с точки зрения безопасности.

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

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

Некоторые вопросы, которые следует рассматривать при принятии решения о покупки web Appliances:

  • какая ОС лежит в основе и как она протестирована с точки зрения безопасности;
  • как web Appliance само протестировано с точки зрения безопасности. (Заметим, что конфигурационные опции web Appliances являются ограниченными, таким образом, web Appliance обычно бывает безопасным только при инсталляции по умолчанию);
  • какова разнородность инфраструктуры web-сервера организации. (Различные торговые марки web Appliances, как правило, не очень хорошо работают вместе);
  • имеется ли возможность какого-либо расширения web Appliances. (Организация, которая предполагает быстрый рост, может не захотеть ограничивать себя web Appliance).
Специально усиленные (pre-hardened) ОС и web-серверы

Сегодня распространяется всё возрастающее число специально усиленных ОС и пакетов web-сервера. Эти пакеты включают ОС и ПО web-сервера, которые модифицированы и заранее сконфигурированы для обеспечения большой безопасности. Некоторые из этих пакетов содержат и аппаратную платформу, другие являются ПО, которое состоит только из ОС и ПО web-сервера. Эти дистрибутивы обычно основаны на специально усиленной и/или модифицированной ОС общего назначения (например, Linux, Unix и, реже, Windows), которая специально разработана для поддержки безопасного web-сервера. Приложение web-сервера также часто основано на усиленном и/или модифицированном обычном ПО web-сервера например, Apache или IIS). Эти пакеты зачастую включают большее число опций безопасности и разработаны для более легкого конфигурирования с помощью заранее cкомпилированных скриптов и GUIs. Хотя все пакеты различны, они обычно обеспечивают какие-либо из следующих возможностей:

  • безопасная начальная конфигурация обеспечена по умолчанию;
  • наличие усиленной ОС и/или TOS – наличие усиленного ПО web-сервера ;
  • расширяемые возможности аудита;
  • наличие разного рода оберток (wrappers) для приложений;
  • наличие возможностей сетевых wrappers и/или host-based firewall;
  • host-based IDS;
  • упрощенное администрирование безопасности (например, меню, GUIs).

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

Некоторые вопросы, которые следует рассмотреть при приобретении усиленного web Appliance.

  • Какая ОС лежит в основе и как она протестирована относительно безопасности.
  • Как само ПО web-сервер протестировано относительно безопасности.
  • Насколько трудно его администрировать.
  • Совместимо ли усиленное ПО web-сервер с существующими в организации web-приложениями и скриптами.

Тестирование безопасности операционной системы

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

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

Составление плана конфигурации и развертывания web-сервера.

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

Выбор подходящей ОС для web-сервера.

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

Применение patch’ей и upgrade’ов ОС.

  • Определить и инсталлировать все необходимые patches и upgrades для ОС.
  • Определить и инсталлировать все необходимые patches и upgrades для приложений и сервисов, включенных в ОС.

Удаление или запрещение ненужных сервисов и приложений.

Конфигурирование аутентификации пользователей в ОС.

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

Тестирование безопасности ОС.

  • Протестировать ОС после начальной инсталляции для определения уязвимостей.
  • Проводить частое тестирование ОС для определения новых уязвимостей.

Безопасное инсталлирование и конфигурирование web-сервера

После того как ОС инсталлирована и сделана безопасной, следует инсталлировать выбранное ПО web-сервера. Перед началом данного процесса следует прочитать документацию производителя и понять, какие опции доступны при инсталляции. Также следует посетить web-сайт производителя или web-сайт базы данных уязвимостей, такой как ICAT метабаза (http://icat.nist.gov), для определения всех известных уязвимостей и соответствующих patches, которые должны быть инсталлированы или сконфигурированы как часть процесса установки. Только после завершения этих предварительных шагов следует начать инсталляцию. Будем обсуждать только общие процедуры инсталляции и конфигурирования.

Безопасное инсталлирование web-сервера

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

  1. Инсталлировать ПО сервера на выделенный хост.
  2. Инсталлировать минимально требуемые сервисы Интернета.
  3. Применить все patches или upgrades для корректировки известных уязвимостей.
  4. Создать выделенный физический диск или логический раздел (отдельный от ОС и приложения сервера) для содержимого web.
  5. Удалить или запретить все web-сервисы, инсталлированные приложением web-сервера, но не требуемые (например, gopher, FTP и удаленное администрирование).
  6. Из корневой директории приложения web-сервера удалить все файлы, которые не являются частью web-сайта.
  7. Удалить всю документацию, а также примеры скриптов и выполняемого кода.
  8. Выполнить разного рода образцы безопасности или "hardening" скрипты, усиливающие безопасность web-сервера.
  9. Переконфигурировать баннер НТТР-сервиса (и других сервисов, если они используются), чтобы он не сообщал о типе и версии web-сервера и ОС. Это может быть выполнено в IIS использованием свободного Microsoft IIS Lockdown Tool и в Apache посредством "ServerTokens" директивы.
< Лекция 8 || Лекция 9: 12345 || Лекция 10 >
Нияз Сабиров
Нияз Сабиров

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

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

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