Выполнил: Студент группы ТО-31
Панечкин А.Е.
Руководитель:
Шойко А.З.
Лекция 19. Программное обеспечение веб-сервераКлассификация серверовТипы серверовС точки зрения аппаратных средств сервер - это компьютер, который способен оказывать некоторые услуги другим, подсоединенным к нему компьютерам. Правильно подобрать сервер для организации - это нелегкая задача. Широкий выбор серверных систем требует от руководителей ИТ-служб реалистично оценивать требования к их вычислительной мощности, масштабируемости, надежности и степени готовности. Они должны четко сформулировать требования к серверам, а также определить будущие затраты на модернизацию. Серверы можно классифицировать, например, как по классу решаемых задач, так и по количеству обслуживаемых клиентов. В соответствии со вторым подходом различают серверы масштаба рабочей группы; отдела; средних организаций; предприятия. Нужно сказать, что поскольку в рамках каждого типа конфигурация серверов значительно варьируется, четких границ между ними установить нельзя. Мощные компьютеры младшего класса могут выполнять роль серверов начального уровня в старшем смежном классе и наоборот. Отметим, что классификаций серверов существует довольно много, причем все они в той или иной степени перекрываются. Так, фирмы-производители часто подразделяют выпускаемые серверы по типу исполнения: сверхтонкие (blade), классические напольные (tower), предназначенные для установки в стойки (rack) и с высокой степенью масштабируемости (super scalable). Сверхтонкие компьютеры позволяют не только экономить место, отводимое под каждый сервер, но и уменьшать энергопотребление. Напольные серверы обеспечивают высокую гибкость при размещении компонентов в корпусе и легко наращиваемы. Серверы для установки в стойку предназначены для консолидации серверных систем в центрах обработки данных и использования с внешними подсистемами памяти. Они могут эффективно применяться для кластерных решений, когда сами серверы, внешняя память и дополнительные устройства размещаются в одних и тех же стойках. Серверы с высокой степенью масштабируемости обычно предназначены для крупных предприятий и способны обеспечить решение практически любых задач корпорации. Ниже описываются некоторые распространенные типы серверов, классифицированные по классу решаемых задач. Web-серверыWeb-сервер похож на роботизированный буфет. Клиент запрашивает у него нечто - в нашем случае файл, - а Web-сервер получает этот файл и пересылает его клиенту. В большинстве случаев оригинальный Web-сервер ничего с этим файлом не делает, просто отпасовывая его клиенту. Современные Web-серверы одновременно обрабатывают большое число запросов и быстро выдают ответы на них; кроме того, они способны обрабатывать запросы более сложными способами, чем простая пересылка документа. Серверы приложенийДля сервера приложений характерны расширенные возможности обработки информации, а взаимодействие с клиентом становится подобным работе приложения. В маркетинге термином "сервер приложений" обычно обозначают предлагаемое продавцами комплексное решение, которое содержит все требуемые компоненты технологий. Для некоторых организаций такой комплексный подход к построению сервера приложений облегчает разработку благодаря унификации разрабатываемых моделей и централизации поддержки. Серверы баз данныхСерверы баз данных используются для обработки бизнес-транзакций и пользовательских запросов. По мере расширения электронного бизнеса используемые базы данных усложняются и увеличиваются в объеме. Ключевая характеристика сервера баз данных - его способность быстро извлекать и форматировать данные. Решающую роль в этом играют вычислительная мощность и масштабируемость системы. Файл-серверыФайл-сервер делает именно то, о чем говорит его название: обеспечивает взаимодействие между сетевыми станциями и дает пользователям доступ к файлам, которые необходимы им для работы. Кроме того, файл-сервер обычно ограничивает несанкционированный доступ к данным. Собственно, разница между файл-сервером и сервером приложений заключается в том, что первый хранит программы и данные, а второй выполняет программы и обрабатывает данные. Прокси-серверыДве основные функции этого компьютера заключаются в следующем. Во-первых, он действует как посредник, помогая пользователям получить информацию из Интернета и при этом обеспечивая защиту сети. Во-вторых, прокси-сервер может сохранять часто запрашиваемую информацию в кэш-памяти на локальном диске, быстро доставляя ее пользователям без повторного обращения к Интернету. Прокси-сервер стал весьма популярным способом стыковки корпоративных интрасетей с Интернетом. БрандмауэрыПрокси-серверы можно сконфигурировать так, что они будут принимать или отвергать определенные типы сетевых запросов, поступающие как из локальной сети, так и из Интернета. В такой конфигурации прокси-сервер становится межсетевым экраном - брандмауэром. Брандмауэр, как и подразумевает его "боевое" имя, представляет собой средство обеспечения безопасности, задачи которого во многом схожи с работой пограничников: осматривать каждый фрагмент данных, который пытается пересечь границу сети. Почтовые серверыПодобно прокси-серверу, почтовый сервер (иногда называемый сервером сообщений) должен заниматься как входящими, так и исходящими запросами. Одна из задач почтового сервера - чтение адресов входящих сообщений и доставка корреспонденции в соответствующие почтовые ящики в пределах интрасети. В зависимости от развитости почтового сервера он может предоставлять администратору большую или меньшую степень контроля над локальными почтовыми ящиками, типами и размерами сообщений, которые они в состоянии получать, автоматическими ответами, которые можно составлять, и т.п. Серверы DHCPВ настоящее время во многих локальных сетях (интрасетях) также используется протокол TCP/IP, но иногда применяются и оригинальные протоколы обмена, такие, как NetBEUI или AppleTalk. IP-адрес компьютерам можно присваивать вручную, или же на одной из машин запускается так называемый сервер DHCP (Dynamic Host Configuration Protocol), который автоматически присваивает IP-адрес каждой локальной машине. Основное преимущество сервера DHCP - свобода изменения конфигурации локальной сети при ее расширении, добавлении или удалении машин (например, портативных ПК). Серверы FTPПодобные серверы, работающие на основе протокола File Transfer Protocol, уже много десятилетий назад стали стандартом де-факто при перемещении файлов в Интернете. FTP-серверы поддерживают работу простых файловых менеджеров - клиентов. Сложные FTP-серверы обеспечивают администратору большие возможности управления в том, что касается прав на подключение и совместного использования файлов, типов разделяемых файлов и их размещения. Конфигурируемые ресурсы, выделяемые ряду соединений с сервером, ограничения на количество передаваемых данных и минимальную скорость передачи и т.п., становятся все более популярными средствами, помогающими повысить безопасность FTP-серверов. Принт-серверыТакие серверы позволяют всем подключенным к сети компьютерам распечатывать документы на одном или нескольких общих принтерах. В этом случае отпадает необходимость комплектовать каждый компьютер собственным печатающим устройством. Кроме того, принимая на себя все заботы о выводе документов на печать, принт-сервер освобождает компьютеры для другой работы. Например, принт-сервер хранит посланные на печать документы на своем жестком диске, выстраивает их в очередь и выводит на принтер в порядке очередности. Серверы удаленного доступаЭти системы позволяют связываться с офисной сетью по телефонным линиям. Находясь с ноутбуком где-нибудь вдали от офиса, или сидя за своим домашним компьютером, всегда можно получить нужный файл, проверить, не пришла ли электронная почта, словом, получить любую необходимую информацию. При наличии хороших каналов связи разница между работой в офисе и вне его в этом случае практически незаметна. Факс-серверыВ известном смысле факс-серверы служат мостом между старым и новым способами ведения бизнеса. Во многих отношениях факс-сервер подобен упоминавшемуся ранее почтовому серверу. Оба эти типа серверов представляют собой мосты между исходящими и входящими сообщениями, оба должны направлять входящие сообщения по указанному адресу. В случае почтовых серверов - это всегда почтовый ящик конкретного пользователя. В случае факс-серверов для небольшой однопользовательской среды часто подразумевается, что принимающий сообщение компьютер и является местом назначения, поэтому модель почтового ящика здесь не работает. С другой стороны, факс-серверы, предназначенные для корпоративного использования, имеют некоторые параллели с моделью сервера электронной почты, обеспечивая доставку входящих факсов по конкретным адресам, присвоенным пользователям. Веб-сервер — это сервер, обслуживающий запросы к одному или нескольким сайтам Всемирной паутины (веб-сайтам). Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы — это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP. Веб-сервером называют как программное обеспечение, выполняющее эти функции, так и непосредственно компьютер, на котором это программное обеспечение работает. Web-сервер — программа, обрабатывающая сообщения, которые приходят на 80-й порт (стандартная настройка; можно конечно, настроиться и на любой другой порт), и работающая с протоколом HTTP (Hypertext Transfer Protocol). В качестве клиентов для обращения к веб-серверам могут использоваться различные программы и устройства:
Функции WEB-сервера, кроме его прямой обязанности передавать запрашиваемые данные, можно условно разбить на четыре группы:
1. За процесс передачи информации отвечает HTTP-протокол. Именно этот протокол является основным для WWW. Он представляет собой набор правил для обмена данными и основан на принципе «запрос-ответ». Запрос идет от клиента к серверу и содержит служебную информацию о типе запроса (данные, заголовок, форма), заголовок запроса (допустимые типы файлов, авторизация, версия клиента, адрес, где была активирована ссылка на данный ресурс, и сам адрес) и запрос данных. Ответ идет от сервера к клиенту. В нем находится служебный код (число), показывающий состояние обработки запроса, ответный заголовок (версию сервера, дату, длину и тип данных) и сами данные. Так, вкратце, работает Web-сервер с клиентом. От сервера зависит, насколько полно он поддерживает стандарт передачи данных, а также расширения, помогающие в работе, но не узаконенные как стандарт. Сюда же относится взаимодействие сервера со шлюзами, proxy-серверами и брандмауэрами, используемыми для защиты локальных сетей от несанкционированного доступа извне. 2. WEB-сервер может вести журнал активности клиентов, записывая Internet-адреса, время, содержание запроса и другие параметры каждого соединения. 3. Функции защиты имеют несколько уровней:
4. Средства интерактивной работы с клиентом. Самая старая из доступных здесь возможностей - CGI-интерфейс. Веб-серверы имеют основные и дополнительные функции:
Web-сервер оценивается по целому ряду важнейших параметров:
На ноябрь 2009 года двумя наиболее распространёнными веб-серверами, вместе занимающими около 68 % рынка, являются: Некоторые другие известные веб-серверы:
Вопросы безопасности Web-сервераДля обеспечения безопасности и защиты информации Web-серверы предоставляют следующие возможности:
Виртуальные Web-серверыМеханизм виртуальных серверов позволяет иметь несколько имен доменов или адресов на одном физическом устройстве. Это удобно для поставщиков услуг Internet, обслуживающих информационные центры Web более чем одной компании, и для тех, кто обслуживает несколько узлов разных подразделений в интрасети. Обычно серверу назначается несколько IP-адресов, по одному для каждого домена, а затем каждому домену ставят в соответствие собственный каталог документов. Различают два типа виртуальных серверов: software-серверы и hardware-серверы. В первом случае для данного сервера определяется несколько доменных имен в описании прямой зоны домена. Эти имена закрепляются за различными деревьями документов, для которых устанавливаются свои правила организации доступа. Доменное имя необходимо в обязательном порядке прописать в базе данных сервера доменных имен, который поддерживает текущую зону. Если этого не сделать, то никакие виртуальные серверы работать не будут. Головной сервер в этом случае будет обращаться к своей корневой странице. При этом, однако, администрации сервера не удастся скрыть тот факт, что реально несколько Website поддерживаются одним и тем же сервером. Для того, чтобы иллюзия была полной, кроме доменного имени необходимо назначить серверу еще и уникальный IP-адрес. Для этой цели служит механизм построения hardware-серверов. Санкционирование доступа к серверамСамый распространенный метод обеспечения безопасности называется базовой аутентификацией (basicauthentication). Страницы с ограничением доступа защищаются пользовательскими именами и паролями. Клиентские адреса TCP/IP или имена узлов также могут использоваться для ограничения доступа. Управление доступом осуществляется в той секции файлов настроек сервера, где прописываются режимы работы с директориями. Если в файле управления доступом указать разрешение доступа только для определенных пользователей, то сервер будет запрашивать идентификатор и пароль пользователя. Данный процесс аутентификации может быть построен на различных механизмах: стандартной системе шифрования пароля, ведения базы данных паролей в различных базах данных. Защищенный протокол SSLСредства SecureSocketsLayer (SSL) обеспечивают более высокий уровень защиты, чем базовая аутентификация. Разработанная фирмой Netscape спецификация SSL 2.0 призвана обеспечить безопасность каналов связи между клиентами и серверами с помощью шифрования данных. К другим достоинствам SSL относятся гарантированная сохранность сообщений и опознавание сервера. В настоящее время для того, чтобы использовать SSL, вы должны заплатить за сертификат сервера, выдаваемый такой уполномоченной организацией, как VeriSign. Это разумная мера для узлов Internet, где требуется высокая надежность, но для интрасетей - это стрельба из пушек по воробьям. В ближайшем будущем появятся продукты, которые дадут возможность выпускать внутренние сертификаты. Все известные Web-серверы, за исключением изделия фирмы Novell, удовлетворяют требованиям SSL 2.0. Использование комплексов защиты сетейНынешнее поколение брандмауэров демонстрирует, насколько значителен прогресс в данной области и насколько быстро он достигнут. Лучшие из современных продуктов предлагают сложные настраиваемые схемы управления доступом, позволяющие очень подробно расписать, кому разрешен доступ в корпоративную сеть и при каких условиях. Многие из них оснащены графическим пользовательским интерфейсом, делающим управление многочисленными параметрами более удобным, благодаря чему сокращается вероятность возникновения ошибок, любая из которых может впоследствии очень дорого обойтись. По мере того, как все больше предприятий открывают свои сети для Internet-трафика, брандмауэры приобретают статус ПО первой необходимости. Это один из важнейших "бастионов безопасности", защищающих локальную сеть или интрасеть корпорации от большинства попыток несанкционированного проникновения, хотя ни одна из этих программ не гарантирует той надежности, какой можно было ожидать от ПО с таким названием. Было бы неосторожно полагаться только на брандмауэр, необходимо дополнять его другими средствами обеспечения безопасности. Место брандмауэра обычно между внутренними локальными и корпоративными сетями с одной стороны и внешними сетями, такими как Internet, с другой. Основное его назначение - ограничение доступа. По существу, такая программа представляет собой контрольно-пропускной пункт, где у каждого проверяют документы. Брандмауэру предъявляются имена пользователей, идентификаторы приложений, IP-адреса и другие характеристики проходящей информации. Затем к этим данным применяются правила, заданные администратором системы. Еще недавно брандмауэры в зависимости от применяемого метода управления доступом делили на четыре большие категории: фильтры пакетов, шлюзы уровня приложения, шлюзы низкого уровня и серверы-посредники (proxy). Большинство же современных продуктов - это гибриды, не укладывающиеся ни в одну из названных категорий. Метод фильтрации пакетов состоит в том, что все поступающие в маршрутизатор пакеты проверяются на соответствие адресов отправления/назначения и запрашиваемых/предоставляемых сервисов тем или иным условиям. Этот метод - самый простой в администрировании, зато построенную на его основе защиту и преодолеть легче. Процесс задания правил, на основе которых предоставляется или не предоставляется доступ, отнимает много времени и чреват ошибками. Необходимо перечислить все типы пакетов, пропуск которых не разрешен. Каждая ошибка - это серьезная пробоина в вашем оборонительном щите. Шлюзы уровня приложения представляют собой специализированные программы, ограничивающие трафик, связанный с определенным приложением, например, с системой электронной почты. В этих системах применяются особые коды для каждого приложения, а не для сетевого трафика в целом. Такие шлюзы считаются надежными благодаря тому, что администратору, формулирующему правила доступа, приходится учитывать значительно меньшее количество вариантов. У средств этой группы хорошая репутация. Шлюзы низкого уровня предназначены для соединения внешнего TCP/IP-порта с каким-либо внутренним устройством, например, с сетевым принтером. Эти шлюзы функционируют как интеллектуальные фильтры, определяющие допустимость сеансов связи по протоколу TCP или UDP. Конкретное приложение, участвующее в обмене, не идентифицируется. Серверы-посредники образуют отдельный класс продуктов, но могут выполнять, в частности, и функции брандмауэра. На таком сервере обычно хранят тиражируемые копии некоторых Web-страниц, чтобы упростить доступ к ним отдельных категорий пользователей. Так, можно разместить на нем информацию, предназначенную для свободного доступа, а конфиденциальную упрятать в недра корпоративной сети подальше от точки входа. Современные системы являются, как правило, гибридными. Даже если основной продукт основан на технологии одного типа, к нему обычно предлагаются факультативные компоненты. Такие гибриды позволяют более гибко задавать ограничения доступа. Помимо перечисленных выше, существует еще одна технология, называемая контролем отклонений, используя ее, выявляют характеристики содержимого пакетов при нормальной работе с системой и на этой основе формируют правила для проверки. Указанная технология реализована в пакете FireWall, где различные наборы правил создаются в зависимости от контекста обмена: источника и пункта назначения. Например, правило, сформированное на основе собранной информации о характеристиках взаимодействия с некоторым приложением благонадежного клиента, может затем применяться для контроля за работой с тем же приложением других клиентов. При таком подходе пакет работает на самом нижнем уровне протокола OSI, так что контроль проходящих сообщений осуществляется прежде, чем они успеют вступить во взаимодействие с операционной системой. Еще одна важная административная функция - регистрация. Эффективная стратегия обеспечения безопасности требует регистрировать все попытки проникновения через брандмауэр, включая и неудавшиеся. Зная источник опасности, администратор сможет своевременно принять соответствующие меры по укреплению "обороны". Немедленное уведомление администратора о происходящем очень важно. Некоторые продукты используют для этого телефонную связь, другие - пейджинговую или систему электронной почты. Но у электронной почты есть один недостаток - сообщение остается непрочитанным, пока адресат не заглянет в свой почтовый ящик. Пейджеру обычно удается быстрее привлечь внимание. Web-сервер может быть отрезан от сети, когда какой-то злоумышленник, используя архитектуру протокола TCP/IP, посылает запрос с фальшивым IP-адресом. В результате Web-сервер не в состоянии установить соединение, так как приемник сообщения не может получить подтверждения от отправителя, которого не существует. Дело в том, что согласно протоколу TCP/IP, при подключении конечного пользователя к Internet его компьютер обменивается сообщениями с хост-машиной на другом конце связи. Если пользователь присваивает своему компьютеру фальшивый IP-адрес, то хост-машина некоторое время сохраняет связь и тщетно ждет подтверждения. Если число таких обращений достаточно велико, хост-машина будет заниматься только их обработкой и не сможет реагировать на нормальные запросы. Поэтому поставщики брандмауэров, защищающих интрасети от вторжений извне, выпускают для своих продуктов дополнительные модули, которые предохраняют Web-серверы от фальшивых запросов. В различных продуктах данная проблема решается по-разному. Например, программа SYNDefender компании CheckPoint проверяет все запросы на соединение до того, как они поступят в хост-машину. Продукт N.O.A.H (NoAttackHere) фирмы LivermoreSoftwareLaboratories выявляет повторяющиеся запросы на связь, сокращает время, в течение которого хост-машина ждет подтверждения от инициатора запроса, исключает все предыдущие записи в очереди на подключение и сообщает системному администратору о проблеме. Брандмауэр Guardian компании LanOptics проверяет каждый поступающий пакет на всех семи уровнях сетевого протокола, чтобы обнаружить какие-либо отклонения от нормы. Однако, по мнению некоторых экспертов, полностью обезопасить Web-серверы практически невозможно. Можно только максимально затруднить злоумышленнику путь к успеху, защитив ядро системы и тщательно выполняя ее мониторинг. Пользователи должны внимательно отнестись к этой проблеме, так как, с одной стороны угроза атаки вполне реальна, а с другой - средства для ее решения уже существуют. Основные особенности популярных Web-серверовРассмотрим основные характеристики наиболее популярных Web-серверов:
Не менее важным после набора характеристик показателем является производительность работы сервера. Под производительностью понимается скорость работы сервера в зависимости от количества подключенных клиентов и от интенсивности передачи запрашиваемых данных. Производительность зависит от многих факторов: типа и скорости процессора, объема оперативной памяти, операционной системы, присутствия других программ, настройки самого сервера. Определение производительности является весьма трудной задачей, поскольку не все зависит от Web-сервера. Чтобы сравнивать именно производительность Web-серверов, необходимо поставить их в одинаковые условия. На самом деле не совсем ясно, что значит поставить в равные условия, скажем, сервер IIS под Windows на Intel и сервер Apache под Alt Linux на АMD. Это абсолютно разные по типу и структуре операционные системы и разные процессоры. Здесь наиболее тонким моментом, по моему мнению, является выделение того, что имеет отношение к Web- серверу, а что — ко всему остальному. Тем не менее, подобные исследования проводятся. Результаты некоторых из них можно найти на том же сервере Webcompare. Кратко отметим, что по этим тестам производительность Apache несколько ниже по сравнению IIS, но не очень понятны методика проведения этих тестов и, главное, принцип обработки информации. Кроме свойств, которые присущи непосредственно WWW-серверам, есть еще вопросы работы операционной системы и Web-сервера как единого целого. Это в первую очередь касается сервера IIS как лучшего для Windows. И дело не в этом сервере, а в Windows, а также в том, что необходимость перезапускать всю систему возникает гораздо чаще, чем в других операционных системах. Это приводит к тому, что ваш Web-сервер может работать нестабильно. Иногда стабильность работы является более важным критерием, чем удобство управления, например, в таких системах реального времени, как Интернет-радио. Итак, проведенные сравнения, несмотря на их краткость, показывает, что у всех серверов есть как достоинства, так недостатки. Выбрать оптимальный сервер из перечисленных выше не просто. Но в любом случае остается общепризнанным тот факт, что именно эти два сервера являются сегодня наиболее популярными в мире, обладая при этом надежностью и высокой производительностью. |