bigpo.ru
добавить свой файл
1



ФГБОУ ВПО «МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ»


Факультет: Информатики


Кафедра ИТ-7 «Автоматизированные системы управления и информационные технологии»


Реферат


по дисциплине: «Информационная безопасность и защита»

на тему: «Безопасность Web-серверов»


Выполнил:

Студент 3 курса

Дневного отделения

Специальности: 230201

Угрюмов Андрей Антонович


Москва 2012г.

ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ WEB-СЕРВЕРОВ


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


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

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


Создание плана защиты Web-сервера

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


Можно выделить три уровня безопасности для сервера:


Уровень 1.


Минимальный уровень безопасности.

1.Модернизация имеющегося программного обеспечения и установка «заплаток».

2.Использование единых настроек (политик) для всех серверов.

3.Удаление лишних приложений.


Уровень 2.


Сопротивление вторжению.

1.Установка внешнего межсетевого экрана.

2.Удаленное администрирование систем безопасности.

3.Ограничения на использование скриптов.

4.Защита Web-серверов, используя фильтрацию пакетов.

5.Обучение персонала и разграничение прав доступа.

6.Использование решений, перечисленных в уровне 1.


Уровень 3.


Обнаружение атак и ослабление их воздействия.

1.Разделение привилегий.

2.Аппаратные системы защиты.

3.Внутренний межсетевой экран.

4.Сетевые системы обнаружения вторжений.

5. Системы обнаружения вторжений, размещаемые на серверах (хостах).

6. Использование решений, перечисленных в уровне 2.


Варианты обеспечения безопасности Web-серверов


Можно выделить следующие, наиболее общие способы защиты Web-серверов:

  • удаление лишнего программного обеспечения (приложений);

  • обнаружение попыток нарушения защиты Web-серверов;

  • исправление изъянов в установленном программном обеспечении;

  • уменьшение последствий атак на сеть;

  • защита остальной части сети, в случае если Web-сервер был скомпрометирован.


Модернизация программного обеспечения/Установка «заплат»

Это один из наиболее простых, но вместе с тем наиболее эффективных способов уменьшения рисков. Все имеющиеся Web-серверы должны постоянно (иногда ежедневно) проверяться на предмет обновления установленного программного обеспечения и установления «заплат». (NIST совместно с другими правительственными организациями разрабатывает специальный инструментарий, предназначенный для оценки необходимости обновления ПО и применения «заплат». Подробности можно найти на страничке Департамента компьютерной безопасности NIST по адресу http: //csrc. nist. gov.)

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

Проверка программного обеспечения должна производиться по следующему алгоритму:

составьте перечень программного обеспечения с указанием номеров версий;

  • убедитесь в том, что на вашем сервере установлены последние версии программных продуктов;

  • найдите и установите «заплаты» для соответствующих версий программного обеспечения, с учетом прилагающейся поставщиком инструкции. Причем для обеспечения работоспособности системы «заплаты» должны быть установлены в порядке возрастания их номера;

  • проверьте, что «заплаты» работают нормально.


Использование узкоспециализированных серверов

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


Удаление лишних приложений

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


Внешний Firewall

Установка межсетевого экрана между корпоративной (внутренней) сетью и Web-серверами общего доступа позволяет предотвратить проникновение «левых» пакетов в сеть организации: если злоумышленник проникает на внешний Web-сервер, то попасть в корпоративную сеть организации через firewall ему будет затруднительно. Если же Web-сервер находится внутри корпоративной сети, то хакер, проникнув на него, может, используя захваченный ресурс в качестве плацдарма, нарушить работоспособность всей сети и получить полный контроль над ней.


Удаленное администрирование

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

В тех случаях, когда удаленное администрирование неизбежно, его необходимо сопровождать следующими действиями:

  • шифровать трафик удаленного администрирования (чтобы злоумышленник не смог перехватить управление трафиком сети, получить пароли или внедрить «вредные» команды);

  • использовать фильтрацию пакетов (см. описание ниже) при удаленном администрировании из предназначенной для этого конфигурации хоста;

  • поддерживать для этой конфигурации более высокий уровень безопасности;

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


Ограничение использования скриптов

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


Маршрутизаторы с фильтрацией пакетов

Маршрутизаторы устанавливают для того, чтобы отделить Webсерверы от остальной части сети. Этот шаг поможет предотвратить многие атаки, не допуская проникновения «чужих» (не правильных) пакетов. Обычно маршрутизаторы удаляют все пакеты, которые не идут на Web-сервер (например, на порт 80) или к портам, использующимся при удаленном администрировании.

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

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


Обучение персонала

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


Разделение привилегий

Независимо от серьезности мер, предпринятых для обеспечения безопасности Web-сервера, вероятность проникновения тем не менее полностью исключить нельзя. Что ж, если это все-таки произошло, важно минимизировать последствия атаки.

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

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


Аппаратные решения

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

Обычно для предотвращения атак Web-сервер конфигурируют на режим «только чтение».


Внутренние межсетевые экраны

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


Сетевые системы обнаружения вторжений

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

Сетевые системы обнаружения вторжений (IDS) сканируют весь трафик сети и выявляют несанкционированную активность, нарушение защиты или блокирование сервера. Современные IDS создают отчет обо всех выявленных нарушениях, одновременно уведомляя о них администраторов путем вывода сообщений на пейджер, электронный почтовый ящик или монитор. Типовые автоматизированные отчеты включают в себя также сбои сетевых соединений и список блокированных IP-адресов.


Системы обнаружения вторжений, размещаемые на серверах (хостах)

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

Однако и этот способ не лишен своих недостатков. Если хакер проникнет на Web-сервер, он сможет отключить серверные IDS, блокировав тем самым получение сообщений об атаке администратором. Удаленные атаки на отказ сервиса (DoS атаки) также часто блокируют IDS на время выхода из строя сервера. А так как DoS-атаки позволяют злоумышленникам блокировать сервер без проникновения на него, то IDS, расположенный на сервере, должен быть дополнен сетевой системой обнаружения вторжений.


Ограничения существующих решений и дополнительные меры

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

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

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

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


DOS и DDOS атаки

DoS-атака (Denial of Service, отказ в обслуживании) - атака на компьютерную систему с целью довести её до отказа, то есть, до такого состояния, что легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверам, сервисам), либо этот доступ затруднён. Отказ «вражеской» системы может быть как самоцелью (например, сделать недоступным популярный сайт), так и одним из шагов к захвату контроля над системой (если во внештатной ситуации ПО выдаёт какую-либо критическую информацию - например, версию, часть программного кода и т. д.).

Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (Distributed Denial of Service, распределённая атака типа «отказ в обслуживании»). В некоторых случаях к фактической DDoS-атаке приводит легитимное действие, например, размещение на популярном интернет-ресурсе ссылки на сайт, размещённый на не очень производительном сервере (слэшдот-эффект). Большой наплыв пользователей приводит к превышению допустимой нагрузки на сервер и, следовательно, отказу в обслуживании части из них. Также часто используют программ-червей для заражения обычных пользователей, которую в итоге пополняют армию, атакующую сайт.


Виды DoS-атак

Существуют различные причины, по которым может возникнуть DoS-условие:

1) Ошибка в программном коде, приводящая к обращению к неиспользуемому фрагменту адресного пространства, выполнению недопустимой инструкции или другой необрабатываемой исключительной ситуации, когда происходит аварийное завершение программы-сервера - серверной программы. Классическим примером является обращение по нулевому адресу.

2) Недостаточная проверка данных пользователя, приводящая к бесконечному либо длительному циклу или повышенному длительному потреблению процессорных ресурсов (вплоть до исчерпания процессорных ресурсов) либо выделению большого объёма оперативной памяти (вплоть до исчерпания доступной памяти).

3) Флуд - атака, связанная с большим количеством обычно бессмысленных или сформированных в неправильном формате запросов к компьютерной системе или сетевому оборудованию, имеющая своей целью или приведшая к отказу в работе системы из-за исчерпания системных ресурсов — процессора, памяти или каналов связи.

4) Атака второго рода - атака, которая стремится вызвать ложное срабатывание системы защиты и таким образом привести к недоступности ресурса.

Если атака (обычно флуд) производится одновременно с большого количества IP-адресов - с нескольких рассредоточенных в сети компьютеров - то в этом случае она называется распределённой атакой на отказ в обслуживании (DDoS).


Флуд

Флудом называют огромный поток бессмысленных запросов с разных компьютеров с целью занять «вражескую» систему (процессор, ОЗУ или канал связи) работой и этим временно вывести её из строя.

Для создания флуда могут применяться как обычные сетевые утилиты вроде ping, так и особые программы. Возможность DDoS’а часто «зашивают» в ботнеты. Если на сайте с высокой посещаемостью будет обнаружена уязвимость типа «межсайтовый скриптинг» или возможность включения картинок с других ресурсов, этот сайт также можно применить для DDoS-атаки.


Флуд канала связи и TCP-подсистемы

Любой компьютер, имеющий связь с внешним миром по протоколу TCP/IP, подвержен таким типам флуда:

SYN-флуд - при данном виде флуд-атаки на атакуемый узел направляется большое количество SYN-пакетов по протоколу TCP (запросов на открытие соединения). При этом на атакуемом компьютере через короткое время исчерпывается количество доступных для открытыя сокетов (програмных сетевых гнезд, портов) и сервер перестаёт отвечать.

UDP-флуд - этот тип флуда атакует не компьютер-цель, а его канал связи. Естественно используется протокол UDP. Провайдеры резонно предполагают, что UDP, как сетевой протокол, обладает высшим приоритетом, чем TCP. Большим количеством UDP-пакетов разного размера забивают канал связи, и сервер, работающий по протоколу TCP, перестаёт отвечать.

ICMP-флуд — то же самое, но с помощью ICMP-пакетов.


Флуд прикладного уровня

Многие службы устроены так, что небольшим запросом можно вызвать большой расход вычислительных мощностей на сервере. В таком случае атакуется не канал связи или TCP-подсистема, а непосредственно служба (сервис) — флудом подобных «больных» запросов. Например, веб-серверы уязвимы для HTTP-флуда, — для выведения веб-сервера из строя может применяться как простейшее GET /, так и сложный запрос в базу данных наподобие GET /index.php?search=<случайная строка>.


Выявление DoS-атак

Существует мнение, что специальные средства для выявления DoS-атак не требуются, поскольку факт DoS-атаки невозможно не заметить. Во многих случаях это действительно так. Однако достаточно часто наблюдались удачные DoS-атаки, которые были замечены жертвами лишь спустя 2-3 суток. Бывало, что негативные последствия атаки (флуд-атаки) выливались в излишние расходы на оплату избыточного Internet-трафика, что выяснялось лишь при получении счёта от Internet-провайдера. Кроме того, многие методы обнаружения атак неэффективны вблизи объекта атаки, но эффективны на сетевых магистральных каналах. В таком случае целесообразно ставить системы обнаружения именно там, а не ждать, пока пользователь, подвергшийся атаке, сам её заметит и обратится за помощью. К тому же, для эффективного противодействия DoS-атакам необходимо знать тип, характер и другие характеристики DoS-атак, а оперативно получить эти сведения как раз и позволяют системы обнаружения.

Методы обнаружения DoS-атак можно разделить на несколько больших групп:

Сигнатурные - основанные на качественном анализе трафика,

Статистические - основанные на количественном анализе трафика,

Гибридные (комбинированные) - сочетающие в себе достоинства обоих вышеназванных методов.


Способы защиты

Против DoS-атаки нельзя защититься на 100%. Меры противодействия DoS-атакам можно разделить на пассивные и активные, а также на превентивные и реакционные.

Ниже приведён краткий перечень основных методов.

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

Фильтрация и блэкхолинг. Блокирование трафика, исходящего от атакующих машин. Эффективность этих методов снижается по мере приближения к объекту атаки и повышается по мере приближения к атакующей машине.

Устранение уязвимостей. Не работает против флуд-атак, для которых «уязвимостью» является конечность тех или иных системных ресурсов.

Наращивание ресурсов. Абсолютной защиты естественно не дает, но является хорошим фоном для применения других видов защиты от DoS-атак.

Рассредоточение. Построение распределённых и дублирование систем, которые не прекратят обслуживать пользователей, даже если некоторые их элементы станут недоступны из-за DoS-атаки.

Уклонение. Увод непосредственной цели атаки (доменного имени или IP-адреса) подальше от других ресурсов, которые часто также подвергаются воздействию вместе с непосредственной целью атаки.

Активные ответные меры. Воздействие на источники, организатора или центр управления атакой, как техногенными, так и организационно-правовыми средствами.

Использование оборудования для отражения DoS-атак. Например DefensePro® (Radware), Периметр (МФИ Софт), Arbor Peakflow® и от других производителей.

Приобретение сервиса по защите от DoS-атак. Актуально в случае превышения флудом пропускной способности сетевого канала.

Список литературы:


  1. Фленов М. Е. Web-сервер глазами хакера. – СПб.: БХВ-Петербург, 2007. ­­– 288с. – ISNB 5-94157-913-6

  2. Крис Касперски. Компьютерные вирусы изнутри и снаружи — Питер. — СПб.: Питер, 2006. — С. 527. — ISBN 5-469-00982-3.

  3. Stephen Northcutt, Mark Cooper, Matt Fearnow, Karen Frederik Анализ типовых нарушений безопасности в сетях = Intrusion Signatures and Analysis — New Riders Publishing (англ.) СПб.: Издательский дом «Вильямс» (русск.), 2001. — С. 464. — ISBN 5-8459-0225-8 (русск.), 0-7357-1063-5 (англ.).

  4. Morris, R.T = A Weakness in the 4.2BSD Unix TCP/IP Software — Computing Scienece Technical Report No.117. — AT&T Bell Laborotories, Feb 1985.

  5. Bellovin, S. M. = Security Problems in the TCP/IP protocol Suite — Computer Communication Review, Vol. 19, No.2. — AT&T Bell Laborotories, April 1989.

  6. daemon9 / route / infinity «IP-spooling Demystified: Trust Realationship Exploitation» — Phrack Magazine, Vol.7, Issue 48. — Guild Production, July 1996.