
- •Учебная группа 693
- •Инструкция по подготовке и выполнению лабораторных работ
- •А.С. Швецов
- •Сети и телекоммуникации
- •Руководство к лабораторным работам
- •Часть 2
- •Работа с ресурсами глобальной сети в ос мсвс
- •Санкт-Петербург
- •Содержание
- •Список сокращений
- •Введение
- •1. Ip адресация и ip маршрутизация
- •1.1. Теоретическая часть
- •1.1.1. Схема распределения адресного пространства
- •1.1.2. Ip маршрутизация
- •1.1.3. Управление маршрутизацией в ос мсвс
- •1.1.4. Управление маршрутизацией в ос Windows
- •1.1.5. Используемые в работе команды
- •1.2. Практическая часть
- •1.2.1. Алгоритм выполнения работы
- •1.2.2. Варианты индивидуальных заданий
- •1.2.3. Содержание отчёта
- •1.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •2. Сбор информации о сетевом трафике
- •2.1. Теоретическая часть
- •2.1.1. Модель osi
- •2.1.2. Протокол Ethernet
- •2.1.3. Протокол arp
- •2.1.4. Протокол ip
- •2.1.5. Протокол icmp
- •2.1.6. Проверка доступности удалённого хоста. Программа ping
- •2.1.7. Используемые в работе команды
- •2.2. Практическая часть
- •2.2.1. Алгоритм выполнения работы
- •2.2.2. Варианты индивидуальных заданий
- •2.2.3. Содержание отчёта
- •2.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •3. Технология nat
- •3.1. Теоретическая часть
- •3.1.1. Основы технологии nat
- •3.1.2. Общие принципы работы nat
- •3.1.4. Работа nat в мсвс
- •Icmp критерии
- •3.1.5. Проверка наличия установленного пакета iptables
- •3.1.6. Используемые в работе команды
- •3.2. Практическая часть
- •3.2.1. Алгоритм выполнения работы
- •3.2.2. Варианты индивидуальных заданий
- •3.2.3. Содержание отчёта
- •3.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •4. Фильтрация пакетов
- •4.1. Теоретическая часть
- •4.1.1. Принципы работы межсетевых экранов
- •4.1.2. Работа межсетевого экрана в мсвс
- •4.1.3. Проверка наличия установленного пакета iptables
- •4.1.4. Используемые в работе команды
- •4.2. Практическая часть
- •4.2.1. Алгоритм выполнения работы
- •4.2.2. Варианты индивидуальных заданий
- •4.2.3. Содержание отчёта
- •4.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •5. Настройка dns
- •Теоретическая часть
- •Принципы работы dns
- •Понятие зоны.
- •Типы серверов доменных имен (типы запросов: рекурсивные, не рекурсивные), прямые обратные зоны.
- •Кэширующие (cache) серверы
- •Серверы, обслуживающие корневую зону (Root servers)
- •Протокол dns
- •Сокращение имен
- •Общие сведения о вариантах настройки bind версий 8 и 9
- •Кеширующий сервер (Cache server)
- •Официальный (Authoritative) сервер зоны
- •Вспомогательный сервер (secondary, slave)
- •Файлы описания зон
- •Массовое создание зон
- •Утилита nslookup
- •Последовательность действий настройки dns-сервера
- •Практическая часть
- •Алгоритм выполнения работы
- •Варианты индивидуальных заданий
- •Содержание отчёта
- •Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •6. Настройка службы ftp
- •6.1. Теоретическая часть
- •Проблема безопасности
- •Основные команды
- •Создание ftp-сервера в ос мсвс
- •Проверка наличия установленного пакета ftp-сервера, при отсутствии установленного пакета его необходимо установить из дистрибутива ос мсвс.
- •Конфигурирование ftp-сервера (vsftpd).
- •Запуск (перезапуск) демона vsftpd в ос мсвс.
- •6.1.6.1. Проверка наличия установленного пакета ftp-сервера
- •6.1.6.2. Конфигурирование ftp-сервера
- •Управление доступом
- •Сетевые параметры
- •6.1.6.3. Файл «/etc/vsftpd/ftpusers»
- •6.1.6.4. Файл «/etc/vsftpd/user_list»
- •6.1.6.5. Запуск демона ftp (vsftpd) в ос мсвс
- •Настройка ftp-клиента в «Total Commander»
- •Используемые в работе команды
- •6.2. Практическая часть
- •6.2.1. Алгоритм выполнения работы
- •6.2.2. Варианты индивидуальных заданий
- •6.2.3. Содержание отчёта
- •6.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •7. Настройка почтового сервера
- •7.1. Теоретическая часть
- •Названия
- •История
- •Современная архитектура (smtp)
- •Маршрутизация почты
- •Протокол передачи почты smtp
- •Установление соединения.
- •Аутентификация.
- •Передача данных.
- •Безопасность smtp и спам
- •Протоколы получения почты
- •Различия
- •Структура письма
- •7.1.8.1. Заголовок smtp
- •7.1.8.2. Заголовок письма
- •7.1.8.3. Часто используемые поля
- •7.1.8.4. Тело письма
- •Цепочки писем
- •Почтовые рассылки
- •Коммерческое использование
- •7.1.11.1. Спам
- •Шифрование почты
- •Создание почтового сервера в ос мсвс
- •7.1.13.1. Настройка smtp-сервера
- •7.1.13.2. Настройка pop3-сервера
- •Настройка и работа в «Outlook Express 6»
- •Используемые в работе команды
- •7.2. Практическая часть
- •7.2.1. Алгоритм выполнения работы
- •7.2.2. Варианты индивидуальных заданий
- •7.2.3. Содержание отчёта
- •7.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •8. Настройка веб-сервера
- •8.1. Теоретическая часть
- •8.1.1.1. Дополнительные функции Веб-сервера
- •8.1.1.2. Программное обеспечение Веб-сервера
- •8.1.1.3. Клиенты
- •8.1.2.1. История url
- •8.1.2.2. Структура url
- •8.1.2.3. Схемы (протоколы) url
- •8.1.3.1. Динамическая Веб-страница
- •8.1.3.2. Персональная интернет-страница
- •8.1.4.1. История Веб-сайтов
- •8.1.4.2. Устройство Веб-сайтов
- •8.1.4.3. Классификация сайтов
- •Apache http-сервер
- •8.1.7.1. Архитектура Ядро
- •Система конфигурации
- •Система модулей
- •Механизм виртуальных хостов
- •8.1.7.2. Функциональные возможности Интеграция с другим по и языками программирования
- •Безопасность
- •Интернационализация
- •Обработка событий
- •Создание Веб-сервера в ос мсвс
- •8.1.13.1. Установка и настройка «Apache http-сервера»
- •Конфигурирование Apache http-сервера.
- •8.1.13.2. Установка и настройка «MySql-сервера»
- •Конфигурирование MySql-серверf.
- •8.1.13.3. Установка и настройка php
- •Проверка наличия установленного пакета php, при отсутствии установленного пакета его необходимо установить из дистрибутива ос мсвс.
- •Конфигурирование php.
- •Используемые в работе команды
- •8.2. Практическая часть
- •8.2.1. Алгоритм выполнения работы
- •8.2.2. Варианты индивидуальных заданий
- •8.2.3. Содержание отчёта
- •8.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
8.1.4.2. Устройство Веб-сайтов
Страницы сайтов — это файлы с текстом, размеченным на языке HTML. Эти файлы, будучи загруженными посетителем на его компьютер, обрабатываются браузером и выводятся на его средство отображения (монитор, экран КПК, принтер или синтезатор речи). Язык HTML позволяет форматировать текст, различать в нём функциональные элементы, создавать гипертекстовые ссылки (гиперссылки) и вставлять в отображаемую страницу изображения, звукозаписи и другие мультимедийные элементы. Отображение страницы можно изменить добавлением в неё таблицы стилей на языке CSS или сценариев на языке JavaScript.
Страницы сайтов могут быть простым статичным набором файлов или создаваться специальной компьютерной программой на сервере — так называемым движком сайта. Движок может быть либо сделан на заказ для отдельного сайта, либо быть готовым продуктом, рассчитанным на некоторый класс сайтов. Некоторые из движков могут обеспечить владельцу сайта возможность гибкой настройки структурирования и вывода информации на веб-сайте. Такие движки называются системами управления содержимым (CMS).
8.1.4.3. Классификация сайтов
По доступности сервисов:
Открытые — все сервисы полностью доступны для любых посетителей и пользователей.
Полуоткрытые — для доступа необходимо зарегистрироваться (обычно бесплатно).
Закрытые — полностью закрытые служебные сайты организаций (в том числе корпоративные сайты), личные сайты частных лиц. Такие сайты доступны для узкого круга пользователей. Доступ новым пользователям обычно даётся через т. н. инвайты (приглашения).
По физическому расположению:
Общедоступные сайты сети Интернет.
Локальные сайты — доступны только в пределах локальной сети. Это могут быть как корпоративные сайты организаций, так и сайты частных лиц в локальной сети провайдера.
По схеме представления информации, её объёму и категории решаемых задач можно выделить следующие типы веб-ресурсов:
Интернет-портал — многокомпонентная разветвлённая структура (портал), скомпонованная из функционально самодостаточных сайтов самостоятельных организаций или подразделений корпоративной структуры.
Информационные ресурсы:
Тематический сайт — сайт, предоставляющий специфическую узкотематическую информацию по какой-либо теме.
Тематический портал — это очень большой веб-ресурс, который предоставляет исчерпывающую информацию по определённой тематике. Порталы похожи на тематические сайты, но дополнительно содержат средства взаимодействия с пользователями и позволяют пользователям общаться в рамках портала (форумы, чаты) — это среда существования пользователя.
Интернет-представительства владельцев бизнеса (торговля и услуги, не всегда связанные напрямую с Интернетом):
Сайт-визитка — содержит самые общие данные о владельце сайта (организация или индивидуальный предприниматель). Вид деятельности, история, прайс-лист, контактные данные, реквизиты, схема проезда. Специалисты размещают своё резюме. То есть подробная визитная карточка.
Представительский сайт — так иногда называют сайт-визитку с расширенной функциональностью: подробное описание услуг, портфолио, отзывы, форма обратной связи и т. д.
Корпоративный сайт — содержит полную информацию о компании-владельце, услугах/продукции, событиях в жизни компании. Отличается от сайта-визитки и представительского сайта полнотой представленной информации, зачастую содержит различные функциональные инструменты для работы с контентом (поиск и фильтры, календари событий, фотогалереи, корпоративные блоги, форумы). Может быть интегрирован с внутренними информационными системами компании-владельца (КИС, CRM, бухгалтерскими системами). Может содержать закрытые разделы для тех или иных групп пользователей — сотрудников, дилеров, контрагентов и пр.
Каталог продукции — в каталоге присутствует подробное описание товаров/услуг, сертификаты, технические и потребительские данные, отзывы экспертов и т. д. На таких сайтах размещается информация о товарах/услугах, которую невозможно поместить в прайс-лист.
Интернет-магазин — сайт с каталогом продукции, с помощью которого клиент может заказать нужные ему товары. Используются различные системы расчётов: от пересылки товаров наложенным платежом или автоматической пересылки счета по факсу до расчётов с помощью пластиковых карт.
Промо-сайт — сайт о конкретной торговой марке или продукте, на таких сайтах размещается исчерпывающая информация о бренде, различных рекламных акциях (конкурсы, викторины, игры и т. п.).
Сайт-квест — Интернет-ресурс, на котором организовано соревнование по разгадыванию последовательности взаимосвязанных логических загадок.
Веб-сервис — сайт, созданный для выполнения каких либо задач либо предоставленя услуг в рамках сети WWW:
Доска объявлений.
Каталог сайтов — например, Open Directory Project.
Поисковые сервисы — например, Yahoo!, Google.
Почтовый сервис.
Веб-форумы.
Блоговый сервис.
Файлообменный Пиринговый сервис — например, Bittorrent.
Датахостинговый (хранение данных) сервиc — например, Skydrive.
Датаэдиторинговый (редактирование данных) сервиc — например, Google Docs.
Фотохостинг — например, Picnik, ImageShack, Panoramio, Photobucket.
Хранение видео — например, YouTube, Dailymotion.
Социальные Медиа — например, Buzz.
Комбинированные веб-сервисы (Социальные сети) — например, Facebook, Twitter.
Комбинированные веб-сервисы (Специализированные социальные сети) — например, MySpace, Flickr.
По технологии отображения:
Статические — состоящие из статичных html (htm, dhtml) страниц составляющих единое целое. Пользователю выдаются файлы в том виде, в котором они хранятся на сервере.
Динамические — состоящие из динамичных html (htm, dhtml) страниц-шаблонов, информации, скриптов и прочего в виде отдельных файлов. Содержимое генерируется по запросу специальными скриптами (программами) на основе других данных из любого источника
По типам макетов:
Фиксированной ширины (англ. rigid fixed) — размеры элементов страницы имеют фиксированное значение, независящее от разрешения, размера, соотношения сторон экрана монитора и размеров окна обозревателя, задаётся в абсолютных значениях — PX (пиксели).
Резиновый макет (англ. adaptable fluid) — размеры несущих элементов, значения ширины, задаются относительным значением — % (проценты), страницы отображаются во весь экран монитора по ширине . По сути данный тип макета является частным случаем фиксированного типа макета .
Динамично эластичный (англ. dynamically expandable elastic) — размеры большинства элементов, задаются относительными значениями — EM и % . Все относительные пропорции размеров элементов всегда остаются неизменными, независимо от разрешения, размера, соотношения сторон экрана монитора, размеров окна и масштаба окна обозревателя . И всегда постоянны относительно окна обозревателя.
HyperText Transfer Prоtocоl
HTTP (сокр. от англ. HyperText Transfer Prоtocоl — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов), порт: 80/TCP. Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом. HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов.
HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP, XML-RPC, WebDAV.
Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (англ. Uniform Resource Identifier) в запросе клиента. Обычно такими ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то абстрактное. Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т. д. (В частности для этого используется HTTP-заголовок.) Именно благодаря возможности указания способа кодирования сообщения клиент и сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым.
Преимущества протокола HTTP:
Простота. Протокол настолько прост в реализации, что позволяет с лёгкостью создавать клиентские приложения.
Расширяемость. Возможности протокола легко расширяются благодаря внедрению своих собственных заголовков, с помощью которых можно получить необходимую функциональность при решении специфической задачи. При этом сохраняется совместимость с другими клиентами и серверами: они будут просто игнорировать неизвестные им заголовки.
Распространённость. При выборе протокола HTTP для решения конкретных задач немаловажным фактором является его распространённость. Как следствие, это обилие различной документации по протоколу на многих языках мира, включение удобных в использовании средств разработки в популярные IDE, поддержка протокола в качестве клиента многими программами и обширный выбор среди хостинговых компаний с серверами HTTP.
Недостатки и проблемы протокола HTTP:
Большой размер сообщений. Использование текстового формата в протоколе порождает соответствующий недостаток: большой размер сообщений по сравнению с передачей двоичных данных. Из-за этого возрастает нагрузка на оборудование при формировании, обработке и передаче сообщений. Для решения данной проблемы в протокол встроены средства для обеспечения кэширования на стороне клиента, а также средства компрессии передаваемого контента. Нормативными документами по протоколу предусмотрено наличие прокси-серверов, которые позволяют получить клиенту документ с наиболее близкого к нему сервера. Также в протокол было внедрено diff-кодирование, чтобы клиенту передавался не весь документ, а только его изменённая часть.
Отсутствие «навигации». Хотя протокол разрабатывался как средство работы с ресурсами сервера, у него отсутствуют в явном виде средства навигации среди этих ресурсов. Например, клиент не может явным образом запросить список доступных файлов, как в протоколе FTP. Предполагалось, что конечный пользователь уже знает URI необходимого ему документа, закачав который, он будет производить навигацию благодаря гиперссылкам. Это вполне нормально и удобно для человека, но затруднительно, когда стоят задачи автоматической обработки и анализа всех ресурсов сервера без участия человека. Решение этой проблемы лежит полностью на плечах разработчиков приложений, использующих данный протокол. Например, со стороны клиента используются веб-пауки — специальные программы, которые составляют список ресурсов сервера, проходя по всем найденным гиперссылкам. Со стороны сервера данная проблема решается с помощью карты сайта (англ. site map) — специальной веб-страницы, где перечислены все доступные для посещения ресурсы. Она предназначена не только для людей, играя аналогичную содержанию в книге роль, но и полезна для тех же роботов-пауков, так как позволяет уменьшить глубину — минимальное необходимое количество переходов с главной страницы. Для тех же целей служат файлы формата Sitemap, которые предназначены уже непосредственно для роботов.
Полностью эта проблема решена в расширяющем HTTP протоколе WebDAV с помощью добавленного метода PROPFIND. Данный метод позволяет не только получить дерево каталогов, но и список параметров каждого ресурса.
Отсутствие поддержки распределённости. Протокол HTTP разрабатывался для решения типичных бытовых задач, где само по себе время обработки запроса должно занимать незначительное время или вообще не приниматься в расчёт. Но в промышленном использовании с применением распределённых вычислений при высоких нагрузках на сервер протокол HTTP оказывается беспомощен. В 1998 году W3C предложил альтернативный протокол HTTP-NG (англ. HTTP Next Generation) для полной замены устаревшего с акцентированием внимания именно на этой области[2]. Идею его необходимости поддержали крупные специалисты по распределённым вычислениям, но данный протокол до сих пор находится на стадии разработки.
Hypertext Transfer Protocol Secure
HTTPS (Hypertext Transfer Protocol Secure) — расширение протокола HTTP, поддерживающее шифрование, порт: 443/TCP. Данные, передаваемые по протоколу HTTPS, «упаковываются» в криптографический протокол SSL31 или TLS32, тем самым обеспечивается защита этих данных. В отличие от HTTP, для HTTPS по умолчанию используется TCP-порт 443.
Система была разработана компанией Netscape Communications Corporation, чтобы обеспечить аутентификацию и защищённое соединение. HTTPS широко используется в мире Веб для приложений, в которых важна безопасность соединения, например, в платежных системах.
HTTPS поддерживается всеми популярными браузерами.
HTTPS не является отдельным протоколом. Это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS. Он обеспечивает защиту от атак, основанных на прослушивании сетевого соединения — от снифферских атак и атак типа man-in-the-middle33 при условии, что будут использоваться шифрующие средства и сертификат34 сервера проверен и ему доверяют.
По умолчанию HTTPS URL использует 443 TCP-порт (для незащищённого HTTP — 80). Чтобы подготовить веб-сервер для обработки https-соединений, администратор должен получить и установить в систему сертификат для этого веб-сервера. Сертификат состоит из 2 частей (2 ключей) — public и private. Public-часть сертификата используется для зашифровывания трафика от клиента к серверу в защищённом соединении, private-часть — для расшифровывания полученного от клиента зашифрованного трафика на сервере. После того как пара ключей приватный/публичный сгенерированы, на основе публичного ключа формируется запрос на сертификат в Центр сертификации35, в ответ на который ЦС высылает подписанный сертификат. ЦС, при подписывании проверяет клиента, что позволяет ему гарантировать что держатель сертификата является тем, за кого себя выдаёт (обычно это платная услуга) .
Существует возможность создать такой сертификат, не обращаясь в ЦС. Такие сертификаты могут быть созданы для серверов, работающих под Unix, с помощью таких утилит, как ssl-ca от OpenSSL или gensslcert от SuSE. Подписываются такие сертификаты этим же сертификатом и называются самоподписанными (self-signed). Без проверки сертификата каким-то другим способом (например, звонок владельцу и проверка контрольной суммы сертификата) такое использование HTTPS подвержено атаке man-in-the-middle.
Эта система также может использоваться для аутентификации клиента, чтобы обеспечить доступ к серверу только авторизованным пользователям. Для этого администратор обычно создаёт сертификаты для каждого пользователя и загружает их в браузер каждого пользователя. Также будут приниматься все сертификаты, подписанные организациями, которым доверяет сервер. Такой сертификат обычно содержит имя и адрес электронной почты авторизованного пользователя, которые проверяются при каждом соединении, чтобы проверить личность пользователя без ввода пароля.
В HTTPS для шифрования используется длина ключа 40, 56, 128 или 256 бит. Некоторые старые версии браузеров используют длину ключа 40 бит (пример тому — IE, версий до 4.0), что связано с экспортными ограничениями в США. Длина ключа 40 бит не является сколько-нибудь надёжной. Многие современные сайты требуют использования новых версий браузеров, поддерживающих шифрование с длиной ключа 128 бит, с целью обеспечить достаточный уровень безопасности. Такое шифрование значительно затрудняет злоумышленнику поиск паролей и другой личной информации.