Построение корпоративной сети предприятия

 

Введение


В последнее время всё чаще документооборот и передача корпоративной информации совершается в электронном виде тем или иным способом. Для этого уже существует множество протоколов и методов передачи данных. Так, например, электронный документооборот предприятия производится средствами платформы , имеющей множество различных конфигураций под любые нужды бизнеса; пересылка документов по электронной почте с использованием почтовых протоколов POP, IMAP, SMTP; передача больших объемов информации с помощью FTP протокола; организация корпоративного сайта, используя веб-технологии.

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

Всё это стало возможным, благодаря компьютеризации и использованию сетевых технологий на предприятии. Но есть вещи, о которых нельзя забывать: сложность внедрения, безопасность, производительность, защищенность, надежность системы. Главными проблемами на сегодняшний день стали безопасность и жизнеспособность компьютерных систем.

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

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

Как раз для разрешения указанных противоречий в корпоративных сетях используются различные протоколы Virtual Private Network. С их помощью создаются виртуальные каналы связи поверх сети Интернет. Они дают возможность соединять локальные сети различных технологий и их сегменты в одну корпоративную сеть. Но самое главное достоинство, собственно ради чего они и нужны, это шифрование всего трафика, проходящего по туннелю на канальном уровне модели OSI. Шифрование обеспечивает защиту от доступа к передаваемой информации, а инкапсуляция не позволяет злоумышленнику выяснить адресат передаваемой информации.

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

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

Глава 1. Предметная область и постановка задачи


.1 Основные сведения о корпоративных сетях


1.1.1 Организация связи

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

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

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

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

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

Еще одна проблема Интернет, широко обсуждаемая в последнее время - безопасность. Если говорить о частной сети, вполне естественным представляется защитить передаваемую информацию от чужого взгляда. Непредсказуемость путей информации между множеством независимых узлов Интернет не только повышает риск того, что какой-либо не в меру любопытный оператор сети может сложить ваши данные себе на диск (технически это не так сложно), но и делает невозможным определение места утечки информации. Существует средства шифрования передаваемой информации, что позволяет частично решить эту проблему. Другой аспект проблемы безопасности опять же связан с децентрализованностью Интернет - нет никого, кто мог бы ограничить доступ к ресурсам вашей частной сети. Поскольку это открытая система, где все видят всех, то любой желающий может попробовать попасть в вашу офисную сеть и получить доступ к данным или программам. Есть, конечно, средства защиты (для них принято название Firewall - по-русски, точнее по-немецки "брандмауэр" - противопожарная стена). Однако считать их панацеей не стоит. Любую защиту можно сломать, лишь бы это окупало стоимость взлома. Необходимо также отметить, что сделать подключенную к Интернету систему неработоспособной можно и, не вторгаясь в вашу сеть. Известны случаи несанкционированного доступа к управлению узлами сети, или просто использования особенностей архитектуры Интернета для нарушения доступа к тому или иному серверу. Таким образом, рекомендовать Интернет как основу для систем, в которых требуется надежность и закрытость, никак нельзя. Подключение к Интернету в рамках корпоративной сети имеет смысл, если вам нужен доступ к тому громадному информационному пространству, которое собственно и называют Сетью.

1.1.2 Понятие «Корпоративная сеть»

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

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

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

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


Рис.1.1.2.1 Общая схема корпоративной сети


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

1.1.3 Структура корпоративной сети

На Рис. 1.1.3.1 представлена возможная схема структуры корпоративной сети.


Рис.1.1.3.1 Пример структуры корпоративной сети


Выделим основные устройства:

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

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

. Сетевое МФУ. МФУ - многофункциональное устройство, выполняющее функции принтера, сканера, копира. Подключение к сети осуществляется путем сетевого кабеля. Если МФУ не имеет сетевого порта, то оно подключается к компьютеру и с помощью средств операционной системы открывается на доступ по сети другим пользователям.

. Wi-fi точка доступа. Устройство, с помощью которого создаются беспроводные сети. Используется для подключения ноутбуков и других портативных устройств, имеющих модуль wi-fi. Преимущество перед кабельной системой заключается в мобильности и ненужности протягивать кабель и портить интерьер. Скорость доступа в зависимости от используемого стандарта может быть от 50 до 125 мбит/сек. Для защиты доступа к сети есть несколько стандартов обеспечения безопасности: WEP, WPA, WPA2 и т.д.

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

. Коммутатор. Устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети. Коммутатор передаёт данные только непосредственно получателю, исключение составляет широковещательный трафик (на MAC-адрес FF:FF:FF:FF:FF:FF) всем узлам сети. Это повышает производительность и безопасность сети, избавляя остальные сегменты сети от необходимости (и возможности) обрабатывать данные, которые им не предназначались.

. Маршрутизатор. Сетевое устройство, на основании информации о топологии сети и определённых правил принимающее решения о пересылке пакетов сетевого уровня (уровень 3 модели OSI) между различными сегментами сети. Проще говоря, это устройство, которое связывает 2 и более разные сети (в нашем случае это локальная сеть офиса и Интернет).

Маршрутизатор может быть типа hardware и software. Hardware маршрутизатор - это готовое устройство, в программную оболочку которого вшиты базовые функции маршрутизатора. Software маршрутизатор - это отдельный сервер, обычно с linux/unix операционной системой, на базе которой с помощью средств firewallа настраивается маршрутизация и правила обмена трафиком. При выборе того или иного типа маршрутизатора обычно руководствуются количеством конечных пользователей, сложностью правил и требуемой надежностью.

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

Преимущества терминального сервера

·Снижение временных расходов на администрирование;

·Повышение безопасности - снижение риска взломов;

·Снижение затрат на программное и аппаратное обеспечение;

Чаще всего в роли операционной системы выступает Microsoft Windows Server.

. Файловый сервер. Это выделенный сервер, оптимизированный для выполнения файловых операций ввода-вывода. Предназначен для хранения файлов любого типа. Как правило, обладает большим объемом дискового пространства, и, как правило, файл-сервер оборудован RAID контроллером для обеспечения быстрой записи и чтения данных.

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

Чаще всего используется операционная система семейства linux/unix, так как они по сравнению с другими более надежны и более производительны. В роли самого веб-сервера выступает специальное программное обеспечение, например Apache или nginx.

. Сервер приложений. Это программная платформа, предназначенная для эффективного исполнения процедур (программ, механических операций, скриптов) которые поддерживают построение приложений. Сервер приложений действует как набор компонент доступных разработчику программного обеспечения через API (Интерфейс прикладного программирования) определенный самой платформой.

На предприятии, очень часто используется приложение . У этой программы есть несколько вариантов работы с базой данных: файловый режим - вся база находится в одном файле ( имеет смысл, когда работающих с базой клиентов не больше 10-15 человек), клиент-серверный режим - база данных находится на sql сервере. В клиент-серверном режиме пользователи не напрямую работают с базой данных, а через 1С сервер, который обрабатывает запросы в понимаемую форму для sql сервера.

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

Как раз для таких целей и существует сервер приложений.

. Сервер БД. Сервер БД обслуживает базу данных и отвечает за целостность и сохранность данных, а также обеспечивает операции ввода-вывода при доступе клиента к информации. Большинство СУБД используют язык SQL (Structured Query Language - язык структурированных запросов), так как он удобен для описания логических подмножеств БД.

Назначение SQL:

создание БД и таблицы с полным описанием их структуры;

выполнение основных операций манипулирования данными (такие как вставка, модификация и удаление данных из таблиц);

выполнение простых и сложных запросов.

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


1.2 Виртуальные частные сети


1.2.1 Организация VPN

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

Виртуальная частная сеть или просто VPN (Virtual Private Network) - это технология, при которой происходит обмен информацией с удаленной локальной сетью по виртуальному каналу через сеть общего пользования с имитацией частного подключения «точка-точка». Под сетью общего пользования можно подразумевать как Интернет, так и другую интрасеть.

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

Центральная сеть любой организации может аутентифицировать пользователей несмотря на то, что они получают доступ через публичную сеть.

Удачно спроектированная VPN может принести организации немало выгод. Ее внедрение позволяет:

·расширить географию доступа сотрудников к инфраструктуре организации;

·повысить безопасность передачи информации;

·уменьшить эксплуатационные затраты по сравнению с традиционными глобальными сетями;

·сократить время передачи информации и снизить командировочные расходы;

·повысить производительность труда;

·упростить топологию сети;

·увеличить мобильность пользователей и дать им более гибкий график работы.

Основные свойства VPN:

·безопасность;

·надежность;

·масштабируемость;

·управляемость.

Рассмотрим вариант организации сети учреждения с филиалами с использованием виртуальных частных сетей (рис. 1.2.1.1).


Рисунок 1.2.1.1 Организация сети учреждения с филиалами с использованием VPN

Особенности такой организации:

·Cкорость передачи данных. Провайдеры могут обеспечить достаточно высокоскоростной доступ в Интернет, однако с локальной, проверенной временем 100 Мбит сетью он все равно не сравнится. Но так ли важно каждый день перекачивать сотни мегабайт информации через организованную сеть? Для доступа к локальному сайту предприятия, пересылки электронного письма с документом вполне достаточно скорости, которой могут обеспечить Интернет-провайдеры;

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

·За организованную сеть никому не надо платить. Плата за использование Интернета в наши дни сама по себе достаточно демократичная, а гибкие тарифы позволяю выбрать каждому оптимальный пакет;

·Масштабируемость системы. При открытии нового филиала или добавления сотрудника, которому позволено пользоваться удаленным доступом не нужно никаких дополнительных затрат на коммуникации.

·Гибкость системы. Для VPN не важно, откуда вы осуществляете доступ. Отдельно взятый сотрудник может работать из дома, а может во время чтения почты из корпоративного почтового ящика фирмы пребывать в командировке в абсолютно другом государстве.

Способы реализации VPN:

1.В виде специального программно-аппаратного обеспечения

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

2.В виде программного решения

Используют персональный компьютер со специальным программным обеспечением, обеспечивающим функциональность VPN.

3.Интегрированное решение

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

Способы организации VPN:

В VPN наиболее целесообразно выделить следующие три основных способа:

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

Организация такой модели виртуальной частной сети предполагает наличие VPN-сервера в центральном офисе, к которому подключаются удаленные клиенты. Удаленные клиенты могут работать на дому, либо, используя переносной компьютер, из любого места планеты, где есть доступ к всемирной паутине.

Данный способ организации виртуальной частной сети целесообразно применять в случае географически не привязанного доступа сотрудников к корпоративной сети организации.

2.Связь в одну общую сеть территориально распределенных филиалов фирмы. Этот способ называется Intranet VPN.

При организации такой схемы подключения требуется наличие VPN серверов равное количеству связываемых офисов.

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

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

4.Client/Server VPN. Он обеспечивает защиту передаваемых данных между двумя узлами (не сетями) корпоративной сети. Особенность данного варианта в том, что VPN строится между узлами, находящимися, как правило, в одном сегменте сети, например, между рабочей станцией и сервером. Такая необходимость очень часто возникает в тех случаях, когда в одной физической сети необходимо создать несколько логических сетей. Например, когда надо разделить трафик между финансовым департаментом и отделом кадров, обращающихся к серверам, находящимся в одном физическом сегменте. Этот вариант похож на технологию VLAN, но вместо разделения трафика, используется его шифрование.


1.2.2 OpenVPN

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

Для реализации защиты передаваемой информации существует множество протоколов, которые защищают VPN, но все они подразделяются на два вида и работают в паре:

·протоколы, инкапсулирующие данные и формирующие VPN соединение;

·протоколы, шифрующие данные внутри созданного туннеля.

Первый тип протоколов устанавливает туннелированное соединение, а второй тип отвечает непосредственно за шифрование данных. Сравним две реализации создания VPN на основе стандарта IPsec и OpenVpn.

Для объединения в сеть нескольких филиалов сегодня наиболее часто используется стандарт IPSec. Слабые места IPSec общеизвестны. Сложная структура с довольно непростой при определенных обстоятельствах конфигурацией, разные (в зависимости от производителя) реализации и «бреши» в системе безопасности, проблемы с firewallом - вот лишь немногие недостатки, постоянно подстегивающие разработку современных технологий виртуальных частных сетей (Virtual Private Network, VPN). Результатом стало появление проекта открытого программного обеспечения OpenVPN. Последняя его версия - 2.0 - предлагает гораздо более широкий спектр возможностей, во многом превосходящих функциональность классических VPN.

Технология OpenVPN превратилась в серьезную альтернативу IPSec. Организации, где не требуется в обязательном порядке применять IPSec, могут благодаря OpenVPN без больших затрат получить многочисленные преимущества, ранее недоступные. Опции повсеместной защиты ноутбуков посредством центрального корпоративного firewallа, туннелирования firewallов и посредников WWW, а также ретрансляции широковещательного трафика заметно превышают функциональный охват IPSec, причем используемые технологии (SSL, устройства Tap/Tun) представляют собой испытанные и проверенные стандарты. OpenVPN стала самой современной и надежной технологией VPN из доступных, при этом бесплатной и очень простой в конфигурировании.

Остановимся на технологии OpenVPN, чтобы познакомиться с ней поближе.

Созданный в 2002 году, OpenVPN - это инструмент с открытым исходным кодом, используемый для построения site-to-site VPN сетей с использованием SSL/TLS протокола или с разделяемыми ключами. Он исполняет роль безопасного туннеля для передачи данных через один TCP/UDP порт в небезопасной сети как Интернет.

Преимущество OpenVPN заключается в легкости инсталляции и настройки, что является редким случаем для таких инструментов.

OpenVPN может быть установлен практически на любую платформу включая: Linux, Windows 2000/XP/Vista, OpenBSD, FreeBSD, NetBSD, Mac OS X и Solaris.

Linux системы должны работать на ядре 2.4 или выше. Принципы конфигурирования одинаковы для всех платформ.

OpenVPN использует клиент/сервер архитектуру. Он должен быть установлен на все узлы VPN сети, где один узел должен быть сервером, а остальные клиентами.

OpenVPN создает TCP или UDP туннель, при этом данные проходящие через этот туннель шифруются. Стандартный порт для OpenVPN - UDP 1194, но можно использовать любой другой TCP или UDP порт. С версии 2.0 один и тот же порт можно использовать для нескольких туннелей на OpenVPN сервере.

Можно создать Ethernet (Мост) или IP (Маршрутизация) VPN сеть используя соответствующие сетевые драйвера TAP или TUN. TAP/TUN доступны на всех платформах и включены в ядро Linux начиная с версии 2.4.

Опции подробно описаны в страницах справочного руководства (man pages).

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

Для того чтобы избежать этой проблемы, необходимо использовать Инфраструктуру Открытых Ключей (PKI). При этом каждый узел владеет двумя ключами: открытый ключ, известный всем и закрытый ключ, доступный только его владельцу. Такую структуру использует OpenSSL, интегрированный в OpenVPN, для аутентификации VPN узлов перед тем как начать передавать зашифрованные данные. Этот режим считается более предпочтительным.

Обратим внимание на структуру сети и концепцию безопасных ключей для лучшего понимания OpenVPN.

В течении многих лет IPSec был единственным протоколом который мог обеспечить шифрование данных в site-to-site и клиент/сервер VPN сетях. К счастью ситуация изменилась с появлением SSL протокола. Предназначенный для обеспечения безопасности таких протоколов как HTTP, SSL позволяет сейчас обеспечить безопасность для любого приложения и шифровать TCP или UDP туннели в site-to-site и клиент/сервер VPN сетях.

SSL (Secure Sockets Layers) был создан Netscape в 90-х. Было выпущено две версии v2 (1994) и v3 (1995). В 2001 IETF купила и обновила патент. В это же время SSL был переименован в TLS (Transport Layer Security). выполняет две основные задачи:

Аутентификация сервера и клиента по средством Инфраструктуры Открытых Ключей (PKI).

Создает шифрованное соединение между клиентом и сервером для обмена сообщениями.

Стандартная модель OSI состоит из семи уровней, в то время как четырех уровневая модель наиболее подходит для TCP/IP (уровень приложений, транспортный, сетевой, канальный, физический), который используется огромным количеством приложений.разположен между транспортным уровнем и уровнем приложения и будет шифровать уровень приложения.

Работа SSL проходит в 4 этапа:

1.SSL Handshake: Определяется метод шифрования для передачи данных;

2.SSL Change Cipher Spec: Создание и передача ключа между клиентом и сервером на эту сессию;

.SSL Alert: Доставка сообщений SSL об ошибках между клиентом и сервером;

.SSL Record: Передача данных.

Для шифрования и аутентификации OpenVPN использует OpenSSL, который является бесплатным и распространяется с открытым исходным кодом.

Выделим основные плюсы и минусы этой технологии:

+ Зрелые криптографические алгоритмы (SSL/TLS);

+ SSL/TLS являются отраслевыми стандартами и входят в сферу ответственности IETF (Internet Engineering Task Force);

+ Простая технология, простая инсталляция, простое конфигурирование;

+ TCP/UDP, для множества внешних сотрудников нужен лишь один порт;

+ Индивидуальная конфигурация для клиентов;

+ Гибкость вследствие использования устройств Tun/Tap;

+ Никаких проблем с технологией NAT;

+ Быстрое повторное подключение, прозрачность для DynDNS, сеансы сохраняются;

+ Сжатие;

+ Высокая совместимость с firewallми и посредниками WWW;

+ Производительность (достаточно маломощных процессоров) ;

+ Модульная расширяемая архитектура;

+ Выполнение в пользовательском пространстве - в Linux не нужны привилегии администратора;

+ Высокая производительность даже на старых машинах;

+ Формирование трафика уже включено;

Нет специализированных устройств;

Дефицит обученного персонала;

Отсутствие интерфейсов Web или интерфейсов для администрирования.


1.2.3 SSH

Еще один протокол, с помощью которого можно создавать VPN - это SSH.

SSH (Secure SHell - «безопасная оболочка») - сетевой протокол сеансового уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet, но, в отличие от него, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.

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

Поддержка SSH реализована во всех UNIX?ïîäîáíûõ ñèñòåìàõ, è íà áîëüøèíñòâå èç íèõ â ÷èñëå ñòàíäàðòíûõ óòèëèò ïðèñóòñòâóþò êëèåíò è ñåðâåð ssh. Ñóùåñòâóåò ìíîæåñòâî ðåàëèçàöèé SSH-êëèåíòîâ è äëÿ íå-UNIX ÎÑ.- ýòî ïðîòîêîë ñåàíñîâîãî óðîâíÿ. SSH-ñåðâåð îáû÷íî ïðîñëóøèâàåò ñîåäèíåíèÿ íà TCP-ïîðòó 22. Äëÿ àóòåíòèôèêàöèè ñåðâåðà â SSH èñïîëüçóåòñÿ ïðîòîêîë àóòåíòèôèêàöèè ñòîðîí íà îñíîâå àëãîðèòìîâ ýëåêòðîííî-öèôðîâîé ïîäïèñè RSA или DSA. Для аутентификации клиента также может использоваться ЭЦП RSA или DSA, но допускается также аутентификация при помощи пароля и даже ip-адреса хоста. Аутентификация по паролю наиболее распространена; она безопасна, так как пароль передается по зашифрованному виртуальному каналу. Аутентификация по ip-адресу небезопасна, эту возможность чаще всего отключают. Для создания общего секрета (сеансового ключа) используется алгоритм Диффи - Хеллмана (DH). Для шифрования передаваемых данных используется симметричное шифрование, алгоритмы AES, Blowfish или 3DES. Целостность переданных данных проверяется с помощью HMAC-SHA1/HMAC-MD5.

Для сжатия шифруемых данных может использоваться алгоритм LempelZiv (LZ77), который обеспечивает такой же уровень сжатия, что и архиватор ZIP. Сжатие SSH включается опционально.

Для создания VPN сетей используется так называемая технология ssh туннелирования. SSH-туннель - это туннель, создаваемый посредством SSH-соединения и используемый для шифрования туннелированных данных. Используется для того, чтобы обезопасить передачу данных в Интернете. Особенность состоит в том, что незашифрованный трафик какого-либо протокола шифруется на одном конце SSH-соединения и расшифровывается на другом.

Практическая реализация может выполняться несколькими способами:

·Использованием приложений, умеющих работать через SSH-туннель;

·Созданием VPN-туннеля, подходит практически для любых приложений;

·Если приложение работает с одним определённым сервером, можно настроить SSH-клиент таким образом, чтобы он пропускал через SSH-туннель TCP-соединения, приходящие на определённый TCP-порт машины, на которой запущен SSH-клиент. Например, клиенты терминального сервера подключаются по умолчанию на порт 3389. Тогда, чтобы настроить подключение к серверу через SSH-туннель, SSH-клиент настраивается на перенаправление подключений с любого порта локальной машины (например порт 5000) на удалённый сервер (например, server.com и порт 3389). В данном случае клиент настраивается на подключение к серверу localhost (если ssh-клиент запущен на той же машине что и терминальный клиент) и порт 5000.

Плюсы этой технологии создания vpn сетей в том, что для реализации не нужно устанавливать и настраивать дополнительный софт. Серверная и клиентская часть обычно ставятся вместе с unix/linux системой по умолчанию. Так же стоит отметить, что настройка проходит гораздо легче, чем у любой другой технологии. Эта технология, хотя немного и уступает по производительности, но для создания защищенных сетей подходит больше чем протокол IPsec, так как по масштабируемости и легкости настраивания каналов он в разы превосходит его.


1.3 Ìîíèòîðèíã êîðïîðàòèâíûõ ñåòåé


Äëÿ ïîâûøåíèÿ íàäåæíîñòè ðàáîòû êîðïîðàòèâíîé ñåòè, íåîáõîäèìî ðåøèòü âîïðîñû å¸ ìîíèòîðèíãà.

Òåðìèíîì ìîíèòîðèíã ñåòè íàçûâàþò ðàáîòó ñèñòåìû, êîòîðàÿ âûïîëíÿåò ïîñòîÿííîå íàáëþäåíèå çà êîìïüþòåðíîé ñåòüþ â ïîèñêàõ ìåäëåííûõ èëè íåèñïðàâíûõ ñèñòåì è êîòîðàÿ ïðè îáíàðóæåíèè ñáîåâ ñîîáùàåò î íèõ ñåòåâîìó àäìèíèñòðàòîðó ñ ïîìîùüþ ïî÷òû, ïåéäæåðà èëè äðóãèõ ñðåäñòâ îïîâåùåíèÿ. Ýòè çàäà÷è ÿâëÿþòñÿ ïîäìíîæåñòâîì çàäà÷ óïðàâëåíèÿ ñåòüþ.

 òî âðåìÿ êàê ñèñòåìà îáíàðóæåíèÿ âòîðæåíèé ñëåäèò çà ïîÿâëåíèåì óãðîç èçâíå, ñèñòåìà ìîíèòîðèíãà ñåòè âûïîëíÿåò íàáëþäåíèå çà ñåòüþ â ïîèñêàõ ïðîáëåì, âûçâàííûõ ïåðåãðóæåííûìè è/èëè îòêàçàâøèìè ñåðâåðàìè, äðóãèìè óñòðîéñòâàìè èëè ñåòåâûìè ñîåäèíåíèÿìè.

Íàïðèìåð, äëÿ òîãî, ÷òîáû îïðåäåëèòü ñîñòîÿíèå âåá-ñåðâåðà, ïðîãðàììà, âûïîëíÿþùàÿ ìîíèòîðèíã, ìîæåò ïåðèîäè÷åñêè îòïðàâëÿòü çàïðîñ HTTP íà ïîëó÷åíèå ñòðàíèöû; äëÿ ïî÷òîâûõ ñåðâåðîâ ìîæíî îòïðàâèòü òåñòîâîå ñîîáùåíèå ïî SMTP è ïîëó÷èòü ïî IMAP èëè POP3.

Íåóäàâøèåñÿ çàïðîñû (íàïðèìåð, â òîì ñëó÷àå, êîãäà ñîåäèíåíèå íå ìîæåò áûòü óñòàíîâëåíî, îíî çàâåðøàåòñÿ ïî òàéì-àóòó, èëè êîãäà ñîîáùåíèå íå áûëî äîñòàâëåíî) îáû÷íî âûçûâàþò ðåàêöèþ ñî ñòîðîíû ñèñòåìû ìîíèòîðèíãà.  êà÷åñòâå ðåàêöèè ìîæåò áûòü:

·îòïðàâëåí ñèãíàë òðåâîãè ñèñòåìíîìó àäìèíèñòðàòîðó;

·àâòîìàòè÷åñêè àêòèâèðîâàíà ñèñòåìà çàùèòû îò ñáîåâ, êîòîðàÿ âðåìåííî âûâåäåò ïðîáëåìíûé ñåðâåð èç ýêñïëóàòàöèè, çàìåíèâ åãî ðåçåðâíûì, äî òåõ ïîð, ïîêà ïðîáëåìà íå áóäåò ðåøåíà.

Êðîìå îòêàçîâ ñèñòåì, ïðîöåññîâ, îáîðóäîâàíèÿ, òàêæå ñëåäÿò è çà èõ ñîñòîÿíèåì â öåëîì.

Çíàÿ, êàêîé ïîòîê èíôîðìàöèè ïðîõîäèò ÷åðåç ñåòåâîé èíòåðôåéñ, ìîæíî áóäåò âûáðàòü îïòèìàëüíûé ïàêåò Èíòåðíåòà ó ïîñòàâùèêà, ñýêîíîìèâ ïðè ýòîì íå ìàëûå äåíüãè. Ñåé÷àñ ýòî äîâîëüíî àêòóàëüíàÿ ïðîáëåìà, òàê êàê ÷àñòî â áèçíåñ öåíòðàõ ñóùåñòâóåò äîãîâîðåííîñòü ñ ïðîâàéäåðîì î òîì, ÷òî òîëüêî îíè èìåþò ïðàâî äàâàòü äîñòóï â Èíòåðíåò. Ñëåäîâàòåëüíî, è öåíîâàÿ ïîëèòèêà ïîëíîñòüþ óñòàíàâëèâàåòñÿ ïðîâàéäåðîì. Öåíû ñîâåðøåííî íåñîïîñòàâèìû ñ òåìè, ÷òî óñòàíàâëèâàþòñÿ â ïðîöåññå æåñòêîé êîíêóðåíöèè.

Ïî ãðàôèêàì íàãðóçêè íà ïðîöåññîð, îáúåìó çàíèìàåìîé îïåðàòèâíîé ïàìÿòè, ìîæíî ñóäèòü î äîñòàòî÷íîñòè ðåñóðñîâ ñåðâåðà äëÿ çàäà÷, èñïîëíÿåìûõ íà íåì. Ýòî äàåò îáîñíîâàíèå äëÿ îáíîâëåíèÿ ñåðâåðà.

Ïðàêòè÷åñêè âî âñåõ ôèðìàõ åñòü áîëüøèå îáúåìû èíôîðìàöèè, êîòîðûå âêëþ÷àþò â ñåáÿ âàæíûå äîêóìåíòû, áàçû äàííûõ, àðõèâû è ò.ä. Ïîòåðÿ ýòèõ äîêóìåíòîâ ïðèíåñåò ôèðìå áîëüøèå óáûòêè. Äëÿ òîãî ÷òîáû âñåãäà èìåòü ðåçåðâíóþ êîïèþ ýòèõ ôàéëîâ, íàñòðàèâàþòñÿ ïëàíû ðåçåðâíîãî êîïèðîâàíèÿ äàííûõ. Ñîçäàþòñÿ îáðàçû äàííûõ è ñêëàäûâàþòñÿ íà ôàéë-ñåðâåðå. Çà ñâîáîäíûì ìåñòîì íà ôàéë-ñåðâåðå è çà ñîçäàíèåì îáðàçîâ òîæå íåîáõîäèìî íàñòðàèâàòü ñëåæåíèå.

Ñëåæåíèå ÷àùå âñåãî ïðîèçâîäèòñÿ çà ñîñòîÿíèåì ñåðâåðîâ, ìàðøðóòèçàòîðîâ è äðóãîãî ñåòåâîãî îáîðóäîâàíèÿ. Ãðàìîòíî íàñòðîåííàÿ ñèñòåìà ìîíèòîðèíãà ìîæåò ñíèçèòü êîë-âî îòêàçîâ ñåòè è óâåëè÷èòü å¸ îòêàçîóñòîé÷èâîñòü.  òî æå âðåìÿ, àäìèíèñòðàòîðû ñåòè áóäóò áûñòðî è âîâðåìÿ îïîâåùåíû î íåïîëàäêàõ.

Åäèíñòâåííûì íåäîñòàòêîì òàêèõ ñèñòåì ÿâëÿåòñÿ ñëîæíîñòü ñîçäàíèÿ è íàñòðîéêè. Ñóùåñòâóåò ìíîæåñòâî ãîòîâûõ êîìïëåêñíûõ ðåøåíèé, íî íå âñåãäà ïî òåì èëè èíûì ïðè÷èíàì îíè ïîäõîäÿò ïîä óæå íàñòðîåííóþ è îòëàæåííóþ êîðïîðàòèâíóþ ñåòü. Ïîýòîìó ïðèõîäèòüñÿ âûáèðàòü è êîìáèíèðîâàòü ýòè ñèñòåìû äëÿ äîñòèæåíèÿ æåëàåìîãî ðåçóëüòàòà


1.4 Ïîñòàíîâêà çàäà÷è


Îäíî èç îñíîâíûõ òðåáîâàíèé, ïðåäúÿâëÿåìûõ ê ïîñòàíîâêå è ðåàëèçàöèè çàäà÷ äèïëîìíîãî ïðîåêòèðîâàíèÿ, ñîñòîèò â òîì, ÷òî âñå ðåçóëüòàòû è íà èõ îñíîâå âûâîäû äîëæíû áûòü ïîëó÷åíû â ðåàëüíûõ óñëîâèÿõ íà ðåàëüíîì ïðåäïðèÿòèè. Ýòî äàåò âîçìîæíîñòü ïðèäàòü ðåçóëüòàòàì äèïëîìíîé ðàáîòû ïðàêòè÷åñêóþ çíà÷èìîñòü. Ïðîâåäÿ ðàáîòó â ðåàëüíûõ óñëîâèÿõ, ìîæíî ðåàëüíî îöåíèòü ýôôåêòèâíîñòü èñïîëüçóåìûõ ñåòåâûõ òåõíîëîãèé íà îñíîâå êîëè÷åñòâåííîé îöåíêè ïðîèçâîäèòåëüíîñòè ñåòåâûõ êàíàëîâ.

Êðàòêî îïèøåì ïðåäìåòíóþ îáëàñòü. Ôèðìà çàíèìàåòñÿ ïðîäàæåé ñàóí, áàíü è ñîïóòñòâóþùèõ ýòîìó ìàòåðèàëîâ. Ñîñòîèò èç îôèñà, ñêëàäà è ìàãàçèíîâ, òåððèòîðèàëüíî ðàçíåñåííûõ ïî âñåìó ãîðîäó. Âñå ñåðâåðà ðàñïîëîæåíû ó ïðîâàéäåðà (êîëëîêàöèÿ), à èìåííî: ñåðâåðà òåðìèíàëîâ, ñåðâåð ïëàòôîðìû , ñåðâåð áàçû äàííûõ MS SQL è ìàðøðóòèçàòîð ïîä óïðàâëåíèåì îïåðàöèîííîé ñèñòåìû CentOs 5.5 ñ öåïî÷êàìè NAT â ïðàâèëàõ iPtables.

 îñíîâíîì ðàáîòà ïåðñîíàëà ïðîèñõîäèò íà ñåðâåðàõ òåðìèíàëîâ, ÷òî îáåñïå÷èâàåò íåêîòîðóþ öåíòðàëèçîâàííîñòü, ïðîñòîòó àäìèíèñòðèðîâàíèÿ (âñåãäà ëåã÷å àäìèíèñòðèðîâàòü 3 ñåðâåðà, ÷åì 50 êîìïüþòåðîâ) è, çà ñ÷åò íàñòðîåê iPtables íà ìàðøðóòèçàòîðå, áåçîïàñíîñòü. Ïîäêëþ÷åíèå èäåò ïî ïðîòîêîëó RDP (Remote Desctop Protokol). Òàê æå äëÿ ðàáîòû ïîñòîÿííî òðåáóåòñÿ îáìåí èíôîðìàöèåé ìåæäó îôèñàìè. Ïðåäïðèÿòèå ðàáîòàåò ñ êîíôèäåíöèàëüíîé èíôîðìàöèåé, ïîýòîìó âàæíà áåçîïàñíîñòü ïåðåäà÷è äàííûõ. Ìàãàçèíû ðàáîòàþ òîëüêî ñ ñåðâåðàìè, íàõîäÿùèìèñÿ ó ïðîâàéäåðà.

 îôèñå è íà ñêëàäå â êà÷åñòâå ìàðøðóòèçàòîðîâ âûñòóïàåò ñåðâåð ïîä îïåðàöèîííîé ñèñòåìîé Centos 5.5 ñ íàñòðîåííûìè öåïî÷êàìè nat â iptables.  ìàãàçèíàõ ñòîÿò îáû÷íûå hardware ìàðøðóòèçàòîðû. Íà ñåðâåðà òåðìèíàëîâ, 1Ñ ñåðâåð, ñåðâåð MS SQL 2008 óñòàíîâëåíà îïåðàöèîííàÿ ñèñòåìà MS Windows 2003 R2.

Äëÿ ïîñòðîåíèÿ ñèñòåìû, îáëàäàþùåé òðåáóåìûìè ïîòðåáèòåëüñêèìè ñâîéñòâàìè è ôóíêöèîíèðóþùåé â óñëîâèÿõ ðåàëüíûõ îãðàíè÷åíèé íåîáõîäèìî ðåøèòü ñëåäóùèå çàäà÷è:

1.Ñîçäàòü çàùèùåííóþ êîðïîðàòèâíóþ ñåòü äëÿ ïðåäïðèÿòèÿ;

2.Ïîäêëþ÷èòü ïî çàùèùåííûì êàíàëàì ìàãàçèíû ê ñåðâåðàì;

.Îöåíèòü ïðîèçâîäèòåëüíîñòü ñîçäàííûõ êàíàëîâ;

.Ñîçäàòü ñèñòåìó ìîíèòîðèíãà è îïîâåùåíèÿ î ïðîáëåìàõ ñ îáîðóäîâàíèåì êîðïîðàòèâíîé ñåòè.

Ïðåäñòàâèì ñòðóêòóðó ïðîåêòèðóåìîé êîðïîðàòèâíîé ñåòè ïðåäïðèÿòèÿ â âèäå, êàê ýòî ïîêàçàíî íà ðèñ. 1.4.1.

Ðèñ. 1.4.1 Ïðîåêòèðóåìàÿ êîðïîðàòèâíàÿ ñåòü

Ãëàâà 2. Âíåäðåíèå òåõíîëîãèé vpn â êîðïîðàòèâíóþ ñåòü è èõ ñðàâíèòåëüíàÿ îöåíêà


.1 Ðåàëèçàöèÿ íà îñíîâå òåõíîëîãèè OpenVPN


Ñíà÷àëà îáúåäèíèì â îäíó êîðïîðàòèâíóþ ñåòü îôèñ, ñêëàä è íàøè ñåðâåðà ó ïðîâàéäåðà. Äëÿ ýòîãî íàì íóæíî ïîñòðîèòü çàùèùåííûå êàíàëû - òóííåëè òîëüêî ìåæäó ìàðøðóòèçàòîðàìè, òàê êàê íåò íåîáõîäèìîñòè ïîäêëþ÷àòü êàæäûé êîìïüþòåð â îòäåëüíîñòè.

Èòàê: åñòü 3 ìàðøðóòèçàòîðà ïîä óïðàâëåíèåì ÎÑ CentOs. Ïåðåáðîñ ïàêåòîâ èç Èíòåðíåòà â ñåòü è îáðàòíî ïðîèçâîäèòñÿ ñ ïîìîùüþ òåõíîëîãèè NAT è ïðàâèë iptables. êîðïîðàòèâíûé ñåòü ìîíèòîðèíã ñåðâåð

Äàäèì äëÿ óäîáñòâà ìàðøðóòèçàòîðàì èìåíà:

·Â îôèñå: Office;

·Íà ñêëàäå: Sklad;

·Êîëîêàöèÿ (ñåðâåðà ó ïðîâàéäåðà): Colo;

·Ìàãàçèí ¹1: mag1

·Ìàãàçèí ¹2: mag2

Ñåòåâûå íàñòðîéêè ìàðøðóòèçàòîðîâ:


Office:

ÑåòüÈíòåðôåéñIp àäðåñÌàñêàØëþçÈíòåðíåòeth2213.182.175.230255.255.255.252213.182.175.229Ëîêàëüíàÿeth1 192.168.53.250255.255.255.0-:

ÑåòüÈíòåðôåéñIp àäðåñÌàñêàØëþçÈíòåðíåòeth279.142.87.206255.255.255.25279.142.87.211Ëîêàëüíàÿeth1 192.168.0.1255.255.255.0-

Colo:

ÑåòüÈíòåðôåéñIp àäðåñÌàñêàØëþçÈíòåðíåòeth2195.2.240.68255.255.255.252195.2.240.60Ëîêàëüíàÿeth1 172.16.100.8255.255.255.0-

Íàñòðîéêè hardware ìàðøðóòèçàòîðîâ â ìàãàçèíàõ íå èãðàþò ðîëè, ïîýòîìó èõ ïðîïóñòèì.

Ïðèñòóïèì ê óñòàíîâêå è íàñòðîéêå.

CentOS (Community ENTerprise Operating System) - äèñòðèáóòèâ Linux, îñíîâàííûé íà êîììåð÷åñêîì Red Hat Enterprise Linux êîìïàíèè Red Hat è ñîâìåñòèìûé ñ íèì. CentOS èñïîëüçóåò ïðîãðàììó yum äëÿ ñêà÷èâàíèÿ è óñòàíîâêè îáíîâëåíèé ñ ðåïîçèòîðèåâ. Âñÿ ðàáîòà ïî íàñòðîéêå è óñòàíîâêå ïðîèçâîäèòñÿ óäàëåííî, èñïîëüçóÿ OpenSSH ñåðâåð íà ìàðøðóòèçàòîðàõ è êëèåíò putty.

Íàñòðîèì ïåðâûì ìàðøðóòèçàòîð Colo. Ýòîò ìàðøðóòèçàòîð áóäåò âûñòóïàòü â ðîëè OpenVPN ñåðâåðà.

Ïàêåò OpenVPN íå äîñòóïåí â ñòàíäàðòíîì ðåïîçèòîðèè, ïîýòîìó ïîäêëþ÷àåì äîïîëíèòåëüíûé ðåïîçèòîðèé rpmforge:

colo> rpm -Uhv #"justify">Ýòà êîìàíäà ñêà÷èâàåò rpm ïàêåò ðåïîçèòîðèÿ è óñòàíàâëèâàåò åãî.

Òåïåðü íàì ñòàë äîñòóïåí ïàêåò OpenVPN, óñòàíàâëèâàåì åãî:

colo> yum install openvpnóñòàíîâëåí. Äàëåå òðåáóåòñÿ ñãåíåðèðîâàòü êîðíåâîé ñåðòèôèêàò ñåðâåðà, ñåðòèôèêàòû è êëþ÷è êëèåíòîâ, ñåðòèôèêàò è êëþ÷ ñåðâåðà, tls êëþ÷.

Äëÿ ýòîãî ïåðåõîäèì â êîíôèãóðàöèîííûé êàòàëîã OpenVPN è ñîçäàåì êàòàëîã ïîä íàøè áóäóùèå êëþ÷è è êàòàëîã ïîä êîíôèãóðàöèîííûå ôàéëû êëèåíòîâ:

colo> cd /etc/openvpn> mkdir keys> mkdir ccd

Çàãðóæàåì ïåðåìåííûå äëÿ ãåíåðàöèè êëþ÷åé â ïàìÿòü è íà÷èíàåì ãåíåðèðîâàòü ñåðòèôèêàò àâòîðèçàöèè:

colo>./vars>./build-caa 1024 bit RSA private key

.....................++++++

..++++++new private key to 'ca.key'

----are about to be asked to enter information that will be incorporatedyour certificate request.you are about to enter is what is called a Distinguished Name or a DN.are quite a few fields but you can leave some blanksome fields there will be a default value,you enter '.', the field will be left blank.

----

# ÑòðàíàName (2 letter code) [US]:RU

# Ïðîâèíöèÿor Province Name (full name) [CA]:SPB

# ÃîðîäName (eg, city) [SanFrancisco]:SPB

# Íàçâàíèå ôèðìûName (eg, company) [Fort-Funston]:server

# Îòäåëåíèå ôèðìûUnit Name (eg, section) []:server

# Èìÿ ñåðâåðà OpenVPNName (eg, your name or your server's hostname) [Fort-Funston CA]:server[]:serverAddress [[email protected]]:

Ñîçäàåì ñåðòèôèêàò X.509 äëÿ ñåðâåðà:

colo> ./build-key-server server

# ÑòðàíàName (2 letter code) [US]: RU

# Ïðîâèíöèÿor Province Name (full name) [CA]:SPB

# ÃîðîäName (eg, city) [SanFrancisco]: SPB

# Íàçâàíèå êîìïàíèèName (eg, company) [x]:server

# Îòäåëåíèå êîìïàíèèUnit Name (eg, section) []:server

# Èìÿ ñåðâåðà OpenVPNName (eg, your name or your server's hostname) []:server

# Ïî÷òîâûé àäðåñ Address [root@localhost]:enter the following 'extra' attributesbe sent with your certificate request

# Ïàðîëü

A challenge password []:123456789

# Íàçâàíèå îðãàíèçàöèè

An optional company name []:server

Äàëåå ïîÿâèòñÿ âîïðîñ î ïîäïèñûâàíèè ñåðòèôèêàòà, ñîãëàøàåìñÿ.

Ñîçäà¸ì êëþ÷ äëÿ office:> ./build-key-server officea 1024 bit RSA private key

.........++++++

.......++++++new private key to 'client.key'

----are about to be asked to enter information that will be incorporatedyour certificate request.you are about to enter is what is called a Distinguished Name or a DN.are quite a few fields but you can leave some blanksome fields there will be a default value,you enter '.', the field will be left blank.

----Name (2 letter code) [US]: RUor Province Name (full name) [CA]: SPBName (eg, city) [SanFrancisco]: SPBName (eg, company) [server]:companyUnit Name (eg, section) []:officeName (eg, your name or your server's hostname) []:officeAddress [root@localhost]:enter the following 'extra' attributesbe sent with your certificate requestchallenge password []:123456789optional company name []:office

Òàêèì æå ñïîñîáîì, ñîçäà¸ì êëþ÷è äëÿ ñêëàäà è äâóõ ìàãàçèíîâ.

Ñîçäàåì êëþ÷ Äèôôè Õåëüìàí äëÿ îáìåíà êëþ÷àìè ïî íåçàùèùåííîìó êàíàëó:

colo> ./build-dh

Ñîçäàåì êëþ÷ äëÿ tls-àóòåíòèôèêàöèè:

colo> openvpn --genkey --secret keys/ta.key

Ïîñëå âñåõ ýòèõ ìàíèïóëÿöèé â êàòàëîãå keys/ ïîÿâëÿþòñÿ ñëåäóþùèå ôàéëû:

·ca.crt - Ãëàâíûé CA ñåðòèôèêàò, ýòîò ôàéë íóæåí è êëèåíòó è ñåðâåðó;

·dh1024.pem - êëþ÷ Äèôôè Õåëüìàí, ýòîò ôàéë íóæåí òîëüêî ñåðâåðó;

·server.crt - Ñåðòèôèêàò ñåðâåðà, íóæåí òîëüêî ñåðâåðó;

·server.key - Êëþ÷ ñåðâåðà, íóæåí òîëüêî ñåðâåðó (ñåêðåòíûé ôàéë);

·office.crt, sklad.crt, mag1.crt, mag2.crt - Ñåðòèôèêàòû êëèåíòîâ, íóæíû òîëüêî ñîîòâåòñòâóþùèì êëèåíòàì;

·office.key, sklad.key, mag1.key, mag2.key - Êëþ÷è êëèåíòîâ, íóæíû òîëüêî ñîîòâåòñòâóþùèì êëèåíòàì (ñåêðåòíûå ôàéëû);

·ta.key - TLS-êëþ÷, íóæåí è êëèåíòàì è ñåðâåðó.

Ñëåäîâàòåëüíî, íà ñåðâåðå îñòàþòñÿ ôàéëû ca.crt, dh1024.pem, server.crt, server.key, ta.key, à êëèåíòàì îòäàþòñÿ ca.crt, dh1024.pem è èõ êëþ÷è ñ ñåðòèôèêàòàìè.

Íà ýòîì îïåðàöèè ñ ãåíåðàöèåé êëþ÷åé è ñåðòèôèêàòîâ çàêîí÷åíû, ïåðåõîäèì ê íàñòðîéêå ñåðâåðà è êëèåíòîâ. Ñîçäàåì êîíôèãóðàöèîííûé ôàéë server.conf ñëåäóþùåãî ñîäåðæèìîãî:

# Ïîðò íà êîòîðîì ðàáîòàåò ñåðâåð

port 5000

# Ïðîòîêîë udp

proto udp

# Èñïîëüçóåìûé òèï óñòðîéñòâà è íîìåð

dev tun0

# Óêàçûâàåì ôàéë CA

ca /etc/openvpn/keys/ca.crt

# Óêàçûâàåì ôàéë ñ ñåðòèôèêàòîì ñåðâåðà

cert /etc/openvpn/keys/server.crt

# Óêàçûâàåì ôàéë ñ êëþ÷åì ñåðâåðà

key /usr/local/etc/openvpn/keys/server.key

# Óêàçûâàåì ôàéë Äèôôè Õåëüìàí

dh /usr/local/etc/openvpn/keys/dh1024.pem

# Çàäàåì IP-àäðåñ ñåðâåðà è ìàñêó ïîäñåòè âèðòóàëüíîé ñåòè

server 10.10.200.0 255.255.255.0

# Çàäàåì ìàðøðóòû, êîòîðûå ïåðåäà¸ì êëèåíòàì, è ìàñêó ïîäñåòè äëÿ òîãî, ÷òîáû îíè âèäåëè ñåòü çà OpenVPN ñåðâåðîì

# Colo"route 172.16.100.0 255.255.255.0"

# Office"route 192.168.53.0 255.255.255.0"

# Sklad

push "route 192.168.0.0 255.255.255.0"

# Óêàçûâàåì, ãäå õðàíÿòñÿ ôàéëû ñ íàñòðîéêàìè IP-àäðåñîâ êëèåíòîâ

client-config-dir ccd

# äîáàâëÿåì ìàðøðóòû ñåðâåð-êëèåíò

route 10.10.200.0 255.255.255.0

# Office192.168.53.0 255.255.255.0

# Sklad192.168.0.0 255.255.255.0

# Ðàçðåøàåò âèäåòü êëèåíòàì äðóã äðóãà (ïî âèðòóàëüíûì IP) ïî óìîë÷àíèþ êëèåíòû âèäÿò òîëüêî ñåðâåð

client-to-client

# Âêëþ÷àåì TLS àóòèôèêàöèþserver

# Óêàçûâàåì tls-êëþ÷auth keys/ta.key 0

# Òàéìàóò äî ðåêîíåêòà

tls-timeout 120

# Âûáèðàåì àëãîðèòì õåøèðîâàíèÿ

auth MD5

# Âêëþ÷àåì øèôðàöèþ ïàêåòîâ

cipher BF-CBC

# Ïðîâåðÿåì àêòèâíîñòü ïîäêëþ÷åíèÿ êàæäûå 10 ñåêóíä, åñëè â òå÷åíèè 120 ñåê. íåò îòâåòà, ïîäêëþ÷åíèå çàêðûâàåòñÿ

keepalive 10 120

# Ñæàòèå òðàôèêà

comp-lzo

# Îò êàêîãî ïîëüçîâàòåëÿ è ãðóïïû áóäåò ðàáîòàòü OpenVPN

user nobody

group nobody

# Íå ïåðå÷èòûâàòü êëþ÷è ïîñëå ïîëó÷åíèÿ SIGUSR1 èëè ping-restart

persist-key

# Íå çàêðûâàòü è ïåðåîòêðûâàòü TUN\TAP óñòðîéñòâî, ïîñëå ïîëó÷åíèÿ SIGUSR1 èëè ping-restart

persist-tun

# Ëîããèðîâàíèå/var/log/openvpn/openvpn-status.log/var/log/openvpn/openvpn.log

# Óðîâåíü èíôîðìàöèè äëÿ îòëàäêè

verb 3

Ñîçäàåì ôàéëû ñ íàñòðîéêàìè äëÿ êëèåíòîâ. Â êàòàëîãå /etc/openvpn/ccd íà ñåðâåðå ñîçäàåì ôàéë office, sklad, mag1, mag2 (èìÿ ôàéëà - èìÿ êîòîðîìó âûäàí ñåðòèôèêàò) ñëåäóþùåãî ñîäåðæàíèÿ:

officepush 10.10.200.2 10.10.200.1192.168.53.0 255.255.255.0push 10.10.200.3 10.10.200.1192.168.53.0 255.255.255.0push 10.10.200.4 10.10.200.1push 10.10.200.5 10.10.200.1

Ýòèìè íàñòðîéêàìè âûäàëè êëèåíòàì ñ ñîîòâåòñòâóþùèìè ñåðòèôèêàòàìè âèðòóàëüíûå ip àäðåñà, øëþç 10.10.200.1 è çàäàëè ìàðøðóò ÷åðåç òóííåëü ê ñåòè çà êëèåíòàìè. Äëÿ ìàãàçèíîâ ìàðøðóò íå çàäàåì, òàê êàê â íàøó çàäà÷ó íå âõîäèò ïîäêëþ÷åíèå ýòèõ ñåòåé.

Íà ýòîì íàñòðîéêà ñåðâåðà çàêàí÷èâàåòñÿ, çàïóñêàåì OpenVPN:

colo> service openvpn start

Åñëè âñå ïðàâèëüíî, òî äîëæíî ïîÿâèòüñÿ âèðòóàëüíîå tun óñòðîéñòâî:

colo> ifconfig tun0Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00addr:10.10.200.1 P-t-P:10.10.200.2 Mask:255.255.255.255POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1packets:9 errors:0 dropped:0 overruns:0 frame:0packets:24 errors:0 dropped:0 overruns:0 carrier:0:0 txqueuelen:100

Åñëè óñòðîéñòâî íå ïîÿâèëîñü, çíà÷èò åñòü îøèáêè â êîíôèãóðàöèîííûõ ôàéëàõ. Ñìîòðèì ëîã è óñòðàíÿåì îøèáêó, äàëåå îïÿòü ñòàðòóåì.

Ïåðåõîäèì ê íàñòðîéêå êëèåíòîâ. Âñå êîíôèãóðàöèîííûå ôàéëû îäèíàêîâûå, ïîýòîìó ðàññìîòðèì îäèí èç íèõ. Íà ìàðøðóòèçàòîðàõ office è sklad óñòàíàâëèâàåì OpenVPN, òàê æå êàê è äëÿ ñåðâåðà.

Ñîçäàäèì êîíôèãóðàöèîííûé ôàéë client.conf:tunudp195.2.240.68 #(ðåàëüíûé ip ñåðâåðà)

port 5000retry infinitekeys/ca.crtkeys/client.crtkeys/client.keyclientauth keys/ta.key 1MD5BF-CBCcert-type serverlzokeytun

#äîáàâëåíèå ìàðøðóòà ê ñåòè çà ñåðâåðîì. Ýòà ñòðî÷êà íå íóæíà äëÿ êîíôèã. ôàéëîâ ìàãàçèíîâ

up /etc/openvpn_up.sh/var/log/openvpn/openvpn-status.log/var/log/openvpn/openvpn.log

verb 3

Ñîçäàäèì ñêðèïò openvpn_up.sh äëÿ àâòîìàòè÷åñêîãî äîáàâëåíèÿ ìàðøðóòà:

#!/bin/sh

/sbin/route add -net 172.16.100.0 netmask 255.255.255.0 gw 10.10.200.1 tun0

Íà ýòîì íàñòðîéêà OpenVPN çàêîí÷åíà. Êîïèðóåì ýòè ôàéëû íà office è sklad. Äàëåå çàïóñêàåì OpenVPN. Åñëè íå çàïóñòèëñÿ, ñìîòðèì ëîãè.

Íî íà ýòîì åùå íå âñå. Òåïåðü íàì íàäî âêëþ÷èòü òðàíñëÿöèþ àäðåñîâ (NAT) ÷òîáû ïàêåòû îò êëèåíòñêîé ìàøèíû, ïîïàäàÿ íà ñåðâåð ìîãëè óéòè â Èíòåðíåò è ñîîòâåòñòâåííî âîçâðàùàëèñü íàçàä:

colo> iptables -t nat -A POSTROUTING -s 10.10.200.0/24 -o eth1 -j MASQUERADE

Òåïåðü 3 ñåòè «âèäÿò» äðóã äðóãà. Íàñòðîèì ïîäêëþ÷åíèå ñ ìàãàçèíîâ ê ñåðâåðàì. Íà êîìïüþòåðàõ â ìàãàçèíàõ, ñòîèò îïåðàöèîííàÿ ñèñòåìà Windows XP. Ñêà÷èâàåì ñ îôèöèàëüíîãî ñàéòà äèñòðèáóòèâ OpenVPN è óñòàíàâëèâàåì. Çàòåì â óñòàíîâëåííîì êàòàëîãå â ïàïêó config êëàäåì íàøè êëþ÷è è êîíôèãóðàöèîííûé ôàéë mag1. Ïîñëå ýòîãî ìîæíî çàïóñêàòü.

Íà ýòîì ýòàïû íàñòðîéêè çàâåðøåíû. Èìåÿ çàùèùåííóþ êîðïîðàòèâíóþ ñåòü, ìîæíî ïîäêëþ÷àòüñÿ íàïðÿìóþ ê ñåðâåðàì. Ïðîâåðèòü øèôðàöèþ ìîæíî, ïðîñëóøàâ òðàôèê íà îäíîì èç ðîóòåðîâ êîìàíäîé TCPDUMP.

Ïðèìåð âûâîäà íåøèôðîâàííîãî òðàôèêà:

:27:15.752295 IP cl230-175-182-213.cl.metrocom.ru.40887 > 195.2.240.68.ssh: . 2826496:2827944(1448) ack 1009 win 10080 <nop,nop,timestamp 2791385847 256970382>

:27:15.752347 IP 195.2.240.68.ssh > cl230-175-182-213.cl.metrocom.ru.40887: . ack 2783056 win 65535 <nop,nop,timestamp 256970382 2791385774,nop,nop,sack 1 {2785952:2827944}>

:27:15.755042 IP cl230-175-182-213.cl.metrocom.ru.40887 > 195.2.240.68.ssh: . 2827944:2829392(1448) ack 1009 win 10080 <nop,nop,timestamp 2791385850 256970382>

:27:15.755096 IP 195.2.240.68.ssh > cl230-175-182-213.cl.metrocom.ru.40887: . ack 2783056 win 65535 <nop,nop,timestamp 256970382 2791385774,nop,nop,sack 1 {2785952:2829392}>

Ïðèìåð çàøèôðîâàííîãî:

:24:18.247960 IP 195.2.240.68.sieve > cl230-175-182-213.cl.metrocom.ru.sieve: UDP, length 113

:24:18.248040 IP 195.2.240.68.sieve > cl230-175-182-213.cl.metrocom.ru.sieve: UDP, length 113

:24:18.250915 IP cl230-175-182-213.cl.metrocom.ru.sieve > 195.2.240.68.sieve: UDP, length 1441

:24:18.251291 IP 195.2.240.68.sieve > cl230-175-182-213.cl.metrocom.ru.sieve: UDP, length 113


2.2Ðåàëèçàöèÿ íà îñíîâå òåõíîëîãèè SSH


2.2.1 SSH-òóííåëü

Ïðåäïîëîæèì, ÷òî îôèñ, ñêëàä è ìàãàçèíû (èíôîðìàöèÿ î ñåòè â ïóíêòå 2.1) ðàáîòàþò òîëüêî íà ñåðâåðàõ â òåðìèíàëüíîì ðåæèìå. Òîãäà ñóùåñòâóåò î÷åíü ïðîñòîé, à ñàìîå ãëàâíîå áûñòðûé ñïîñîá îðãàíèçàöèè VPN òóííåëÿ. Ñ ïîìîùüþ ïàêåòà OpenSSH íà software ìàðøðóòèçàòîðàõ ìîæíî äåëàòü øèôðîâàííûé êàíàë òîëüêî ïî îäíîìó íóæíîìó ïîðòó. Äëÿ ðàáîòû ñ òåðìèíàëüíûì ñåðâåðîì, êëèåíòû èñïîëüçóþò ïðîòîêîë RDP, êîòîðûé èñïîëüçóåò 3389 ïîðò (ñõåìà òàêîé ðàáîòû ïðåäñòàâëåíà íà ðèñóíêå 2.2.2.1). Ñèíèì, îòìå÷åí ssh-òóííåëü, ïî êîòîðîìó áóäåò ðàáîòàòü RDP ïðîòîêîë.


Ðèñ.2.2.2.1 Èñïîëüçîâàíèå ssh-òóííåëåé


Ðåàëèçàöèÿ, êàê ãîâîðèëîñü ðàíüøå, î÷åíü ïðîñòà, òîëüêî ó OpenSSH åñòü íåäîñòàòîê: ïðè áîëüøîì ïðîñòîå êàíàëà îí ðâåòñÿ. Íî è äëÿ ýòîé ïðîáëåìû åñòü ïðîñòîå ðåøåíèå. Ïàêåò autoSSH, ïî äîïîëíèòåëüíîìó ïîðòó ïðè ïðîñòîå øëåò heartbeat ïàêåò è êàíàë íå ïàäàåò. Ñîçäàäèì 2 êàíàëà äî äâóõ òåðìèíàëüíûõ ñåðâåðîâ:

colo> export AUTOSSH_DEBUG=1

colo> export AUTOSSH_GATETIME=0> export AUTOSSH_PORT=20037> autossh -f -N -g -l root -L 1002:172.16.100.33:3389 195.2.240.68> export AUTOSSH_PORT=20040> autossh -f -N -g -l root -L 1002:172.16.100.34:3389 195.2.240.68

Ðàññìîòðèì êîìàíäû ïîäðîáíåå:> autossh -f -N -g -c aes256 -l root -L 1002:172.6.100.33:3389 195.2.240.68

Ïàðàìåòðû:

·-f: Ðàáîòàòü â ôîíîâîì ðåæèìå, à íå ïîäêëþ÷àòüñÿ íà õîñò;

·-N: Íå èñïîëíÿòü óäàëåííûå êîìàíäû;

·-g: Ðàçðåøàåò ïîäêëþ÷åíèå óäàëåííûì õîñòàì;

·-c: Âêëþ÷àåì øèôðàöèþ;

·-l: Èìÿ ïîëüçîâàòåëÿ, îò êîòîðîãî ïîäêëþ÷àåìñÿ ê ñåðâåðó;

·-L Ïðîïèñûâàåì, êàêîé ëîêàëüíûé ïîðò èñïîëüçóåì äëÿ ïîäêëþ÷åíèÿ è íà êàêîé ñåðâåð è ïîðò ïîäêëþ÷àåìñÿ.

Íà ýòîì íàñòðîéêà øèôðîâàííîãî òóííåëÿ çàêîí÷åíà è ìîæíî ðàáîòàòü! Åñëè íàì íóæíî äîáàâèòü åùå îäèí òóííåëü, òî ñ ïîìîùüþ êîìàíäû export AUTOSSH_PORT=20050 äîáàâëÿåì åùå îäèí ïîðò äëÿ ïîñûëêè heartbeat ïàêåòîâ è ïðîïèñûâàåì òó æå êîìàíäó ïîäíÿòèÿ ssh òóííåëÿ, íî óæå ñ äðóãèì ïîðòîì.


2.2.2 SSH VPN

Ðåàëèçóåì òó æå ñõåìó êîðïîðàòèâíîé ñåòè, êîòîðóþ ñîçäàâàëè ïðè ïîìîùè ïàêåòà OpenVPN, íî óæå ñ ïîìîùüþ âñòðîåííîãî â linux ñèñòåìû ïàêåòà OpenSSH. Íàì õâàòèò ðàññìîòðåòü ñîåäèíåíèå 2-õ ñåòåé, òàê êàê äëÿ ïîäêëþ÷åíèÿ åùå îäíîé ñåòè íóæíî áóäåò ïðîâåñòè òå æå ñàìûå äåéñòâèÿ.

Ñ âåðñèè 4.3, OpenSSH ïîääåðæèâàåò óñòðîéñòâà tun/tap, ïîçâîëÿþùèå ñîçäàâàòü øèôðîâàííûé òóííåëü. Ýòî î÷åíü ïîõîæå íà OpenVPN, îñíîâàííûé íà TLS.

Øèôðîâàííûé òóííåëü ñîçäàåòñÿ íà îñíîâå îäíîãî TCP ñîåäèíåíèÿ, ÷òî âåñüìà óäîáíî, äëÿ áûñòðîãî ïîäíÿòèÿ ïðîñòîãî VPN, íà IP.

Ñíà÷àëà íóæíî äîïèñàòü â êîíôèãóðàöèîííûé ôàéë OpenSSH ñòðîêè, ÷òî îí èìååò ïðàâî ñîçäàâàòü óñòðîéñòâà tun/tap è çàõîäèòü ñ ïðàâàìè root.  êîíôèãóðàöèîííîì ôàéëå /etc/ssh/sshd_config, äîëæíû ñòîÿòü ñëåäóþùèå îïöèè:yesyes

Ó íàñ åñòü äâå ñåòè, ñåòü office ñ àäðåñîì 192.168.53.0/24 è ñåòü colo ñ àäðåñîì 172.16.100.0/24. Äëÿ ñîçäàíèÿ çàùèùåííîé VPN ñåòè íóæíî ïðîäåëàòü ñëåäóþùèå äåéñòâèÿ:

1.Ïîäêëþ÷èòñÿ ñ îäíîãî ìàðøðóòèçàòîðà ÷åðåç SSH íà äðóãîé ñ îïöèåé -w;

2.Íàñòðîéêà IP àäðåñà SSH òóííåëÿ äåëàåòñÿ åäèíîæäû íà ñåðâåðå è íà êëèåíòå.

.Äîáàâèòü ìàðøðóò äëÿ îáåèõ ñåòåé.

.Åñëè íóæíî, âêëþ÷èòü NAT íà âíóòðåííåì èíòåðôåéñå øëþçà.

Áóäåì ïîäêëþ÷àòüñÿ èç ñåòè office ê ñåòè colo. Ñîåäèíåíèå íà÷èíàåòñÿ ñ ìàðøðóòèçàòîðà office, à êîìàíäû âûïîëíÿþòñÿ íà ìàðøðóòèçàòîðå ñåòè colo, òî åñòü, íàñòðàèâàåì ìàðøðóòèçàòîð colo:

#Ñ ïîìîùüþ îïöèè w c ïàðàìåòðàìè 0:0 ãîâîðèì, ÷òî ïðè ïîäêëþ÷åíèè ñîçäàòü íà êëèåíòå è ñåðâåðå âèðòóàëüíûå óñòðîéñòâà tun0. Ïàðàìåòð -c âêëþ÷àåò øèôðàöèþ, ïàðàìåòð -C ñæàòèå òðàôèêà.

office> ssh -c aes256 -C -w0:0 [email protected]

#Ñëåäóþùèå êîìàíäû óæå âûïîëíÿþòñÿ íà ìàðøðóòèçàòîðå ñåòè colo. Çàäàåì ip àäðåñ è ìàñêó ïîäñåòè

colo> ifconfig tun0 10.0.1.1 netmask 255.255.255.252

# Äîáàâëÿåì ìàðøðóò äî ñåòè office

colo> route add -net 192.168.53.0 netmask 255.255.255.0 dev tun0

# Âêëþ÷àåì NAT, åñëè íå âêëþ÷åí> echo 1 > /proc/sys/net/ipv4/ip_forward

# Ïðîïèñûâàåì ïðàâèëî ñ ïîìîùüþ ñðåäñòâ iptables äëÿ ïåðåáðîñà ïàêåòîâ èç VPN ñåòè â ðåàëüíóþ

colo> iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Òåïåðü íàñòðîèì ìàøðóòèçàòîð office:> ifconfig tun0 10.0.1.2 netmask 255.255.255.252> route add -net 172.16.100.0 netmask 255.255.255.0 dev tun0> echo 1 > /proc/sys/net/ipv4/ip_forward> iptables -t nat -A POSTROUTING -o eth1 -j

Íà ýòîì íàñòðîéêà çàêîí÷åíà, VPN ñåòü ïîñòðîåíà. Äëÿ ïîäêëþ÷åíèÿ îòäåëüíûõ êîìïüþòåðîâ ñ îïåðàöèîííîé ñèñòåìîé Windows XP (ìàãàçèíû), èñïîëüçóåòñÿ êëèåíò SSH Putty.


.3 Îöåíêà ïðîèçâîäèòåëüíîñòè êàíàëîâ êîðïîðàòèâíîé ñåòè


 ðàçäåëàõ 2.1 è 2.2 ðàññìîòðåíû äâå òåõíîëîãèè (OpenVPN, SSH) ñîçäàíèÿ çàùèùåííûõ êîðïîðàòèâíûõ ñåòåé, èñïîëüçóÿ VPN. Íà ñåãîäíÿøíèé äåíü òåõíîëîãèÿ OpenVPN ëèäèðóåò íà ðûíêå ïîñòðîåíèÿ çàùèùåííûõ ñåòåé, â òî âðåìÿ êàê òóííåëèðîâàíèå ïðè ïîìîùè SSH òîëüêî íà÷èíàåò âõîäèòü â ïîâñåäíåâíîñòü. Äëÿ òîãî ÷òîáû ïîíÿòü êàêóþ òåõíîëîãèþ íåîáõîäèìî ïðèìåíèòü â ðåàëüíûõ óñëîâèÿõ ïðè êîíêðåòíûõ òðåáîâàíèÿõ, ïðåäúÿâëÿåìûõ êîðïîðàòèâíîé ñåòè, íóæíî îöåíèòü èõ ïðîèçâîäèòåëüíîñòü è îáîñíîâàòü èõ äîñòîèíñòâà è íåäîñòàòêè.

Íà÷àòü ñëåäóåò ñ ïðîèçâîäèòåëüíîñòè çàùèùåííûõ êàíàëîâ. Íà ðèñ. 1.4.1 ïðåäñòàâëåíà ïîñòðîåííàÿ êîðïîðàòèâíàÿ ñåòü, ïðîèçâîäèòåëüíîñòü çàùèùåííûõ êàíàëîâ êîòîðîé, èñïîëüçóÿ ïðîãðàììó iPerf, íåîáõîäèìî îöåíèòü. Ñ ïîìîùüþ êëèåíòñêîé ÷àñòè ãåíåðèðóåòñÿ òðàôèê è îòïðàâëÿåòñÿ íà ñåðâåðíóþ ÷àñòü. Ïðè ïîëó÷åíèè äàííûõ ãåíåðèðóåòñÿ îò÷åò î ñêîðîñòè ïåðåäà÷è äàííûõ.


2.3.1 Îöåíêà ïðîèçâîäèòåëüíîñòè ïðè èñïîëüçîâàíèè òåõíîëîãèè OpenVPN

Äëÿ ïîñòðîåíèÿ ãðàôèêîâ ïðîèçâîäèòåëüíîñòè êàíàëà ñîçäàííîãî ïðè ïîìîùè OpenVPN áóäåì èñïîëüçîâàòü äàííûå, ïîëó÷åííûå ïðè òåñòèðîâàíèè èç ïðèëîæåíèÿ 1.


Ðèñ. 2.3.1 Ãðàôèêè çíà÷åíèé RTT


Íà ðèñ. 2.3.1 ïðåäñòàâëåíû ãðàôèêè çíà÷åíèé RTT. Èç íèõ âèäíî, ÷òî ðàçíèöà ìåæäó êàíàëîì áåç VPN è êàíàëîì ñ èñïîëüçîâàíèåì VPN, íå ÿâëÿåòñÿ ñóùåñòâåííîé. Òàêæå âêëþ÷åíèå îïöèè ñæàòèÿ íå âëèÿåò íà âðåìÿ îòêëèêà.

Ðèñ. 2.3.2 Ãðàôèêè ïðîïóñêíîé ñïîñîáíîñòè êàíàëà


Íà ðèñ. 2.3.2 ïðåäñòàâëåíû ãðàôèêè ïðîïóñêíîé ñïîñîáíîñòè êàíàëà, èç êîòîðûõ ìîæíî ñäåëàòü ñëåäóþùèå âûâîäû:

·Ïðè èñïîëüçîâàíèè ñîçäàííîãî êàíàëà VPN ñ øèôðàöèåé ñ ïîìîùüþ êëþ÷à AES-256-CBC ïîòåðÿ â ïðîèçâîäèòåëüíîñòè 0,5 ìáèò/ñåê, ÷òî ñîñòàâèëî 5,1% îò êàíàëà áåç èñïîëüçîâàíèÿ VPN;

·Ïðè âêëþ÷åíèè ñæàòèÿ øèôðîâàííîãî òðàôèêà íàáëþäàåì ïðèðîñò ñêîðîñòè â 3 ìáèò/ñåê, ÷òî ñîñòàâèëî 32.9%.


Ðèñ.2.3.3 Ãðàôèêè çàãðóçêè ÖÏ

Íà ðèñ. 2.3.3 ïðåäñòàâëåíû ãðàôèêè çàãðóçêè ÖÏ íà ìàðøðóòèçàòîðàõ ïðè èñïîëüçîâàíèè OpenVPN c øèôðàöèåé òðàôèêà, ïðè âêëþ÷åííîì è îòêëþ÷åííîì ñæàòèè. Ïî ñðåäíèì çíà÷åíèÿì çàãðóçêè, êàê è ïîëàãàëîñü, ñàìóþ âûñîêóþ íàãðóçêó äàåò øèôðàöèÿ òðàôèêà ñ èñïîëüçîâàíèåì ñæàòèÿ - 14.992%.

Îñíîâûâàÿñü íà ïîëó÷åííûõ ãðàôèêàõ, ïðîèçâåä¸ì îöåíêó ïðîèçâîäèòåëüíîñòè êàíàëîâ VPN, ïîñòðîåííûõ ïðè ïîìîùè OpenVPN.

1.Êðèòåðèé «Çàãðóçêà ÖÏ» ïðè ïîëó÷åííûõ çíà÷åíèÿõ ÿâëÿåòñÿ íåñóùåñòâåííûì, òàê êàê ýòî ìàðøðóòèçàòîð è äðóãèõ ïðîöåññîâ òðåáóþùèõ áîëüøîå ïîòðåáëåíèå ÖÏ íåò;

2.Êðèòåðèé «RTT» òàêæå ÿâëÿåòñÿ íåñóùåñòâåííûì, òàê êàê ðàçíèöà îò âðåìåíè îòêëèêà ïðè îïûòàõ áåç VPN îêàçàëàñü ìåíüøå âñåãî íà 0,5 ìñ;

.Íà ãðàôèêàõ ïðîïóñêíîé ñïîñîáíîñòè êàíàëîâ ìîæíî íàáëþäàòü ïàäåíèå ñêîðîñòè ïðè èñïîëüçîâàíèè ñðåäñòâ VPN íà 0,5 ìáèò/ñåê â ñðåäíåì. Â íàñòîÿùåå âðåìÿ ýòî íå ÿâëÿåòñÿ ñóùåñòâåííûì, òàê êàê Èíòåðíåò-ïðîâàéäåðû ïðåäîñòàâëÿþò ñâîè óñëóãè íà áîëüøèõ ñêîðîñòÿõ, ãäå òàêîå ïàäåíèå íå áóäåò èãðàòü áîëüøîé ðîëè.

.Ïðè èñïîëüçîâàíèè ñæàòèÿ òðàôèêà âèäåí çàìåòíûé ïðèðîñò ê ïðîïóñêíîé ñïîñîáíîñòè êàíàëà, íà 3 ìáèò/ñåê. Êîíå÷íî ïðè ýòîì ñèëüíî âîçðàñòàåò çàãðóçêà íà ÖÏ, íî êàê ãîâîðèëîñü ðàíüøå, ýòî íå èãðàåò áîëüøîé ðîëè.

Ïîäâåäåì èòîãè. Ñîçäàâàÿ çàùèùåííóþ êîðïîðàòèâíóþ ñåòü íà îñíîâå òåõíîëîãèè OpenVPN, ïîëó÷àåì îäíó îáùóþ ñåòü íà íåñêîëüêî îôèñîâ ñ øèôðàöèåé ïåðåäàâàåìûõ äàííûõ è ïðèðîñòîì ñêîðîñòè çà ñ÷åò ñæàòèÿ òðàôèêà ñ óäîáñòâîì îáìåíà èíôîðìàöèåé. Òåõíîëîãèÿ OpenVPN ïîëíîñòüþ îïðàâäûâàåò ñåáÿ. Ÿ èñïîëüçîâàíèå âåäåò ê ðîñòó ïðîèçâîäèòåëüíîñòè ðàáîòû ñ èíôîðìàöèåé ïî ñåòè. Èç ìèíóñîâ âûäåëÿåòñÿ íåêîòîðàÿ ñëîæíîñòü íàñòðîéêè è ñîçäàíèÿ VPN ñåòè. Èç ïëþñîâ - êðîññïëàòôîðìåííîñòü.

2.3.2 Îöåíêà ïðîèçâîäèòåëüíîñòè ïðè èñïîëüçîâàíèè òåõíîëîãèè SSH

Äëÿ ïîñòðîåíèÿ ãðàôèêîâ ïðîèçâîäèòåëüíîñòè êàíàëà ñîçäàííîãî ïðè ïîìîùè SSH áóäåì èñïîëüçîâàòü äàííûå, ïîëó÷åííûå ïðè òåñòèðîâàíèè èç ïðèëîæåíèÿ 2.


Ðèñ.2.3.4. Ãðàôèêè çíà÷åíèé RTT


Íà ðèñ. 2.3.4 ïðåäñòàâëåíû ãðàôèêè, ïî êîòîðûì ìîæíî ñóäèòü î âðåìåíè îòêëèêà ïðè ðàáîòå ssh.  ñðåäíåì âðåìÿ óâåëè÷èëîñü íà 0.8 ìñ. Ýòî çíà÷åíèå íå ÿâëÿåòñÿ êðèòè÷íûì äàæå äëÿ ñàìûõ ïðèâåðåäëèâûõ ïðîãðàìì.


Ðèñ.2.3.5 Ãðàôèêè ïðîïóñêíîé ñïîñîáíîñòè êàíàëà

Íà ðèñ. 2.3.5 ïðåäñòàâëåíû ãðàôèêè ïðîïóñêíîé ñïîñîáíîñòè êàíàëà. Ðåçóëüòàòû ïîëó÷èëèñü ïðèáëèçèòåëüíî òàêèìè æå, ÷òî è ïðè èñïîëüçîâàíèè OpenVPN.


Ðèñ.2.3.6 Ãðàôèêè çàãðóçêè ÖÏ


Íà ðèñ. 2.3.6 ïðåäñòàâëåíû ãðàôèêè çàãðóçêè ÖÏ ïðè èñïîëüçîâàíèè ssh ñ øèôðàöèåé ñ ñæàòèåì òðàôèêà è áåç. Ïðè âêëþ÷åíèè øèôðàöèè âèäåí áîëüøîé ñêà÷îê íàãðóçêè íà ÖÏ. Ñðåäíåå çíà÷åíèå - 37.9%. Ýòî äîâîëüíî ìíîãî, íî íå ÿâëÿåòñÿ êðèòè÷íûì.

Èç ïîëó÷åííûõ äàííûõ ìîæíî ñäåëàòü ñëåäóþùèé âûâîä: ïðîèçâîäèòåëüíîñòü ïðè èñïîëüçîâàíèè ñæàòèÿ òðàôèêà âîçðîñëà ïðèìåðíî íà 25%, íî ïðè ýòîì çíà÷èòåëüíî âûðîñëà íàãðóçêà íà ÖÏ. Èç äîñòîèíñòâ ýòîé òåõíîëîãèè õî÷åòñÿ âûäåëèòü âîçìîæíîñòü ñîçäàíèÿ ssh-òóííåëåé ïî îòäåëüíûì ïîðòàì, ÷òî ïðè îïðåäåëåííûõ óñëîâèÿõ äàåò ìíîæåñòâî ïëþñîâ, íàïðèìåð, âîçìîæíîñòü èìåòü àâòîìàòè÷åñêîå âêëþ÷åíèå ðåçåðâíîãî êàíàëà, ïðè îòñóòñòâèè ñâÿçè íà îäíîì èç ìàðøðóòèçàòîðîâ. Òàêæå íóæíî îòìåòèòü ïðîñòîòó ñîçäàíèÿ è íàñòðîéêè VPN ñåòè, êðîññïëàòôîðìåííîñòü, âûñîêàÿ íàäåæíîñòü, ëåãêàÿ ìàñøòàáèðóåìîñòü.

2.3.3 Âûáîð ìåæäó òåõíîëîãèÿìè SSH è OpenVPN

Ñîñòàâèì ñðàâíèòåëüíóþ òàáëèöó, îñíîâûâàÿñü íà ïîëó÷åííûõ îïûòíûì ïóòåì äàííûõ.


OpenVPNSSHÑëîæíîñòü ñîçäàíèÿ Äîñòàòî÷íî ñëîæíàÿ íàñòðîéêà. Ñëîæíîñòü íàñòðîéêè ìàðøðóòèçàöèè äëÿ íåñêîëüêèõ ñåòåé, âîçìîæíû òðóäíîñòè ñ firewall. Ëåãêàÿ íàñòðîéêà, íå òðåáóþùàÿ îñîáûõ çíàíèé. Íà âñå ñîçäàíèå óõîäèò íå áîëüøå 10 ìèíóò.Ìàñøòàáèðóåìîñòü Ïîäêëþ÷åíèå åùå îäíîé ñåòè èëè êëèåíòà, âëå÷åò èçìåíåíèå êîíôèãóðàöèîííûõ ôàéëîâ íà ñåðâåðå è äîáàâëåíèå èõ íà êëèåíòà. Çà ñ÷åò OpenVPN êëèåíòà ïîä Windows èìååò ïðåèìóùåñòâî ïåðåä SSH. Íå òðåáóåò îáó÷åíèÿ ïåðñîíàëà.Äëÿ ïîäêëþ÷åíèÿ åùå îäíîé ñåòè íóæíî ïîâòîðèòü òå æå äåéñòâèÿ, ÷òî è ïðè îáúåäèíåíèè ïðåäûäóùèõ. Äëÿ ïîäêëþ÷åíèÿ Windows êîìïüþòåðîâ, òðåáóåòñÿ îäíîêðàòíîå îáó÷åíèå ïåðñîíàëà.Ïðîèçâîäèòåëüíîñòü Çà ñ÷åò ñæàòèÿ ìîæíî äîáèòüñÿ îòëè÷íûõ ðåçóëüòàòîâ, ïðåâûøàþùèõ èñõîäíîå ñîåäèíåíèå. Ñæàòèå èäåò âûáîðî÷íî, ò.å. ÷òî ñæàòü íåëüçÿ - ïðîïóñêàåòñÿ. Ýòî óìåíüøàåò íàãðóçêó íà ÖÏ. Ïðîèçâîäèòåëüíîñòü ÷óòü íèæå, ÷åì ó OpenVPN. Ñæèìàåòñÿ âåñü òðàôèê - áîëüøèå íàãðóçêè íà ÖÏ.Çàãðóçêà ÖÏ ñðåäíåì íå áîëüøå 15%  ñðåäíåì íå áîëüøå 38%Êðîññïëàòôîðìåííîñòü Äà ÄàRTTÍà 0,5 ìñ áîëüøå, ÷åì ó èñõîäíîãî ñîåäèíåíèÿÍà 0,8 ìñ áîëüøå, ÷åì ó èñõîäíîãî ñîåäèíåíèÿÄîêóìåíòàöèÿ Ìàññà äîêóìåíòàöèè íà îôèöèàëüíîì ñàéòå. Ìíîãî÷èñëåííûå ôîðóìû è îáñóæäåíèÿ. Äîêóìåíòàöèÿ åñòü â âñòðîåííîì ñïðàâî÷íèêå. Èíôîðìàöèè ïî íàñòðîéêå ïîêà ÷òî ìàëî.Äîï. âîçìîæíîñòè -Ñîçäàíèå ssh-òóííåëåé.Âíåäðåíèå â ñóù. ñåòü Ìîãóò áûòü ïðîáëåìû ñ íàñòðîéêîé firewallà.Ëåãêîå âíåäðåíèå. Çàùèùåííîñòü Øèôðàöèÿ 256 áèòíûì AES êëþ÷îì Øèôðàöèÿ 256 áèòíûì AES êëþ÷îì Ðàñïðîñòðàíåííîñòü Ëèäèðóþùàÿ òåõíîëîãèÿ ñîçäàíèÿ VPN ñåòåé. Ñàì ïðîòîêîë ssh ñóùåñòâóåò î÷åíü äàâíî, íî ñîçäàíèå ssh VPN ñåòåé íà ñåãîäíÿøíèé äåíü âñòðå÷àåòñÿ ðåäêî.

Ðàññìîòðåâ âñå ïëþñû è ìèíóñû, ïðåäïî÷òèòåëüíûì ðåøåíèåì áóäåò èñïîëüçîâàíèå îáîèõ òåõíîëîãèé âìåñòå. Îò SSH âçÿòü SSH-òóííåëè, à îò OpenVPN ñîçäàíèå VPN ñåòåé.

Ãëàâà 3. Ñîçäàíèå êîìïëåêñà ñèñòåì ìîíèòîðèíãà êîðïîðàòèâíîé ñåòè


3.1 Ñëåæåíèå çà ñîñòîÿíèåì ñåðâåðîâ è ñåòåâîãî îáîðóäîâàíèÿ. Nagios


Nagios - ãèáêàÿ ñèñòåìà ìîíèòîðèíãà ðàáîòû ñåðâåðîâ.  îñíîâíîì åå èñïîëüçóþò äëÿ ìîíèòîðèíãà áîëüøîãî êîëè÷åñòâà ñåðâåðîâ. Nagios - ïðîãðàììà ìîíèòîðèíãà êîìïüþòåðíûõ ñèñòåì è ñåòåé ñ îòêðûòûì êîäîì. Ïðåäíàçíà÷åíà äëÿ íàáëþäåíèÿ, êîíòðîëÿ ñîñòîÿíèÿ âû÷èñëèòåëüíûõ óçëîâ è ñëóæá, îïîâåùàåò àäìèíèñòðàòîðà â òîì ñëó÷àå, åñëè êàêèå-òî èç ñëóæá ïðåêðàùàþò èëè âîçîáíîâëÿþò ñâîþ ðàáîòó.  íàøåì ñëó÷àå, áóäåì ñëåäèòü çà ìàðøðóòèçàòîðàìè, ñåðâåðàìè è ïðîöåññàìè, çàïóùåííûìè íà íèõ. Ñèñòåìó Nagios äëÿ óäîáñòâà íàñòðîéêè ïîñòàâèì íà ìàðøðóòèçàòîð colo.

Nagios âêëþ÷àåò â ñåáÿ ñðåäñòâà ñëåæåíèÿ, à òàêæå web-èíòåðôåéñ äëÿ óïðàâëåíèÿ è ïðîñìîòðà òåêóùåãî ñîñòîÿíèÿ ñåðâåðîâ. Ïîýòîìó êðîìå óñòàíîâêè ñàìîé ñèñòåìû, íóæíî óñòàíîâèòü web-ñåðâåð. Íà÷íåì ñ óñòàíîâêè íåîáõîäèìûõ êîìïîíåíòîâ:

# Óñòàíàâëèâàåì êîìïèëÿòîð ÿçûêà C, åãî áèáëèîòåêè è ãðàôè÷åñêèå èíñòðóìåíòû

colo> yum install gcc glibc glibc-common gd gd-devel

# Óñòàíàâëèâàåì web-ñåðâåð Apache

colo> yum install httpd

# Ñîçäàåì þçåðà è ãðóïïó ñ ïðàâàìè êîòîðûõ áóäåò ðàáîòàòü nagios

colo> useradd -m nagios> groupadd nagcmd

# Ñîçäàåì ïàðîëü äëÿ þçåðà

colo> passwd nagios

# Äîáàâëÿåì nagios è apache â îäíó ãðóïïó, ÷òîáû íå áûëî ïðîáëåì ñ ïðàâàìè íà çàïóñê ñêðèïòîâ íà web-ñåðâåðå

colo> /usr/sbin/usermod -a -G nagcmd nagios> /usr/sbin/usermod -a -G nagcmd apache

Ñòàâèì ñèñòåìó:

# Ñêà÷èâàåì ïîñëåäíþþ âåðñèþ ñèñòåìû è ìîäóëè ê íåé

colo> wget #"justify">·Home - Ñòðàíèöà ïðèâåòñòâèÿ. Ìîæíî óçíàòü î âîçìîæíûõ îáíîâëåíèÿõ ñèñòåìû;

·Documentation - Áîëüøîå êîëè÷åñòâî äîêóìåíòàöèè ïî íàñòðîéêå ñèñòåìû;

·Tactical Overview - Ïðåäñòàâëÿåò ñîáîé ñáîð êðàòêîé èíôîðìàöèè îá îáúåêòàõ, çà êîòîðûìè âåäåòñÿ ìîíèòîðèíã;

·Map - Îòîáðàæàåò êàðòó ñåòè, îòìå÷àÿ çåëåíûì öâåòîì ðàáîòàþùèå ñåðâåðà è êðàñíûì îòêëþ÷åííûå (ðèñ. 3.1.2);

·Hosts - Ïîêàçûâàåò ñîñòîÿíèå êàæäîãî íàáëþäàåìîãî îáúåêòà â îòäåëüíîñòè

·Services - Ïîêàçûâàåò ñîñòîÿíèå çàïóùåííûõ ïðîöåññîâ íà ñåðâåðàõ, à òàêæå RTT, êîëè÷åñòâî ñâîáîäíîãî ìåñòà, çàãðóçêà ïðîöåññîðà è ïàìÿòè(ðèñ. 3.1.3);

·Event log - Îò÷åòû ñèñòåìû ìîíèòîðèíãà.

Âñå îñòàëüíûå ïóíêòû ìåíþ ÿâëÿþòñÿ ðàçíîâèäíîñòÿìè âûøåïåðå÷èñëåííûõ, äîáàâëÿÿ óäîáñòâà ïðîñìîòðà èíôîðìàöèè, íàïðèìåð ðàçáèòà ïî ãðóïïàì.


Ðèñ.3.1.2 Ïðåäñòàâëåíèå ïóíêòà ìåíþ Map


Ðèñ.3.1.2 Ïðåäñòàâëåíèå ïóíêòà ìåíþ Services

Ñèñòåìà ìîíèòîðèíãà Nagios ðàáîòàåò íà íåñêîëüêèõ êîíôèãóðàöèîííûõ ôàéëàõ, ñ ïîìîùüþ êîòîðûõ íàñòðàèâàþòñÿ ìåòîäû ñëåæåíèÿ è îáúåêòû, çà êîòîðûìè ñëåäèì. Ðàñïîëîæåíû ýòè ôàéëû â äèðåêòîðèè /usr/local/nagios/etc.

Ðàññìîòðèì èõ ïîäðîáíåå:

1.nagios.cfg - Ãëàâíûé êîíôèãóðàöèîííûé ôàéë.  í¸ì îïèñàíî, ãäå ëåæàò îñòàëüíûå ôàéëû, îáúÿâëåíû ïåðåìåííûå, íàñòðàèâàåòñÿ ñèñòåìà ëîãîâ, ïîä êàêèì ïîëüçîâàòåëåì ðàáîòàòü è ò.ä.;

2.commands.cfg - Ôàéë, â êîòîðîì îïèñàíû êîìàíäû äëÿ îïðîñà ñåðâåðîâ î èõ ðàáîòîñïîñîáíîñòè, çàïóùåííûõ ïðîöåññîâ è ò.ä.;

3.contacts.cfg - Îïèñàíû êîíòàêòû, êîòîðûì íàäî ïîñûëàòü îïîâåùåíèÿ ñèñòåìû î ñáîÿõ íà ñåðâåðàõ;

4.groups.cfg - Îïèñûâàþòñÿ ãðóïïû è ñåðâåðà, êîòîðûå â íèõ âõîäÿò;

5.hosts.cfg - Îïèñûâàåòñÿ øàáëîí äëÿ äîáàâëÿåìîãî îáîðóäîâàíèÿ.  í¸ì óêàçûâàåòñÿ ïåðèîä îïðîñà ñåðâåðîâ, âðåìÿ îòñûëêè ïðåäóïðåæäåíèé;

.WindowsServer.cfg - Ïðèìåð îïèñàíèÿ Windows ñåðâåðà;

.LinuxServer.cfg - Ïðèìåð îïèñàíèÿ Linux ñåðâåðà.

Îïðîñ ñåðâåðîâ èäåò ïî ïðîòîëêó SNMP (Simple Network Management Protocol - ïðîòîêîë ïðîñòîãî óïðàâëåíèÿ ñåòÿìè). Äëÿ ñëåæåíèÿ çà Windows ñåðâåðàìè, íóæíî äîïîëíèòåëüíî ïîñòàâèòü ïðîãðàììó Nsclient++.

Ðàññìîòðèì ïðèìåð êîíôèãóðàöèîííîãî ôàéëà Windows ñåðâåðà:

define host

{

# Èñïîëüçóåì øàáëîí, ñîçäàííûé çàðàíåå

use generic-host ;

# Èìÿ ñåðâåðà_name sql-1c ;

# Àëüÿñ íà èìÿ (ïñåâäîíèì)

alias sql-1c ;

# Óêàçûâàåì, åñòü ëè ïåðåä ýòèì ñåðâåðîì åùå îäèí ñåðâåð. Ýòî íóæíî äëÿ äðåâîâèäíîãî ïðåäñòàâëåíèÿ ñåòè

parents vh0.arscraft.ru ;

# Ip àäðåñ ñåðâåðà

address 172.16.100.34 ; IP address of the host

# Èêîíêà äëÿ îòîáðàæåíèÿ â web-èíòåðôåéñå. Íåîáÿçàòåëüíûé ïàðàìåòð

icon_image 1c.jpg

statusmap_image 1c.jpg

# Äîïîëíèòåëüíóþ èíôîðìàöèþ î ñåðâåðå ìîæíî çàïèñàòü çäåñü

notes_url #"justify">}

# Îáúÿâëÿåì ñåðâèñû, çà êîòîðûìè áóäåì ñëåäèòü. Òàê êàê ýòî 1Ñ è sql ñåðâåð, áóäåì ñëåäèòü çà ðàáîòîñïîñîáíîñòüþ ýòèõ ïðîöåññîâ, à òàêæå çà íàãðóçêîé íà ïðîöåññîð.

# Ñëåäèì çà 1Ñ ïðîöåññîì

define service{

use generic-service_name sql-1c_description Ragent_command check_nt!PROCSTATE!-d SHOWALL -l ragent.exe

}

# Ñëåäèì çà sql ïðîöåññîì

define service{

use generic-service_name sql-1c_description SQL-Server_command check_nt!PROCSTATE!-d SHOWALL -l sqlservr.exe

}

# Ñëåäèì çà íàãðóçêîé íà ïðîöåññîð

define service{

use generic-service_name sql-1c_description CPU Load_command check_nt!CPULOAD!-l 5,80,90

}

Äîáàâëåíèå Linux-ñåðâåðà íè÷åì íå îòëè÷àåòñÿ îò Windows. Äàëüøå äîáàâëÿåì ôàéëû ñåðâåðîâ, çà êîòîðûìè áóäåì ñëåäèòü, è ïðîâåðÿåì âñå êîíôèãóðàöèîííûå ôàéëû íà ïðàâèëüíîñòü êîìàíäîé:

colo> usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Åñëè îøèáîê è ïðåäóïðåæäåíèé íåò, ïåðåçàãðóæàåì Nagios:

colo> service nagios reload

Ìîæíî çàéòè íà ñàéò è ïîñìîòðåòü ÷òî ïîëó÷èëîñü.

Íà ýòîì îáùàÿ íàñòðîéêà çàêàí÷èâàåòñÿ, íî ìîæíî ïðîäîëæàòü íàñòðàèâàòü ñèñòåìó ïîä ñâîè íóæäû.

Ñèñòåìó îïîâåùåíèÿ ìîæíî íàñòðàèâàòü äëÿ êàæäîãî ñåðâåðà è ïðîöåññà ïî-ðàçíîìó, â çàâèñèìîñòè îò çàäà÷è. Ïðè ñðàáàòûâàíèè óñëîâèÿ íà ïî÷òó ñèñòåìíîãî àäìèíèñòðàòîðà ïðèõîäèò ïèñüìî ñëåäóþùåãî ñîäåðæàíèÿ:

***** Nagios *****Type: PROBLEM: 1c-sql: DOWN: 172.16.100.34: (Host Check Timed Out)/Time: Tue Apr 12 09:43:56 MSD 2011

 ðåçóëüòàòå óñòàíîâêè è íàñòðîéêè ñèñòåìû Nagios ïîÿâëÿþòñÿ ñëåäóþùèå âîçìîæíîñòè ìîíèòîðèíãà êîðïîðàòèâíîé ñåòè:

·Ìîíèòîðèíã ñåòåâûõ ñëóæá (SMTP, POP3, HTTP, NNTP, ICMP è ò.ä.);

·Ìîíèòîðèíã ñîñòîÿíèÿ õîñòîâ (çàãðóçêà ïðîöåññîðà, èñïîëüçîâàíèå äèñêà, ñèñòåìíûå ëîãè) â áîëüøèíñòâå ñåòåâûõ îïåðàöèîííûõ ñèñòåì;

·Ïðîñòàÿ àðõèòåêòóðà ìîäóëåé ðàñøèðåíèé (ïëàãèíîâ) ïîçâîëÿåò, èñïîëüçóÿ ëþáîé ÿçûê ïðîãðàììèðîâàíèÿ ïî âûáîðó (Shell, C++, Perl, Python, PHP, C# è äðóãèå), ëåãêî ðàçðàáàòûâàòü ñâîè ñîáñòâåííûå ñïîñîáû ïðîâåðêè ñëóæá;

·Ïàðàëëåëüíàÿ ïðîâåðêà ñëóæá;

·Âîçìîæíîñòü îïðåäåëÿòü èåðàðõèè õîñòîâ ñåòè ñ ïîìîùüþ «ðîäèòåëüñêèõ» õîñòîâ, ïîçâîëÿåò îáíàðóæèâàòü è ðàçëè÷àòü õîñòû, êîòîðûå âûøëè èç ñòðîÿ, è òå, êîòîðûå íåäîñòóïíû;

·Îòïðàâêà îïîâåùåíèé â ñëó÷àå âîçíèêíîâåíèÿ ïðîáëåì ñî ñëóæáîé èëè õîñòîì (ñ ïîìîùüþ ïî÷òû, ñìñ èëè ëþáûì äðóãèì ñïîñîáîì, îïðåäåëåííûì ïîëüçîâàòåëåì ÷åðåç ìîäóëü ñèñòåìû)

·Âîçìîæíîñòü îïðåäåëÿòü îáðàáîò÷èêè ñîáûòèé ïðîèçîøåäøèõ ñî ñëóæáàìè èëè õîñòàìè äëÿ ïðîàêòèâíîãî ðàçðåøåíèÿ ïðîáëåì;

·Àâòîìàòè÷åñêàÿ ðîòàöèÿ ëîã-ôàéëîâ;

·Âîçìîæíîñòü îðãàíèçàöèè ñîâìåñòíîé ðàáîòû íåñêîëüêèõ ñèñòåì ìîíèòîðèíãà ñ öåëüþ ïîâûøåíèÿ íàä¸æíîñòè è ñîçäàíèÿ ðàñïðåäåëåííîé ñèñòåìû ìîíèòîðèíãà;

·Âêëþ÷àåò â ñåáÿ óòèëèòó nagiostats, êîòîðàÿ âûâîäèò îáùóþ ñâîäêó ïî âñåì õîñòàì, ïî êîòîðûì âåäåòñÿ ìîíèòîðèíã.

Ïðåèìóùåñòâà èñïîëüçîâàíèÿ ñèñòåìû Nagios äëÿ ìîíèòîðèíãà çà êîðïîðàòèâíîé ñåòüþ íåîñïîðèìû. Ñèñòåìíûé àäìèíèñòðàòîð âñåãäà áóäåò â êóðñå ñîñòîÿíèÿ ñåðâåðîâ è â êðîò÷àéøèå ñðîêè ñìîæåò ïðåäóïðåäèòü èëè óñòðàíèòü ïðîáëåìó. Óñòàíîâêà è íàñòðîéêà äëÿ îáñëóæèâàþùåãî ïåðñîíàëà íå äîëæíà áûòü ñëîæíîé.

3.2 Ñëåæåíèå çà ïðîèçâîäèòåëüíîñòüþ ñåðâåðîâ. Cacti

- open-source âåá-ïðèëîæåíèå, ñèñòåìà ïîçâîëÿåò ñòðîèòü ãðàôèêè ïðè ïîìîùè RRDtool. Cacti ñîáèðàåò ñòàòèñòè÷åñêèå äàííûå çà îïðåäåë¸ííûå âðåìåííûå èíòåðâàëû è ïîçâîëÿåò îòîáðàçèòü èõ â ãðàôè÷åñêîì âèäå. Ïðåèìóùåñòâåííî èñïîëüçóþòñÿ ñòàíäàðòíûå øàáëîíû äëÿ îòîáðàæåíèÿ ñòàòèñòèêè ïî çàãðóçêå ïðîöåññîðà, âûäåëåíèþ îïåðàòèâíîé ïàìÿòè, êîëè÷åñòâó çàïóùåííûõ ïðîöåññîâ, èñïîëüçîâàíèþ äèñêîâûõ ðåñóðñîâ, èñïîëüçîâàíèþ âõîäÿùåãî/èñõîäÿùåãî òðàôèêà.

Ýòà ñèñòåìà ïîìîæåò óçíàòü, êîãäà íà ñåðâåðàõ áûâàþò ïèêè íàãðóçêè, èñïîëüçîâàíèå ðåñóðñîâ ñåðâåðîâ â òå÷åíèå äíÿ, íåäåëè, ìåñÿöà. Ïðîàíàëèçèðîâàâ ïîëó÷åííûå ãðàôèêè, ìîæíî ãîâîðèòü î âîçìîæíîé íåîáõîäèìîñòè upgrada ñåðâåðà è îïòèìèçàöèè ðàáîò â ïèêîâûå ÷àñû äëÿ ñíèæåíèÿ íàãðóçêè.

Óñòàíàâëèâàòü è íàñòðàèâàòü ñèñòåìó áóäåì íà ìàðøðóòèçàòîð colo. Ñèñòåìà Cacti òðåáóåò áîëüøîãî êîëè÷åñòâà äîïîëíèòåëüíîãî ÏÎ. Âåá-ñåðâåð ó íàñ óæå óñòàíîâëåí, ïîýòîìó ýòîò ïóíêò ïðîïóñêàåì è íà÷èíàåì óñòàíîâêó:

# Óñòàíàâëèâàåì äîïîëíèòåëüíîå ÏÎ: Mysql, php, perl è áèáëèîòåêè äëÿ íèõ

colo> yum install mysql mysql-server mysql-devel httpd httpd-devel php php-mysql php-gd phpimapldap php-odbc php-pear php-xml php-xmlrpc php-mcrypt curl curl-devel perl-lib libxml2 php-mbstring phpmyadmin

# Çàïóñêàåì mysql. Îäíîâðåìåííî ïðîèñõîäèò åãî êîíôèãóðàöèÿ

colo> service mysqld start

Ïåðåõîäèì ê óñòàíîâêå Cacti:

# Óñòàíîâèì çàâèñèìîñòè íóæíûå Cacti

colo> yum install -y net-snmp net-snmp-utils rrdtool php-snmp

# Äîáàâëÿåì â àâòîçàãðóçêó è çàïóñòèì ñåðâèñ SNMP

colo> chkconfig snmpd on> service snmpd start

# Ñêà÷èâàåì ïàêåòû Cacti:

colo> wget www.cacti.net/downloads/cacti-0.8.7g.tar.gz

colo> wget www.cacti.net/downloads/pia/cacti-plugin-0.8.7g-PA-v2.9.tar.gz

# Ðàçàðõèâèðóåì èõ> tar -xzvf cacti-0.8.7g.tar.gz> tar -xzvf cacti-plugin-0.8.7g-PA-v2.9.tar.gz

# Ñîçäà¸ì ðàáî÷óþ ïàïêó Cacti íà ñåðâåðå

colo> mkdir /var/www/cacti

# Êîïèðóåì ñîäåðæèìîå ðàñïàêîâàííîé ïàïêè Cacti â ðàáî÷óþ ïàïêó Cacti

colo> cp -rf cacti-0.8.7g/* /var/www/cacti/

# Ñîçäà¸ì â ñèñòåìå þçåðà äëÿ Cacti è äàäèì åìó ñîîòâåòñòâóþùèå ïðàâà

colo> useradd -c CactiUser -d /var/www/cacti/ -s /sbin/nologin cactiuser> chown -R cactiuser /var/www/cacti/log /var/www/cacti/rra

# Ñîçäà¸ì áàçó äàííûõ äëÿ Cacti ñ ïðèâèëåãèÿìè äëÿ cactiuser:

colo> mysql -u root -ppassword:to the MySQL monitor. Commands end with ; or \g.MySQL connection id is 55version: 5.0.77 Source distribution'help;' or '\h' for help. Type '\c' to clear the buffer.> create database cacti;> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'password';> flush privileges;> quit

# Èìïîðòèðóåì ñòðóêòóðó Cacti â åå áàçó> mysql -u cactiuser -p cacti < /var/www/cacti/cacti.sql password: (password)

# Íàñòðàèâàåì äîñòóï Cacti â åå áàçó äàííûõ

colo> nano /var/www/cacti/include/config.php

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cactiuser";

$database_password = "password";

$database_port = "3306";

# Ïåðåõîäèì â ðàáî÷óþ äèðåêòîðèþ Cacti è óñòàíàâëèâàåì ôèêñû îôèöèàëüíûìè ïàò÷àìè

colo> cd /var/www/cacti> wget www.cacti.net/downloads/patches/0.8.7g/data_source_deactivate.patch> wget www.cacti.net/downloads/patches/0.8.7g/graph_list_view.patch> wget www.cacti.net/downloads/patches/0.8.7g/html_output.patch> wget www.cacti.net/downloads/patches/0.8.7g/ldap_group_authenication.patch> wget www.cacti.net/downloads/patches/0.8.7g/script_server_command_line_parse.patch> wget www.cacti.net/downloads/patches/0.8.7g/ping.patch> wget www.cacti.net/downloads/patches/0.8.7g/poller_interval.patch> patch -p1 -N < data_source_deactivate.patch> patch -p1 -N < graph_list_view.patch> patch -p1 -N < html_output.patch> patch -p1 -N < ldap_group_authenication.patch> patch -p1 -N < script_server_command_line_parse.patch> patch -p1 -N < ping.patch> patch -p1 -N < poller_interval.patch

# Ñîçäàåì cacti.conf ñ ñëåäóþùèì ñîäåðæàíèåì, ÷òîáû âêëþ÷èòü âåáäîñòóï

colo> nano /etc/httpd/conf.d/cacti.conf/cacti /var/www/cacti

<Directory /var/www/cacti/>index.php-Indexesalldeny,allowfrom allfrom 192.168.1.0/24 (you can do it like "allow from all")application/x-httpd-php .php_flag magic_quotes_gpc on_flag track_vars on

</Directory>

# Ïåðåçàãðóæàåì âåá-ñåðâåð Àïà÷> service httpd restart

# Ñîçäà¸ì çàäà÷ó Cron äëÿ Cacti> nano /etc/cron.d/cacti

*/5 * * * * cactiuser php /var/www/cacti/poller.php > /dev/null 2>&1

Ñ ýòîãî ìîìåíòà ìîæíî íà÷àòü èñïîëüçîâàòü áàçîâóþ èíñòàëëÿöèþ Cacti. Äîáàâëåíèå ñåðâåðîâ, çà êîòîðûìè áóäåì ñëåäèòü, îñóùåñòâëÿåòñÿ ÷åðåç âåá-èíòåðôåéñ, äîñòóïíûé ïî àäðåñó: <#"243" src="doc_zip14.jpg" />

Ðèñ.3.2.1 Ãðàôèê èñïîëüçîâàíèÿ Èíòåðíåò-êàíàëà

Ðèñ.3.2.2 Ãðàôèê ñðåäíåé çàãðóçêè ïðîöåññîðà


Ðèñ.3.2.3 Ãðàôèê èñïîëüçîâàíèÿ äèñêîâîãî ïðîñòðàíñòâà


Ðèñ.3.2.4 Ãðàôèê îòêëèêà ñåðâåðà(RTT)

3.3 Ôèëüòðàöèÿ è àíàëèç òðàôèêà êîðïîðàòèâíîé ñåòè


3.3.1 Proxy ñåðâåð

×àñòî â ôèðìàõ, íà ïðåäïðèÿòèÿõ, ãäå ðàáî÷èé ïåðñîíàë èìååò äîñòóï ê ñåòè Èíòåðíåò, òðåáóåòñÿ ôèëüòðàöèÿ âõîäÿùåãî òðàôèêà. Íóæíî ýòî ïî äâóì ïðîñòûì ïðè÷èíàì:

1.Íàèáîëåå ðàñïðîñòðàíåííûé ñïîñîá ïîïàäàíèÿ âðåäîíîñíûõ ïðîãðàìì íà êîìïüþòåð ïðîèñõîäèò ïðè ïðîñìîòðå âåá-ñòðàíèö ñîìíèòåëüíîãî êîíòåíòà, ïðîñìîòðå áàííåðîâ è ñêà÷èâàíèè ðàçëè÷íîãî ñîôòà;

2.Îäíî èç ñàìûõ ÷àñòûõ òðåáîâàíèé ðóêîâîäñòâà îðãàíèçàöèè, ÿâëÿåòñÿ îãðàíè÷åíèå äîñòóïà íà ðàçâëåêàòåëüíûå ñàéòû è ñîöèàëüíûå ñåòè.

×òîáû îñóùåñòâëÿòü ôèëüòðàöèþ, íóæíî ÷òîáû âåñü http òðàôèê ïðîõîäèë ÷åðåç ñïåöèàëüíûé proxy ñåðâåð.

Proxy ñåðâåð - ñëóæáà â êîìïüþòåðíûõ ñåòÿõ, ïîçâîëÿþùàÿ êëèåíòàì âûïîëíÿòü êîñâåííûå çàïðîñû ê äðóãèì ñåòåâûì ñëóæáàì. Ñíà÷àëà êëèåíò ïîäêëþ÷àåòñÿ ê proxy-ñåðâåðó è çàïðàøèâàåò êàêîé-ëèáî ðåñóðñ (íàïðèìåð, e-mail), ðàñïîëîæåííûé íà äðóãîì ñåðâåðå. Çàòåì proxy-ñåðâåð ëèáî ïîäêëþ÷àåòñÿ ê óêàçàííîìó ñåðâåðó è ïîëó÷àåò ðåñóðñ ó íåãî, ëèáî âîçâðàùàåò ðåñóðñ èç ñîáñòâåííîãî êýøà (â ñëó÷àÿõ, åñëè proxy èìååò ñâîé êýø).  íåêîòîðûõ ñëó÷àÿõ çàïðîñ êëèåíòà èëè îòâåò ñåðâåðà ìîæåò áûòü èçìåí¸í proxy-ñåðâåðîì â îïðåäåë¸ííûõ öåëÿõ. Òàêæå proxy-ñåðâåð ïîçâîëÿåò çàùèùàòü êëèåíòñêèé êîìïüþòåð îò íåêîòîðûõ ñåòåâûõ àòàê è ïîìîãàåò ñîõðàíÿòü àíîíèìíîñòü êëèåíòà.

Ðåàëèçîâàòü ïåðåáðîñ çàïðîñîâ íà proxy-ñåðâåð ìîæíî äâóìÿ ïóòÿìè:

1.ßâíî óêàçàòü â áðàóçåðå àäðåñ proxy-ñåðâåðà (íå ðåêîìåíäóåòñÿ èç-çà íåóäîáñòâà ïåðåêëþ÷åíèÿ â ñëó÷àå ïàäåíèÿ ñåðâåðà);

2.Ïåðåñûëàòü âåñü òðàôèê, ïðèøåäøèé íà ïîðòû 80, 8080 ìàðøðóòèçàòîðà íà proxy-ñåðâåð ïðè ïîìîùè ïðàâèë iPtables.

 äèïëîìå ÿ áóäó èñïîëüçîâàòü âòîðîé ìåòîä. Proxy-ñåðâåð áóäåì óñòàíàâëèâàòü íà ìàðøðóòèçàòîð colo.  êà÷åñòâå ÏÎ óñòàíîâèì proxy-ñåðâåð SQUID.

Squid - ïðîãðàììíûé ïàêåò, ðåàëèçóþùèé ôóíêöèþ êýøèðóþùåãî proxy-ñåðâåðà äëÿ ïðîòîêîëîâ HTTP, FTP, Gopher è (â ñëó÷àå ñîîòâåòñòâóþùèõ íàñòðîåê) HTTPS. Ðàçðàáîòàí ñîîáùåñòâîì êàê ïðîãðàììà ñ îòêðûòûì èñõîäíûì êîäîì (ðàñïðîñòðàíÿåòñÿ â ñîîòâåòñòâèè ñ GNU GPL). Âñå çàïðîñû âûïîëíÿåò êàê îäèí íåáëîêèðóåìûé ïðîöåññ ââîäà/âûâîäà.

Óñòàíîâêà ïðîèçâîäèòñÿ èç ñòàíäàðòíîãî ðåïîçèòîðèÿ îäíîé êîìàíäîé:

colo> yum install squid

Ïîñëå ïåðâîé óñòàíîâêè íåîáõîäèìî ïðîèíèöèàëèçèðîâàòü êåø:

colo> squid -z

Ïåðåõîäèì ê íàñòðîéêå. Íóæíî ðåøèòü ñëåäóþùóþ çàäà÷ó - çàêðûòü äîñòóï íà ðàçâëåêàòåëüíûå ñàéòû è ñîöèàëüíûå ñåòè, çàêðûòü äîñòóï íà ñêà÷êó *.exe, *.sys, *.bat, *.sys, *.mp3, *.avi, *.mp4, *.mov ôàéëîâ.

Îñíîâíàÿ êîíôèãóðàöèÿ proxy-ñåðâåðà íàõîäèòñÿ â ôàéëå /etc/squid/squid.conf. Îòðåäàêòèðóåì åãî ïîä íàøó çàäà÷ó:

# Óêàçûâàåì ïîðò íà êîòîðîì áóäåì ñëóøàòü çàïðîñû, è óêàçûâàåì òèï Proxy «ïðîçðà÷íûé», ò.ê. ïåðåñûëàåì ïàêåòû ñðåäñòâàìè ìàðøðóòèçàòîðà

http_port 3128 transparent

# ACL (Access Control List - ñïèñîê êîíòðîëÿ äîñòóïà) - îïðåäåëÿåò, êòî èëè ÷òî ìîæåò ïîëó÷àòü äîñòóï ê êîíêðåòíîìó îáúåêòó, è êàêèå èìåííî îïåðàöèè ðàçðåøåíî èëè çàïðåùåíî ýòîìó ñóáúåêòó ïðîâîäèòü íàä îáúåêòîì. Ñ ïîìîùüþ acl îïèñûâàåì îáúåêòû, ñ êîòîðûìè áóäåì ðàáîòàòü

# Îïèñûâàåì îáúåêòû è ñîçäàåì ïðàâèëà äîñòóïà ê íèì

acl all src 0.0.0.0/0.0.0.0manager proto cache_objectlocalhost src 127.0.0.1/255.255.255.255to_localhost dst 127.0.0.0/8SSL_ports port 443Safe_ports port 80 # httpSafe_ports port 21 # ftpSafe_ports port 443 # httpSafe_ports port 70 # gopherSafe_ports port 210 # waisSafe_ports port 1025-65535 # unregistered portsSafe_ports port 280 # http-mgmtSafe_ports port 488 # gss-httpSafe_ports port 591 # filemakerSafe_ports port 777 # multiling httpCONNECT method CONNECT_access allow manager localhost_access deny manager_access deny !Safe_ports_access deny CONNECT !SSL_ports

# Îïèñûâàåì íàøó ëîêàëüíóþ ñåòü

acl localnet src 172.16.100.0/24

# Îïèñûâàåì ôàéë, â êîòîðîì çàïèñàíû ðàñøèðåíèÿ çàïðåùåííûõ òèïîâ ôàéëîâ

acl banfiles urlpath_regex -i "/etc/squid/include/permblock.files.acl"

# Îïèñûâàåì ôàéë, â êîòîðîì çàïèñàí ñïèñîê ñàéòîâ, çàïðåùåííûõ ê ïðîñìîòðó

acl banurl dstdomain -i "/etc/squid/include/permblock.url.acl"

# Ñîçäàåì ñïèñîê äëÿ àóäèî è âèäåî êîíòåíòà ñ ïîìîùüþ mime òèïîâ

acl banvideo rep_mime_type content-type audiobanvideo rep_mime_type content-type video

# Çàïðåùàåì äîñòóï èç ñåòè ê çàïðåùåííûì òèïàì ôàéëîâ, ñàéòàì è êîíòåíòó.

http_access deny localnet banfiles_access deny localnet banurl_reply_access deny all banvideo

# Ðàçðåøàåì äîñòóï ñåòè äëÿ âñåãî îñòàëüíîãî òðàôèêà_access allow localnet

# Äëÿ âñåõ îñòàëüíûõ çàïðåùàåì âñ¸_access deny all

Íå çàáóäèì îñòàâèòü ïðàâà äëÿ àäìèíèñòðàòîðà, äîáàâèâ íóæíóþ acl çàïèñü. Ðàññìîòðèì ôàéëû ñ çàïðåùàþùèìè ñïèñêàìè:

Permblock.files.acl:

\.exe$

\.msi$

\.bat$

\.sys$.url.acl:

.vkontakte.ru

.odnoklassniki.ru

.durov.ru

.vk.ru

.youtube

.rutube

Îñòàëîñü ïåðåíàïðàâèòü çàïðîñû ñ 80, 8080 ïîðòîâ íà 3128. Äîáàâëÿåì â öåïî÷êó iptables ñëåäóþùåå ïðàâèëî:

$fw -t nat -A PREROUTING -p tcp -m multiport --dport 80,8080 -i eth1 -j DNAT --to 127.0.0.1:3128

Òåïåðü òðàôèê èäåò ÷åðåç proxy-ñåðâåð ñ ôèëüòðàöèåé. Òàêæå ñ ïîìîùüþ Proxy-ñåðâåðà ïðè íåîáõîäèìîñòè ìîæíî ñîçäàâàòü ëèìèòû ïî ïîòðåáëåíèþ òðàôèêà, ðàáîòàòü ïî ðàñïèñàíèþ è çàìåíÿòü ðåêëàìíûå áàííåðû íà web-ñòðàíèöàõ íà ñâîè.

3.3.2 Àíàëèçàòîð ëîãîâ Proxy ñåðâåðà

Åù¸ îäíîé èç ÷àñòûõ çàäà÷ ÿâëÿåòñÿ àíàëèç òðàôèêà ïî äâóì ïðè÷èíàì:

1.Ñëåæåíèå çà äåÿòåëüíîñòüþ ñîòðóäíèêà. Ïðåäîòâðàùåíèå íàðóøåíèÿ äèñöèïëèíû è ïðàâèë ðàáîòû â êîìïàíèè;

2.Ñîçäàíèå ëèìèòîâ íà òðàôèê, äëÿ ñíèæåíèÿ ðàñõîäîâ êîìïàíèè.

Proxy-ñåðâåð Squid ïðè ïðîõîæäåíèè òðàôèêà çàïèñûâàåò âñþ èíôîðìàöèþ (îòêóäà çàïðîñ, ÷òî çàïðàøèâàþò, âðåìÿ, ðàçìåð è ò.ä.) â log ôàéë. Îñòàåòñÿ ëèøü ïðîàíàëèçèðîâàòü åãî è âûâåñòè èíôîðìàöèþ â óäîáíîì äëÿ ÷åëîâåêà âèäå. Ïðèìåð ëîãà proxy-ñåðâåðà Squid:

.038 340 84.52.97.69 TCP_MISS/200 33232 GET #"justify">.369 147 84.52.97.69 TCP_MISS/200 7306 GET #"justify">.705 1001 195.239.137.178 TCP_MISS/200 1363 POST #"justify">.826 243750 195.239.137.178 TCP_MISS/200 638 GET #"justify">Àíàëèçèðîâàòü òðàôèê áóäåì ñïåöèàëüíûì áåñïëàòíûì ÏÎ LightSquid.

Âñå íåîáõîäèìûå êîìïîíåíòû (Perl, Gd, httpd) óæå áûëè óñòàíîâëåíû ðàíüøå, ïîýòîìó ïåðåõîäèì íåïîñðåäñòâåííî ê óñòàíîâêà LightSquid:

Ñêà÷èâàåì ñ ñàéòà <#"190" src="doc_zip18.jpg" />

Ðèñ.3.2.2.1 Ïðèìåð îò÷åòà LightSquid


Ðèñ.3.2.2.2 Ïîñåùåííûå ñàéòû


Ðèñ.3.2.2.3 Ãðàôèê ïî èñïîëüçîâàíèþ òðàôèêà ïî äíÿì

3.4 Ó÷åò òðàôèêà êîðïîðàòèâíîé ñåòè. Ðàçðàáîòêà web èíòåðôåéñà


Åñëè ñëåæåíèå çà äåÿòåëüíîñòüþ ñîòðóäíèêà ìîæíî ðåàëèçîâàòü ñðåäñòâàìè àíàëèçà http òðàôèêà, òî çàäà÷à ïîäñ÷åòà òðàôèêà ðåøàåòñÿ òîëüêî ÷àñòè÷íî, òàê êàê ñ÷èòàåòñÿ òîëüêî http òðàôèê.

×àñòî ïðîâàéäåðû ïðåäîñòàâëÿþò ÷àñòíûì ëèöàì è îðãàíèçàöèÿì äîñòóï â ñåòü Èíòåðíåò íå áåçëèìèòíûé, à òðàôèêîâûé, ò.å. íàêëàäûâàþò îãðàíè÷åíèå íà êîëè÷åñòâî ñêà÷åííûõ è îòäàííûõ äàííûõ. Çà ïðåâûøåíèå òðàôèêà ïðèõîäèòüñÿ ñèëüíî ïåðåïëà÷èâàòü. Ïîýòîìó ìîíèòîðèíã çà òðàôèêîì ÿâëÿåòñÿ âàæíîé çàäà÷åé.

Åñòü ìíîæåñòâî áèëëèíãîâûõ ñèñòåì, êîòîðûå âêëþ÷àþò â ñåáÿ ôóíêöèþ ïîäñ÷åòà òðàôèêà, íî òàì ñëèøêîì ìíîãî íå íóæíûõ íàì âîçìîæíîñòåé è ôóíêöèé. Ñóùåñòâóåò ïðîãðàììà IPCad, êîòîðàÿ ìîæåò ïîìî÷ü ðåøèòü çàäà÷ó.

IPCad (Cisco IP accounting simulator) - ýòî ïðîãðàììà äëÿ ó÷åòà òðàôèêà, êîòîðàÿ ìîæåò âåñòè ïîäñ÷åò íåñêîëüêèìè ìåõàíèçìàìè, íàïðèìåð ÷åðåç èíòåðôåéñû BPF, libpcap è iptables. Åñòü îäèí íåäîñòàòîê: ðåçóëüòàòû âûâîäÿòñÿ ïðÿìî â êîíñîëü, áåç êàêîé-ëèáî ôèëüòðàöèè. Ïîýòîìó ê ïàêåòó IPCad íóæíî äîðàáîòàòü èíòåðôåéñ.

Íà÷íåì ñ óñòàíîâêè IPCad:

router> wget <#"justify">Äëÿ ïîëó÷åíèÿ ñòàòèñòèêè çàïóñêàåì ïðîãðàììó:

colo> /usr/local/bin/ipcad -rds> rsh localhost show ip accounting

Ïîëó÷èì âûâîä â êîíñîëü:

.168.23.14 83.156.177.10 1 131

.67.60.119 192.168.23.14 1 305

.168.23.14 202.152.243.92 1 131

.168.23.14 178.67.60.119 1 131

.168.23.14 77.77.44.16 1 131

.168.23.196 192.168.23.201 2873 186687

.168.23.201 192.168.23.196 4274 3838143data age is 4data age exact 269data saved 1305215070eth1: received 375320822, 5 m average 41518 bytes/sec, 60 pkts/secentries made: 569cached flows: 27usage: 0% (63728 from 10485760)slots for rsh clients: 9

IPCAD uptime is 49 days 51 minutes

Òàêîé ðåçóëüòàò íå âñåì áóäåò ïîíÿòåí, äà è çàïóñêàòü ïðîãðàììó âðó÷íóþ íå ñàìûé óäîáíûé ñïîñîá ïîäñ÷èòûâàòü òðàôèê. Äëÿ ðåøåíèÿ ýòîé ïðîáëåìû íóæíî ñîçäàòü óäîáíûé âåá-èíòåðôåéñ. Âñþ èíôîðìàöèþ î òðàôèêå áóäåì çàíîñèòü â áàçó äàííûõ ÑÓÁÄ MySql. Ñîçäàåì áàçó äàííûõ stat è íóæíûå íàì òàáëèöû (users, download, upload, tmp), â êîòîðûå áóäåì çàïèñûâàòü ñòàòèñòèêó.

Ñîçäàäèì ñêðèïò stat.sh, êîòîðûé áóäåò çàïóñêàòü êîìàíäó ïîëó÷åíèÿ ñòàòèñòèêè è çàïèñûâàòü ðåçóëüòàò â ôàéë, à çàòåì çàïóñêàòü ñêðèïò collect.pl, îòâå÷àþùèé çà äîáàâëåíèå èíôîðìàöèè â áàçó äàííûõ.

Ñêðèïò stats.sh:

#!/bin/bash127.0.0.1 clear ip accounting > /dev/null127.0.0.1 show ip accounting checkpoint > /tmp/ipcad.stat

/usr/local/etc/collect.pl/tmp/ipcad.stat

×àñòü ñêðèïòà collect.pl :

#!/usr/bin/perlDBI;

#Ëîãèí / ïàðîëü

$dbuser = "root";

$dbpassword = "password";= DBI->connect("DBI:mysql:stat:localhost",$dbuser,$dbpassword) or die "can't connect to database ", $dbh->errstr, __LINE__;(FIL, "/tmp/ipcad.stat") || die;($line=<FIL>) {

@mass = split(" ",$line);

$dbh -> do ("INSERT INTO `tmp` ( `id` , `date` , `time` , `src` , `srcp` , `dst` , `dstp` , `bytes` , `proto`,`class` ) VALUES ('', CURDATE( ) , CURTIME( )$

}

close(FIL);

Ñêðèïò stat.sh íóæíî çàïóñêàòü êàæäûå 20-25 ìèíóò, ïîýòîìó äîáàâëÿåì çàäà÷ó â cron:

router> crontab -e

,20,40,55 * * * * /usr/local/etc/stat


Òåïðü âñå íóæíûå äàííûå íàõîäÿòñÿ â áàçå äàííûõ, îñòàëîñü òîëüêî âûòàùèòü èõ íà ñàéò. Äëÿ ýòîãî ðàçðàáàòûâàåì íåñêîëüêî web-ñòðàíèö. Êîä ãëàâíîé ñòðàíèöû index.php íàõîäèòñÿ â ïðèëîæåíèè 3.

 èòîãå ïîëó÷àåì ñèñòåìó ïîäñ÷åòà òðàôèêà â óäîáíîì òàáëè÷íîì âèäå (ðèñ. 3.4.1), ñî ñëåäóþùèìè âîçìîæíîñòÿìè:

·Ó÷åò ëþáîãî òðàôèêà äëÿ êàæäîãî ïîëüçîâàòåëÿ îòäåëüíî;

·Óñòàíîâêà ëèìèòà òðàôèêà, ïðè ïðåâûøåíèè êîòîðîãî íà ïî÷òó ñèñòåìíîìó àäìèíèñòðàòîðó ïðèõîäèò èçâåùåíèå.


Ðèñ.3.4.1 Òàáëèöà èïîëüçîâàíèÿ Èíòåðíåò òðàôèêà

Çàêëþ÷åíèå


 ðåçóëüòàòå âûïîëíåíèÿ äèïëîìíîé ðàáîòû ïîëó÷åíû ñëåäóþùèå ðåçóëüòàòû:

1.Ïîñòðîåíà çàùèùåííàÿ êîðïîðàòèâíàÿ ñåòü íà îñíîâå VPN, èñïîëüçóÿ òåõíîëîãèè OpenVPN è SSH;

1.Ðàññìîòðåíû ìåòîäû îðãàíèçàöèè VPN ñåòåé: êëèåíò-ñåðâåðíûé, òóííåëèðîâàíèå, òî÷êà-òî÷êà;

2.Ïîëó÷åíû òàáëè÷íûå çíà÷åíèÿ ïðîïóñêíîé ñïîñîáíîñòè çàùèùåííûõ èíòåðíåò êàíàëîâ äëÿ òåõíîëîãèé OpenVPN è SSH. Äàíà ïðàêòè÷åñêàÿ îöåíêà ïðîèçâîäèòåëüíîñòè ýòèõ êàíàëîâ ñîçäàííîé êîïðîðàòèâíîé ñåòè. Ïîëó÷åííûå ðåçóëüòàòû ïîçâîëÿþò ñäåëàòü îáùèé âûâîä: ïðè ïîñòðîåíèè êîðïîðàòèâíîé ñåòè öåëåñîîáðàçíî èñïîëüçîâàòü îáå òåõíîëîãèè - ñ ïîìîùüþ OpenVPN ñîçäàâàòü çàùèùåííûå ñåòè, ñ ïîìîùüþ SSH - ssh-òóííåëè è ñîçäàíèå ïîäêëþ÷åíèé äëÿ àäìèíèñòðèðîâàíèÿ;

.Ðàññìîòðåíû ðåøåíèÿ äëÿ ìîíèòîðèíãà êîðïîðàòèâíîé ñåòè: Nagios, Cacti, Ipcad, LightSquid. Ñäåëàí âûâîä îá èñïîëüçîâàíèè ýòèõ ðåøåíèé â îäíîì êîìïëåêñå;

.Ñ öåëüþ ôèëüòðàöèè òðàôèêà è ñëåæåíèÿ çà äåÿòåëüíîñòüþ ïåðñîíàëà óñòàíîâëåí, íàñòðîåí è ââåäåí â ðàáîòó proxy-ñåðâåð;

.Ââåäåíà â ýêñïëóàòàöèþ ñèñòåìà ìîíèòîðèíãà, ñîñòîÿùàÿ èç ðàññìîòðåííûõ â ðàáîòå êîìïîíåíòîâ: Nagios, Cacti, Ipcad, LightSquid;

.Ðàçðàáîòàí web-èíòåðôåéñ äëÿ ñèñòåìû ó÷åòà òðàôèêà.

Ñïèñîê èñïîëüçóåìîé ëèòåðàòóðû


1.À.Â. Ñîêîëîâ, Â.Ô.Øàíüãèí. Çàùèòà èíôîðìàöèè â ðàñïðåäåëåííûõ êîðïîðàòèâíûõ ñåòÿõ è ñèñòåìàõ. - Ì.:ÄÌÊ Ïðåññ, 2002. - 656ñ.

2.Îëèôåð Â.Ã., Îëèôåð Í.À. Êîìïüþòåðíûå ñåòè. Ïðèíöèïû, òåõíîëîãèè, ïðîòîêîëû. - 2001 ã. 668 ñ.

.Îëåã Êîëåñíèêîâ, Áðàéàí Õåò÷. LINUX. Ñîçäàíèå âèðòóàëüíûõ ÷àñòíûõ ñåòåé (VPN). - Èçäàòåëüñòâî "ÊÓÄÈÖ-ÎÁÐÀÇ" 2002 ã. 464 ñ.

.Ñâîáîäíàÿ ýíöèêëîïåäèÿ, URL: #"justify">Ïðèëîæåíèå 1


Òàáëèöà çíà÷åíèé ïðîïóñêíîé ñïîñîáíîñòè Èíòåðíåò êàíàëà, èñïîëüçóÿ OpenVPN.

¹Áåç VPN OpenVPN AES-256-CBCØèôðîâàíèå ñ ñæàòèåì òðàôèêà RTTÑêîðîñòüRTTÑêîðîñòüÖï ¹1Öï ¹2RTTÑêîðîñòüÖï ¹1Öï ¹211,4389,572,0169,107,761,85612,1010,78,321,5519,511,9259,104,78,32,11912,10178,731,5329,581,9909,106,66,32,24512,1010,78,341,4749,592,2469,0968,72,23612,1025,61151,4819,592,2589,105,782,19112,1010,38,761,4719,592,3449,107,76,32,21212,1010,38,771,6949,502,3609,108,38,72,26212,107,37,781,5199,582,2859,1038,72,30412,1030,111,791,4709,592,3369,097,66,32,20812,1012,78,7101,4709,602,3179,096,38,32,21212,10118,7111,5759,582,2829,096,38,72,25812,1023,311,7121,4759,592,3199,1066,72,20312,10148,3131,6869,602,2249,094,78,72,26712,1010,77,7141,7259,592,2589,1048,32,23812,1010,311,3151,7069,581,9419,097,76,72,31212,1029,38,7161,7449,602,1559,106,78,72,18712,10118,3171,5519,602,3139,097,36,32,22412,109,711181,5299,602,2269,107,38,72,19012,008,39191,4499,582,2409,098,782,28812,0031,39,3201,4679,622,2189,1088,32,17612,1011,39,7211,4999,592,2009,1078,72,19612,10119,3221,3999,602,2839,099,76,32,15012,10218,7231,5459,592,2649,10781,82512,10167,3241,5309,592,2789,096,68,72,22612,1011,612,7251,3749,582,2449,098,78,32,27312,1010,38,3Ñð1,5349,5842,2219,0966,7727,7882,19412,09214,9929,272

 ïðèëîæåíèè 1 èñïîëüçîâàíû ñëåäóþùèå îáîçíà÷åíèÿ:

·¹ - íîìåð îïûòà. Ïîä îïûòîì ïîíèìàåì ïåðåäà÷ó ôàéëà èç îäíîé ñåòè â äðóãóþ â òå÷åíèè 10 ñåêóíä;

·Áåç VPN - îïûòû ïðîèçâîäèëèñü áåç èñïîëüçîâàíèÿ òåõíîëîãèè VPN;

·AES-256-CBC - ïðîèçâîäèòåëüíîñòü êàíàëà ïðè øèôðàöèè ïåðåäàâàåìûõ äàííûõ ñ ïîìîùüþ 256 áèòíîãî êëþ÷à AES;

·Øèôðîâàíèå ñ ñæàòèåì òðàôèêà - ïðîèçâîäèòåëüíîñòü êàíàëà ïðè èñïîëüçîâàíèè ñæàòèÿ øèôðîâàííîãî òðàôèêà;

·RTT - âðåìÿ ìåæäó îòïðàâêîé çàïðîñà è ïîëó÷åíèåì îòâåòà â ìèëëèñåêóíäàõ (Round Trip Time);

·Ñêîðîñòü - ïðîïóñêíàÿ ñïîñîáíîñòü êàíàëà, èçìåðÿåìàÿ â Ìáèò/ñåê;

·Öï1 - çàãðóçêà öåíòðàëüíîãî ïðîöåññîðà íà ïåðåäàþùåì ìàðøðóòèçàòîðå;

·Öï2 - çàãðóçêà öåíòðàëüíîãî ïðîöåññîðà íà ïðèíèìàþùåì ìàðøðóòèçàòîðå;

·Ñð - ñðåäíåå àðèôìåòè÷åñêîå çíà÷åíèå.


Òàáëèöà çíà÷åíèé ïðîïóñêíîé ñïîñîáíîñòè Èíòåðíåò êàíàëà, èñïîëüçóÿ SSH

¹Áåç VPN SSH AES-256-CBCØèôðîâàíèå ñ ñæàòèåì òðàôèêà RTTÑêîðîñòüRTTÑêîðîñòüÖï ¹1Öï ¹2RTTÑêîðîñòüÖï ¹1Öï ¹211,4389,572,0688,851,310,32,22411,6033,81321,5519,512,3748,8519,72,25810,4036,711,331,5329,582,3798,841,710,72,36011,402516,641,4749,592,3548,840,782,28511,5025,31251,4819,592,3488,852,310,32,28211,5071,313,761,4719,592,1338,832102,31911,5024,910,371,6949,502,4518,832,310,72,22411,5035,717,3081,5199,582,4118,862,77,72,52411,4035,912,791,4709,592,3908,84210,32,32611,4057,713,3101,4709,602,4238,851,3102,23211,602414111,5759,582,5248,862101,86411,7036,312,7121,4759,592,3548,843,382,23511,4054,311,3131,6869,602,4238,855102,12011,5037,318,6141,7259,592,3548,85110,32,22111,4023,612151,7069,582,2948,861,37,32,22811,5026,613,7161,7449,602,1338,843,3102,42311,307711171,5519,602,1878,840,7102,35411,5022,616,7181,5299,602,3748,832,7102,42311,6031,714191,4499,582,2588,842,37,72,35410,4034,113201,4679,622,2358,851,7102,29411,6055,410,3211,4999,592,1338,851102,13311,2024,715221,3999,602,2128,8339,72,37411,2035,612,7231,5459,592,3058,852,382,25811,3059,112241,5309,592,3368,841,710,72,19011,4034,312251,3749,582,2738,861,3102,28811,4025,318,3Ñð1,5349,5842,3098,8451,7048,1402,27211,36837,92813,500

 ïðèëîæåíèè 1 èñïîëüçîâàíû ñëåäóþùèå îáîçíà÷åíèÿ:

·¹ - íîìåð îïûòà. Ïîä îïûòîì ïîíèìàåì ïåðåäà÷ó ôàéëà èç îäíîé ñåòè â äðóãóþ â òå÷åíèè 10 ñåêóíä;

·Áåç VPN - îïûòû ïðîèçâîäèëèñü áåç èñïîëüçîâàíèÿ òåõíîëîãèè VPN;

·AES-256-CBC - ïðîèçâîäèòåëüíîñòü êàíàëà ïðè øèôðàöèè ïåðåäàâàåìûõ äàííûõ ñ ïîìîùüþ 256 áèòíîãî êëþ÷à AES;

·Øèôðîâàíèå ñ ñæàòèåì òðàôèêà - ïðîèçâîäèòåëüíîñòü êàíàëà ïðè èñïîëüçîâàíèè ñæàòèÿ øèôðîâàííîãî òðàôèêà;

·RTT - âðåìÿ ìåæäó îòïðàâêîé çàïðîñà è ïîëó÷åíèåì îòâåòà â ìèëëèñåêóíäàõ (Round Trip Time);

·Ñêîðîñòü - ïðîïóñêíàÿ ñïîñîáíîñòü êàíàëà, èçìåðÿåìàÿ â Ìáèò/ñåê;

·Öï1 - çàãðóçêà öåíòðàëüíîãî ïðîöåññîðà íà ïåðåäàþùåì ìàðøðóòèçàòîðå;

·Öï2 - çàãðóçêà öåíòðàëüíîãî ïðîöåññîðà íà ïðèíèìàþùåì ìàðøðóòèçàòîðå;

·Ñð - ñðåäíåå àðèôìåòè÷åñêîå çíà÷åíèå.

Êîä ñòðàíèöû web-èíòåðôåéñà

Index.php:

<?php include "check.php"; ?>

<html>

<head>

<?php("global.php"); $funk, $yearmonth;_connect();

?>

<meta name="GENERATOR" content="Quanta Plus">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<LINK rel="stylesheet" href="style.css" type="text/css">

</head>

<body >

<table>

<tr>

<td align=left valign=top>

<h3>Ïåðñîíàëüíàÿ ñòàòèñòèêà:<br>

<?php

//get checked ips

$query = "SELECT checkedip,uname,INET_NTOA(checkedip) from users order by checkedip";

$result = mysql_query ($query);($result) {"<form method=GET name=checkedips action=index.php>: <select name=checkedip onChange=checkedips.submit()>

<option>--------

"; ($b = mysql_fetch_array ($result))

{

if ($checkedip == $b[0]) {echo "<option value=$b[0] selected=selected>$b[2] : $b[1]";} {echo "

<option value=$b[0]>$b[2] : $b[1]

";}}"</select>

<input type=hidden name=funk value=$funk>

ìåñÿö <select name=month onChange=checkedips.submit()>

";

$i = 0;($mm as $m_) {

$i++; ($month==$i) echo "<option value=$i selected=selected>$m_";echo " <option value=$i>$m_";

}

}

?>

</select>

<select name=year onChange=checkedips.submit()>

<?php($yy as $y_) {($year==$y_) echo "<option value=$y_ selected=selected>$y_";echo " <option value=$y_>$y_";

}

?>

</select>

ãîä

</form></h3>

<ul><li><a href=index.php?ch=1>Statistic on all users</a></li></ul>

<ul><?php echo "

<li><a href=index.php?checkedip=$checkedip&funk=print_month_inet&month=$month&year=$year>Çàãðóçêà èç Èíòåðíåò çà ìåñÿö</a>

<li><a href=index.php?checkedip=$checkedip&funk=print_day_inet&month=$month&year=$year>Çàãðóçêà èç Èíòåðíåò ïî äíÿì</a>

<li><a href=index.php?checkedip=$checkedip&funk=print_day_inet_upload&month=$month&year=$year>Îòãðóçêà â Èíòåðíåò ïî äíÿì</a>

<li><a href=index.php?checkedip=$checkedip&funk=print_inet&month=$month&year=$year&lim=0>Ïîñåùåíèÿ Èíòåðíåò</a>

</ul>

<ul>

<li><a href=lans.php> Ëîêàëüíûå ñåòè</a>

<li><a href=users.php> Ïîëüçîâàòåëè</a>

</ul>

<ul>

<li><a href=exit.php align=left>Âûõîä</a></li>

</ul>

";"<h3><font color=yellow>:: $now ::</font></form></h3>";("calendar.php"); ?>

<td align=left valign=top>

<?php ($funk == "print_time" || $funk == "print_time_upload" || $funk=="print_inet" || $funk =="print_lan") {$funk ($year,$month,$lim);}($_GET['ch']==1) all();$funk ($year,$month);_close ();

?>

</table>

</td>

</tr>

<tr><td colspan=2>

&nbsp;<br>

<p align="right"><font size="4"><?php echo "<b>Òåõ. ïîääåðæêà: [email protected]</b>";?>

</td>

</tr>

</table>

</body>

</html>

Ðàçìåùåíî íà Allbest.ru


Введение В последнее время всё чаще документооборот и передача корпоративной информации совершается в электронном виде тем или иным способом. Для этого у

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ