Понятие протокола, и связанные с ним понятия
Вид материала | Документы |
СодержаниеКонфигурирование TCP/IP систем. Параметры конфигурации и их взаимосвязь. Файлы конфигурационной информации. |
- Программа курса лекций, 33.31kb.
- А, а также связанные с этим сервисы, частично или полностью через пакетные сети, 211.32kb.
- Тема Основные понятия о правовых явлениях, 165.32kb.
- Контрольная работа по предмету «Логика», 57.32kb.
- Понятия налоги и налогообложение. Налоговая система понятие налога и сбора. Принципы, 2182.16kb.
- Задачи: Продолжить формирование понятия о внутренней среде и ее компонентах. Раскрыть, 161.91kb.
- Естественные науки 14 апреля с 10. 00 до 17., 82.95kb.
- Словари профессий, 47.56kb.
- Программа форума «служба протокола» день первый (02. 06. 2011г., четверг), 114.5kb.
- Программа форума «служба протокола» день первый (02. 06. 2011г., четверг), 107.69kb.
Конфигурирование TCP/IP систем.
Задачи конфигурирования.
В предыдущем изложении мы неоднократно отмечали, что те или иные параметры «задаются вручную администратором» либо «считываются из конфигурационных файлов при загрузке». Процесс назначения таких параметров и их установка называется конфигурированием. От корректности конфигурации сети зависит ее эффективная работа, надежность и безопасность. Эффективная работа протокола любого уровня от сетевого и выше в гетерогенной сети зависит от правильной установки значительного числа его параметров, причем далеко не все они могут быть «угаданы». Прежде, рассматривая конкретные протоколы, мы уже обращали внимание на то, как влияют на показатели производительности и надежности их отдельные параметры, а также их сочетания.
Процесс конфигурирования сводится к изменению параметров конфигурации.
К сожалению, набор параметров, определяющих конфигурацию, сильно зависит от используемой операционной системы и конкретного сетевого программного обеспечения. Большинство локальных сетей сегодня строятся вокруг серверов, которые работают под ОС UNIX (если не считать одно-ранговых сетей MS Windows). По этой причине ниже будут описаны конфигурационные файлы именно этой ОС.
Процедура работы традиционно также различается для разных ОС. В различных реализациях UNIX традиционно администратор редактирует содержимое конфигурационных файлов «вручную» – при посредстве текстового редактора, либо специальных утилит, управляемых из командной строки (чаще всего такие утилиты содержат в названии слово config). В Ms Windows такая прямая работа с конфигурационными файлами (большая часть параметров конфигурации собрана в системном реестре Windows – файлы system.dat и user.dat, хотя и старый вариант – *.ini файлы – по прежнему востребован) не поощряется, предпочтительным вариантом считается работа с параметрами конфигурации через систему меню. Эти отличия не являются абсолютными – как для Windows существует возможность экспорта реестра в текстовой файл, его коррекции и последующего импорта, либо непосредственной корректировки программой Regedit, так и для UNIX (особенно Linux) не счесть конфигурационных программ с графическим интерфейсом. Тут скорее сказываются традиции разработчиков и пользователей.
Процесс конфигурирования имеет целью при имеющихся технических и программных средствах обеспечить безусловное выполнение ряда требований по безопасности, надежности и производительности сети, и максимизацию/минимизацию ряда других показателей. Таким образом, это по своей сути оптимизационная задача.
Конфигурирование параметров протоколов стека пользовательских узлов в настоящее время чаще выполняется автоматически посредством протокола DHCP или какого-либо другого подобного протокола (например, NCP), и самостоятельное ручное конфигурирование пользовательского узла считается дурным тоном, но это только значит, что задача конфигурирования переносится с пользовательского узла на DHCP сервер. Конфигурирование серверов и сейчас чаще всего выполняется вручную, а DHCP-конфигурирование маршрутизаторов, как правило, исключается.
Кроме того, следует учитывать, что по протоколу DHCP (или другим подобным) конфигурируется только сетевой (IP) и, возможно, транспортный (TCP) уровень. Все то, что ниже (уровень доступа к сети), и выше (уровень прикладных программ) лежит на пользователе.
Часто определяющее влияние на производительность и/или надежность имеют именно они. Случай с настройкой по умолчанию кодирования для HTML-текста программой Outlook Express (для Content-Type:= text/html по умолчанию устанавливается Content-Transfer-Encoding:=QUOTED-PRINTABLE, что при передаче кириллицы приводит к разбуханию вложения почти в 3 раза, тогда как лучшим вариантом было бы Content-Transfer-Encoding:= 8BIT), конечно, исключение, но далеко не единственное.
В случае распространенных сейчас макровирусов существенно повышает безопасность системы запрет на автоматическое выполнение макросов в приложениях Ms Office – казалось бы, никакого отношения к сети не имеющих. Вообще целый ряд знаменитых в прошлом сетевых атак (теперь, в основном, представляющих только исторический интерес) были связаны как раз с некорректной обработкой сообщений электронной почты, в особенности – вложений. Наиболее действенный совет – отключить в почтовом клиенте автоматическую обработку вложений, если такая возможность предусмотрена, а неизвестно откуда пришедшие письма с вложениями стирать, не загружая.
Параметры конфигурации и их взаимосвязь.
Автоматическое конфигурирование узлов через DHCP-сервер также накладывает на администратора дополнительные требования по резервированию DHCP-серверов и поддержанию надежности их работы, поскольку выход DHCP-сервера из строя в этом случае может парализовать сеть. Хотя автоматическое конфигурирование узлов возможно и помимо DHCP – через RARP, ICMP-сообщения Router Advertisement, Address Mask Request/Replay и т.д., нет никакой гарантии, что это будет выполнено, тем более выполнено корректно.
Рассмотрим, какие параметры TCP/IP могут меняться при конфигурировании.
Link-layer_parameters,_per_interface:(параметры уровня сетевых интерфейсов)
Параметр | диапазон значений |
Trailers | on/off (добавляется ли хвостовик) |
Таймаут ARP кэша | целое (секунды) |
Инкапсуляция Ethernet | RFC-894/RFC-1042 |
Для разных сетевых интерфейсов набор параметров, вообще говоря, различается, что обусловлено спецификой каждой конкретной технологии. Например, самый распространенный способ доступа домашних пользователей и малых офисов в – коммутируемый доступ по телефонной сети общего пользования через модем по протоколу PPP предполагает настройку, по крайней мере, следующих параметров:
Параметры COM порта – максимальная скорость обмена, формат стартстопного символа (число информационных бит, стоповых бит, наличие проверки на четность), параметры буфера микросхемы последовательного порта, особенности обработки управляющих сигналов.
Параметры модема – программное или аппаратное управление потоком, строка инициализации (особая статья – посредством этой строки можно сделать с модемом все – от установки мощности передатчика до выбора допустимых видов модуляции, скоростей передачи данных, набора протоколов коррекции ошибок и сжатия данных и их параметров).
Параметры коммутируемого соединения – способ набора номера, номер дозвона, использование префиксов для выхода в нужную сеть.
Параметры протокола канального уровня – сам протокол (PPP, SLIP), параметры аутентификации (логин и пароль), использование программного сжатия всего пакета или заголовков и т.д. Наконец, именно здесь мы определяем набор протоколов сетевого уровня, который будет использоваться поверх PPP.
IP-layer_parameters,_per_interface (параметры сетевого уровня):
Параметры IP-уровня | диапазон значений |
IP –адрес | (адрес) |
Маска субсети | (маска адреса) |
MTU | целое |
All-subnets-MTU | on/off |
Широковещательный адрес | 0x00000000/0xffffffff |
Определить маску | on/off |
Быть поставщиком масок | on/off |
Выполнять поиск маршрутизатора | on/off |
Адрес маршрутизатора по умолчанию | (адрес) |
Адреса серверов имен (обычно 2) | (адрес) |
Быть маршрутизатором | on/off |
TTL по умолчанию | целое |
В ряде случаев задаются и другие параметры, например
Non-local source routing (использовать маршрутизацию от источника для нелокальных адресов) | on/off |
Фильтры для non-local source routing | (список) |
Maximum reassemble size | целое |
Если узел использует адаптивное определение MTU для маршрута. | |
PMTU aging timeout | целое |
MTU plateau table | (список) |
Маршрутизаторы по умолчанию:
Адрес маршрутизатора | (адрес) |
Уровень предпочтения | целое |
Статические маршруты | список: |
Место назначения | (host/subnet/net) |
Маска места назначения | (маска адреса) |
Тип услуг | целое |
Соседний маршрутизатор | (адрес) |
Игнорирование переадресации | on/off |
PMTU | целое |
Выполнить поиск PMTU | on/off |
TCP_parameters,_per_host (параметры транспортного уровня TCP):
TTL | целое (секунды) |
Интервал Keep-alive | целое (секунды) |
Размер данных Keep-alive | 0/1 |
MTU=Path MTU Discovery (RFC-1191, предлагаемый стандарт) | |
RD=Router Discovery (RFC-1256, предлагаемый стандарт) | |
При конфигурировании сервисов прикладного уровня устанавливается:
- включение соответствующего сервиса;
- используемые номера портов TCP/UDP;
- приоритет и параметры качества обслуживания для управления/данных;
- количество одновременно открытых соединений;
- специфические для данного сервиса.
При конфигурировании маршрутизаторов также устанавливаются:
Параметры динамических протоколов маршрутизации:
- зона ответственности (сеть, идентификатор области, № автономной системы);
- приоритет (при выборе выделенного маршрутизатора);
- таймауты;
- параметры аутентификации;
- специфические для данного протокола.
Параметры фильтрации:
- запрещенные адреса отправителей/получателей;
- запрещенные сервисы (по типу протокола IP-protocol), или конкретных запросов;
- разрешение/запрет определенных опций IP;
- запрет определенных сочетаний флагов TCP;
- анализ размеров полей данных сообщений на корректность;
- другие специфические параметры.
Кроме маршрутизаторов, фильтрацию осуществляют и специальные прокси-серверы (FireWall), обеспечивающие внешнюю безопасность сетей.
Файлы конфигурационной информации.
Название конфигурационных файлов UNIX и их назначения приведены ниже
название файла | Назначение |
/etc/hosts | База данных имен ЭВМ и их IP-адресов (ею пользуются такие утилиты, как ping и ifconfig) |
/etc/networks | База данных имен ЭВМ и их MAC-адресов (адресов сетевых карт). |
/etc/ethers | Опционный файл, который содержит имена субсетей, их сетевые маски или сетевые адреса доменов |
/etc/protocols | Конфигурационный файл, где содержится перечень имен поддерживаемых протоколов и их кодов. Первое поле содержит официальное название протокола, далее следует код протокола, третье поле содержит псевдоним протокола. |
/etc/services | Файл, определяющий взаимодействие в системе клиент-сервер. Первое поле содержит название процесса (Echo, tcpmux, systat, netstat, chargen, TFTP, NNTP, POP-3, login, talk и т.д.), второе поле хранит номер порта и имя протокола. |
/etc/syslog | Определяет типы сообщений и проход к log-файлу |
/etc/inetd.conf | Содержит последовательность записей, определяющих работу протоколов Интернет: имя услуги (из файла /etc/services); тип сокета (stream, dgram, raw или rdm); протокол (из файла /etc/protocols); статус ожидания (wait-status); пользователь;проход к серверу. |
/etc/routed | Используется при загрузке системы, определяет взаимодействие с другими машинами |
/etc/passwd | Информация для идентификации пользователей и их паролей |
/etc/hosts.equiv | Содержит имена машин и пользователей, что позволяет авторизованному пользователю входить в другие машины, не вводя пароль. |
/etc/bootptab | Определяет адреса и загрузочные файлы |
/etc/snmp.conf | Определяет содержимое поля community и допустимые адреса. |
/etc/resolv.conf | Служба имен. Определяет имя локального домена и следующего вышестоящего сервера имен. |
/etc/named.boot | Определяет положение баз данных, других серверов имен и доменов, обслуживаемых named. |
/usr/local/domain/named.fwd | База данных имен для обычных запросов. Проход может быть и иным, он указывается в named.boot. |
/usr/local/domain/named.rev | База данных сервера имен для запросов в IN-ADDR.ARPA. Замечание о проходе в предшествующем пункте справедливо и здесь. |
/usr/local/domain/named.ca | База данных сервера имен для инициализации кэша. Замечание о проходе для named.fwd справедливо и здесь. Смотри также документ RFC-1033. Содержимое файла можно прочитать с помощью процедуры nslookup. |
Файл /etc/passwd содержит записи аутентификационных параметров пользователей. Каждая запись содержит 7 полей. В первом поле записано имя пользователя (LOGIN ID) в представлении ASCII. Второе поле содержит зашифрованный пароль пользователя. Шифрование осуществляется с добавлением символов, что делает обратную дешифровку невозможной. Причем одно и то же слово при таком методе может быть зашифровано различным способом. Третье поле является числовым номером пользователя (UID). В четвертом поле записывается код группы пользователей, к который принадлежит данный клиент. Пятое поле содержит комментарий администратора. В шестом поле хранится имя базового каталога пользователя. В заключительном поле записывается имя командного интерпретатора, который будет использоваться по умолчанию. В новейших версиях UNIX файл /etc/passwd содержит только "x" во втором поле записи для каждого пользователя, что указывает на использование файла /etc/shadow, где в зашифрованном виде содержатся пароли пользователей. Доступ к этому файлу имеет только администратор. Информация о членах групп пользователей хранится в файле /etc/group/.
Файл /usr/lib/aliases используется для создания почтовых ящиков, которым не соответствуют какие-либо аккоунты. Здесь прописываются псевдонимы, которым система пересылает поступающие почтовые сообщения. Строка переадресации в этом файле имеет форму:
alias: имя_пользователя или
alias: имя_пользователя_1, имя_пользователя_2, ..., имя_пользователя_N.
В первом случае вся почта приходящая alias переадресуется пользователя с указанным именем. Во втором – всем пользователям, имена которых представлены в списке. Если список не умещается в одной строке, перед вводом "возврата каретки" следует напечатать символ "/". В качестве аккоунтов могут использоваться как локальные так и стандартные почтовые адреса. Для особо длинных списков можно ввести специальную строку в файл /usr/lib/aliases:
authors:":include:/usr/local/lib/authors.list", где authors - псевдоним, а authors.list - файл, содержащий список адресатов, кому следует переслать сообщение.
Наиболее мощной и по этой причине наиболее опасной возможностью файла псевдонимов является переадресация входной почты программе, указанной в псевдониме. Когда первым символом имени аккоунта в псевдониме является вертикальная черта (|), то управление будет передано программе, чье имя следует за этим символом, а входные почтовые сообщения будут передаваться этой программе, например строка:
listserv: "|/usr/local/bin/listserv -l"
обеспечит пересылку почты программе listserv, как если бы исполнялась команда cat mailfile|listserv -l. Эта техника используется для интерпретации содержимого поля subject или тела сообщения в качестве команд управления подписными листами.
Файл named.boot, который служит для инициализации сервера имен, имеет следующую структуру. Строки, начинающиеся с точки с запятой являются комментариями. Строка sortlist определяет порядок, в котором выдаются адреса сервером, если их число в отклике превышает 1. Запись directory, описывает положение информационных файлов (имя проход/каталога). Строка cashe, служит для инициализации кэша сервера имен с использованием файла named.ca. Этот также как и другие файлы должны находиться в каталоге, указанном в записи directory. Записи primary указывают, в каких файлах размещена информация таблиц соответствия имен и IP-адресов. Последняя запись primary содержит информацию для локальной ЭВМ. В записях secondary специфицируется данные, которые должны считываться с первичного сервера и из локальных файлов.
В файле named.local содержится локальный интерфейс обратной связи сервера имен. Файл включает в себя только одну запись SOA (Start of Authority) и две ресурсных записи. Запись SOA определяет начало зоны. Символ @ в начале первого поля записи задает имя зоны. Четвертое поле этой записи содержит имя первичного сервера имен данного субдомена, а следующее поле хранит имя администратора, ответственного за данный субдомен (его почтовый адрес). Запись SOA включает в себя список из 5 чисел, заключенный в скобки.
•Версия или серийный номер. Первое число в списке увеличивается каждый раз при актуализации файла. Вторичные серверы имен проверяют и сравнивают номер версии файла первичного сервера с имеющимся у них кодом, для того чтобы определить, следует ли копировать базу данных DNS.
•Время обновления (refresh time). Определяет время в секундах, задающее период запросов вторичного DNS к первичному.
•Время повторной попытки. Задает время в секундах, когда вторичный сервер имен может повторить запрос в случае неудачи предыдущего.
•Время истечения пригодности (expiration time). Верхний предел временного интервала в секундах по истечении которого база данных вторичного DNS считается устаревшей без проведения актуализации.
•Минимум. Значение по умолчанию для таймера TTL для экспортируемых ресурсных записей.
Файл /etc/hosts.equiv позволяет составить список ЭВМ, объединенных в группу. Пользователь, находящийся в одной из ЭВМ этой группы, может установить связь с другой, не вводя своего пароля. Понятно, что применение этого метода входа, предоставляя некоторые удобства, создает и определенные угрозы с точки зрения сетевой безопасности.
Файл .rhosts, который размещается в корневом каталоге пользователя, позволяет ему описать список ЭВМ, куда он имеет доступ. При этом появляется возможность войти из данной ЭВМ в любую из названных машин без ввода пароля. Замечания об использовании файла hosts.equiv в полном объеме справедливы и в данном случае.
Если к ЭВМ подключены модемы, необходимо применение так называемого dialup-пароля. Удаленный пользователь помимо своего ID и пароля должен ввести еще и dialup-пароль, который является общим для всех работающих на данной ЭВМ. Если все три параметра аутентификации корректны, доступ будет разрешен. При ошибке в любом из трех компонентов ЭВМ попросит повторить их ввод, не указывая, где совершена ошибка.
Файл /etc/dpasswd является исполняемым и может реализовать ряд опций.
•a [список] характеризует список терминалов, который добавляется к /etc/dialups. Пользователь при входе с такого терминала должен будет ввести пароль dialup. Элементы в списке заключаются в кавычки и разделяются пробелами или запятыми.
•d [список] определяет список терминалов, которые должны быть удалены из /etc/dialups и пользователю будет не нужно в будущем вводить пароль dialup при входе с этих терминалов.
•r [список] меняет login shell на /bin/sh для каждого из пользователей, перечисленных в списке.
•s [shell] модифицирует запись в файле /etc/d_passwd или добавляет новую запись.
•u [список] создает новое ядро (shell) для имен, указанных в списке. Добавляются записи в etc/d_passwd для нового ядра, а пароль работает для всех пользователей из списка, если не оговорено обратного.
•x [shell] удаляет shell и пароль из файла /etc/d_passwd