
- •Учебная группа 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. Примерный перечень вопросов для самостоятельного контроля
- •Литература
Сокращение имен
Если в качестве ответов возвращается несколько записей, может возникнуть дублирование текстовых данных. Такая ситуация возникает, например, при возвращении двух записей типа NS — «ns1.isp.net» и «ns2.isp.net». Эффективнее было бы просто возвращать ответ ns1 и ns2 в домене «isp.net». Для уменьшения размера пакета во время DNS-запроса в протоколе DNS реализован метод сокращения передаваемой информации по вышеописанному принципу. Этот метод был разработан для устранения дублирования доменной информации. Для отслеживания дублированной информации была разработана система указателей. Как уже отмечалось ранее, первым в разделе имени является байт, определяющий длину доменного имени. Для сокращения имён значения двух старших бит в нём были изменены. Если эти биты оба равны 0, то байт длины по-прежнему отвечает только за длину доменного имени. Если же оба этих бита равны 1, то значение байта становится указателем смещения в разделе имён, которое указывает на остаток доменного имени, подсоединяемый к имени хоста.
Общие сведения о вариантах настройки bind версий 8 и 9
Файл Named из пакета BIND 8-й или 9-й версий конфигурации носит название named.conf и располагается по-умолчанию либо в /etc (версия 9), либо в /etc/namedb (версия 8). У named отсутствует хранимый на диске cache, описание корневой зоны вынесено в отдельный файл, и его нужно прописывать в настройках named. Возможно дистанционное управление named.
При запуске программа named читает файл named.conf и таким образом настраивается.
Рассматриваемые версии named, обладают повышенной устойчивостью сервера к атакам, что и отразилось в настройках. Администратор сервера имеет возможность управлять копированием зон, обслуживанием запросов на разрешение имен ip-адресами (в данном случае слово «разрешение»13 употребляется в смысле «установка соответствия», а не в смысле «разрешить что-то делать»).
Синтаксис файла настройки версий 8.х и 9.х C-подобный.
Рассмотрим наиболее часто встречающиеся варианты конструкций в файле настройки named.conf. При этом опустим многие вопросы, связанные с безопасностью, динамическим обновлением и другими возможностями.
Как любая прикладная программа, named позволяет переопределить местоположение своего файла настройки при помощи флага b или c в командной строке при своем запуске:
> named -c /var/named.conf
Кеширующий сервер (Cache server)
Кеширующий сервер - это сервер, который не отвечает ни за одну из зон, но используется для исполнения запросов resolver’ов. Он выполняет функции локального сервера доменных имен, т.е. выполняет рекурсивные запросы от прикладных программ к системе DNS. При этом в его кэш накапливается информация о соответствиях между доменными именами и IP-адресами, что позволяет существенно повысить скорость обработки запросов и разгрузить другие серверы доменных имен.
В соответствии со своими функциями кэширующий сервер будет иметь всего три файла настройки:
файл named.conf,
файл с описанием серверов обслуживающих корневую зону
файл описания обратной зоны для зоны 0.0.127.in-addr.arpa.
Согласно руководству по администрированию BIND версии 9 файл конфигурации named.conf имеет следующий вид:
// Two corporate subnets we wish to allow queries from.
acl «corpnets» {192.168.4.0/24; 192.168.7.0/24 };
options {
directory «/var/named»; // Working directory
pid-file «named.pid»; // Put pid file in working
allow-query {«corpnets»;};
};
// Root server hints
zone «.» {
type hint;
file «root.hint»;
};
// Provide a reverse mapping for the loopback address 127.0.0.1
zone «0.0.127.in-addr.arpa» {
type master;
file «0.0.127.in-addr.arpa»;
notify no;
};
В данном примере описана настройка кэширующего сервера для двух подсетей. Они перечислены в access control list (директива acl ) и названы как «corpnet». Теперь в любом месте файла настройки можно ссылаться на этот список просто как на «corpnet», что, собственно и сделано в директиве «options».
В директиве «options» вначале указан рабочий каталог named (опция «directory»). В нём располагаются все файлы, которые программа использует при своей работе, в том числе и файлы описания зон. Эта опция аналогична команде «directory» из файла настроек «bind» версий 4.х.
Затем опция «pid-file» указывает имя файла, в который будет помещён идентификатор процесса «named». Этот файл будет расположен в рабочем каталоге named (т.е. /etc/namedb)
Последняя опция директивы «options» – «allow-query». Она определяет список IP-адресов, для которых разрешено обращаться с запросами к серверу. Другие хосты обслуживаться данным сервером доменных имён не будут. Ещё раз обращаем внимание на то, что любые другие хосты с любыми запросами не будут обслуживаться, т.е. не будут обслуживаться как рекурсивные, так и не рекурсивные запросы.
Директива «zone» позволяет описать местоположение и опции для обслуживания зоны. Две зоны обычно всегда описывают. Это зона «.» (корневая зона) и обратная зона для адреса «127.0.0.1».
Описание зоны «.» (корня дерева доменных имен) необходимо для того, чтобы сервер мог обращаться к «корневым» серверам, с запросами на получение справки о том, где искать «ответственного» за зону, из которой клиент хочет получить информацию (IP-адрес или доменное имя). По этой причине тип зоны определен как «hint»14.
Само описание «корневых» серверов находится в файле «root.hint»15. Файл поставляется вместе с дистрибутивом, но администратор должен следить за обновлениями этого файла.
Описание обратной зоны для «127.0.0.1» необходимо для того, чтобы можно было локально разрешать (получать соответствие между IP-адресом и именем) при обращениях с реверсивными запросами к зоне «0.0.127.in-addr.arpa». Описать данную зону нужно в целях соблюдения единообразия, отладки и аккуратной работы сервиса DNS.
Для зоны «0.0.127.in-addr.arpa» сервер будет первичным (primary), поэтому его тип опцией «type» будет определен как «master». Адрес «127.0.0.1» за пределы хоста не маршрутизируется, поэтому у других серверов будет своя зона «0.0.127.in-addr.arpa».
Следует обратить внимание, что речь идёт о кэширующем сервере, а определяется он как «master» для одной из зон. В данном случае термин «кэширующий» говорит о том, что сервер не поддерживает ни одну из реально существующих зон, т.е. ему не делегировано прав на такое обслуживание.
Описание обратной зоны для «0.0.127.in-addr.arpa» находится в файле «0.0.127.in-addr.arpa». Этот файл может иметь любое имя, которое допускается файловой системой. На самом деле в документации по BIND 9.x для описания зоны используется имя «localhost.rev». Изменить имя в примере было нужно для того, чтобы отразить часто встречающуюся практику именования файлов описания зон именами самих зон.
Последняя опция «notify» позволяет реализовать режим оповещения об изменениях другие сервера, которые поддерживают данную зону, обычно, вторичные (резервные, secondary, slave). Для обратной зоны это в принципе не нужно, поэтому опция установлена в значение «no». Если же говорить вообще, то не все серверы поддерживают этот режим. Общая практика заключается в том, что обновления «расползаются» по сети в соответствии с параметрами записи SOA из описания зоны.