Построение корпоративной сети предприятия
SSH — это протокол сеансового уровня. SSH-сервер обычно прослушивает соединения на TCP-порту 22. Для аутентификации сервера в SSH используется протокол аутентификации сторон на основе алгоритмов электронно-цифровой подписи RSA или DSA. Для аутентификации клиента также может использоваться ЭЦП RSA или DSA, но допускается также аутентификация при помощи пароля и даже ip-адреса хоста. Аутентификация… Читать ещё >
Построение корпоративной сети предприятия (реферат, курсовая, диплом, контрольная)
В последнее время всё чаще документооборот и передача корпоративной информации совершается в электронном виде тем или иным способом. Для этого уже существует множество протоколов и методов передачи данных. Так, например, электронный документооборот предприятия производится средствами платформы 1С, имеющей множество различных конфигураций под любые нужды бизнеса; пересылка документов по электронной почте с использованием почтовых протоколов POP, IMAP, SMTP; передача больших объемов информации с помощью FTP протокола; организация корпоративного сайта, используя веб-технологии.
Информационные технологии 21 века предоставляют большие возможности по совершенствованию работы предприятий, заменяя человеческий труд машинным, повышая рост производительности труда и снижая затраты на персонал. Создаются новые и модернизируются действующие предприятия, территориально рассредоточенные в пределах населенного пункта, города или даже страны, так как теперь средства связи гораздо доступнее и дешевле.
Всё это стало возможным, благодаря компьютеризации и использованию сетевых технологий на предприятии. Но есть вещи, о которых нельзя забывать: сложность внедрения, безопасность, производительность, защищенность, надежность системы. Главными проблемами на сегодняшний день стали безопасность и жизнеспособность компьютерных систем.
Корпоративная информация, передаваемая через открытую сеть Интернет, легко может быть перехвачена при помощи специальных программ-снифферов — злоумышленниками и использоваться в корыстных целях. Сюда относятся важнейшая информация, содержащаяся в конфиденциальных документах. Помимо этого могут быть перехвачены логины и пароли от корпоративной почты или иных сервисов. Конфиденциальность передаваемой информации выходит на первый план при создании корпоративной сети.
Защита информации, передаваемой по каналам связи, используя паролирование документов или их шифрование, не предоставляет нужного уровня безопасности, так как любой пароль может быть взломан и это лишь вопрос времени (всё зависит от его сложности), а с помощью криптоанализа, можно выявить и шифрующий ключ. Конечно, можно использовать большие и сложные пароли, современные большие ключи шифрования, но всё это понизит производительность, превратив простой механизм операции отправки в весьма затратный по временным параметрам. Время будет затрачено на то, чтобы защитить несколько файлов. А если это надо делать постоянно и в больших количествах?
Как раз для разрешения указанных противоречий в корпоративных сетях используются различные протоколы Virtual Private Network. С их помощью создаются виртуальные каналы связи поверх сети Интернет. Они дают возможность соединять локальные сети различных технологий и их сегменты в одну корпоративную сеть. Но самое главное достоинство, собственно ради чего они и нужны, это шифрование всего трафика, проходящего по туннелю на канальном уровне модели OSI. Шифрование обеспечивает защиту от доступа к передаваемой информации, а инкапсуляция не позволяет злоумышленнику выяснить адресат передаваемой информации.
Всё это дает большие возможности для построения защищенной сети. Но если что-то выходит из строя, программа или оборудование серверов, то и защищенный канал перестает работать. За состоянием компьютерного парка постоянно требуется вести мониторинг, чтобы время простоя в случае падения одного участка сети был минимальным. Имея множество серверов и сервисов, не так просто узнать, где и что случилось. Средствами мониторинга можно следить за этим, не обходя каждый сервер по одному. С помощью удобных таблиц и почтовых уведомлений это не составит большого труда, и администратор всегда будет в курсе состояния сети, сервисов и серверов, входящих в эту корпоративную сеть.
Указанные проблемы при построении корпоративных сетей для конкретных предприятий показывают, что процесс их создания не является тривиальным. Поэтому в рамках работы ставятся и решаются задачи выбора и реализации протоколов VPN, оценки производительности полученных каналов и способы мониторинга за состоянием корпоративной сети в режиме реального времени конкретного предприятия.
Глава 1. Предметная область и постановка задачи
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. Компьютер. Под ним подразумевается стандартное рабочее место, чаще всего подключенное к локальной сети через кабель типа витая пара. На компьютере установлено ПО необходимое для работы персонала (офисные приложения, 1С, почтовые агенты и т. п.), а также средства для удаленного администрирования данного компьютера.
2. Переносное устройство. Это может быть ноутбук, планшет, мобильное устройство. Чаще всего подключение таких устройств к сети производится с помощью беспроводной связи. Несет те же функции, что и компьютер, но имеет главное отличие от стационарного компьютера — мобильность.
3. Сетевое МФУ. МФУ — многофункциональное устройство, выполняющее функции принтера, сканера, копира. Подключение к сети осуществляется путем сетевого кабеля. Если МФУ не имеет сетевого порта, то оно подключается к компьютеру и с помощью средств операционной системы открывается на доступ по сети другим пользователям.
4. Wi-fi точка доступа. Устройство, с помощью которого создаются беспроводные сети. Используется для подключения ноутбуков и других портативных устройств, имеющих модуль wi-fi. Преимущество перед кабельной системой заключается в мобильности и ненужности протягивать кабель и портить интерьер. Скорость доступа в зависимости от используемого стандарта может быть от 50 до 125 мбит/сек. Для защиты доступа к сети есть несколько стандартов обеспечения безопасности: WEP, WPA, WPA2 и т. д.
5. Ip-телефония. Система связи, обеспечивающая передачу речевого сигнала по сети Интернет или по любым другим IP-сетям. Сигнал по каналу связи передаётся в цифровом виде и, как правило, перед передачей преобразовывается (сжимается) с тем, чтобы удалить избыточность.
6. Коммутатор. Устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети. Коммутатор передаёт данные только непосредственно получателю, исключение составляет широковещательный трафик (на MAC-адрес FF: FF:FF:FF:FF:FF) всем узлам сети. Это повышает производительность и безопасность сети, избавляя остальные сегменты сети от необходимости (и возможности) обрабатывать данные, которые им не предназначались.
7. Маршрутизатор. Сетевое устройство, на основании информации о топологии сети и определённых правил принимающее решения о пересылке пакетов сетевого уровня (уровень 3 модели OSI) между различными сегментами сети. Проще говоря, это устройство, которое связывает 2 и более разные сети (в нашем случае это локальная сеть офиса и Интернет).
Маршрутизатор может быть типа hardware и software. Hardware маршрутизатор — это готовое устройство, в программную оболочку которого вшиты базовые функции маршрутизатора. Software маршрутизатор — это отдельный сервер, обычно с linux/unix операционной системой, на базе которой с помощью средств firewall’а настраивается маршрутизация и правила обмена трафиком. При выборе того или иного типа маршрутизатора обычно руководствуются количеством конечных пользователей, сложностью правил и требуемой надежностью.
8. Терминальный сервер (сервер терминалов). Сервер, предоставляющий клиентам вычислительные ресурсы (процессорное время, память, дисковое пространство) для решения задач. Технически терминальный сервер представляет собой очень мощный компьютер (либо кластер), соединенный по сети с терминальными клиентами, которые, как правило, представляют собой маломощные или устаревшие рабочие станции или специализированные решения для доступа к терминальному серверу. Терминал сервер служит для удалённого обслуживания пользователя с предоставлением рабочего стола.
Преимущества терминального сервера
· Снижение временных расходов на администрирование;
· Повышение безопасности — снижение риска взломов;
· Снижение затрат на программное и аппаратное обеспечение;
Чаще всего в роли операционной системы выступает Microsoft Windows Server.
9. Файловый сервер. Это выделенный сервер, оптимизированный для выполнения файловых операций ввода-вывода. Предназначен для хранения файлов любого типа. Как правило, обладает большим объемом дискового пространства, и, как правило, файл-сервер оборудован RAID контроллером для обеспечения быстрой записи и чтения данных.
10. Web-сервер. Это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. На нем может быть расположен корпоративный сайт или любой другой веб-сервис.
Чаще всего используется операционная система семейства linux/unix, так как они по сравнению с другими более надежны и более производительны. В роли самого веб-сервера выступает специальное программное обеспечение, например Apache или nginx.
11. Сервер приложений. Это программная платформа, предназначенная для эффективного исполнения процедур (программ, механических операций, скриптов) которые поддерживают построение приложений. Сервер приложений действует как набор компонент доступных разработчику программного обеспечения через API (Интерфейс прикладного программирования) определенный самой платформой.
На предприятии, очень часто используется приложение 1С. У этой программы есть несколько вариантов работы с базой данных: файловый режим — вся база находится в одном файле (имеет смысл, когда работающих с базой клиентов не больше 10−15 человек), клиент-серверный режим — база данных находится на sql сервере. В клиент-серверном режиме пользователи не напрямую работают с базой данных, а через 1С сервер, который обрабатывает запросы в понимаемую форму для sql сервера.
Этот режим повышает производительность, надежность, и улучшает процессы администрирования базы данных.
Как раз для таких целей и существует сервер приложений.
12. Сервер БД. Сервер БД обслуживает базу данных и отвечает за целостность и сохранность данных, а также обеспечивает операции ввода-вывода при доступе клиента к информации. Большинство СУБД используют язык 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).
SSL выполняет две основные задачи:
— Аутентификация сервера и клиента по средством Инфраструктуры Открытых Ключей (PKI).
— Создает шифрованное соединение между клиентом и сервером для обмена сообщениями.
Стандартная модель OSI состоит из семи уровней, в то время как четырех уровневая модель наиболее подходит для TCP/IP (уровень приложений, транспортный, сетевой, канальный, физический), который используется огромным количеством приложений.
SSL разположен между транспортным уровнем и уровнем приложения и будет шифровать уровень приложения.
Работа SSL проходит в 4 этапа:
1. SSL Handshake: Определяется метод шифрования для передачи данных;
2. SSL Change Cipher Spec: Создание и передача ключа между клиентом и сервером на эту сессию;
3. SSL Alert: Доставка сообщений SSL об ошибках между клиентом и сервером;
4. 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 — это протокол сеансового уровня. 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 Постановка задачи
Одно из основных требований, предъявляемых к постановке и реализации задач дипломного проектирования, состоит в том, что все результаты и на их основе выводы должны быть получены в реальных условиях на реальном предприятии. Это дает возможность придать результатам дипломной работы практическую значимость. Проведя работу в реальных условиях, можно реально оценить эффективность используемых сетевых технологий на основе количественной оценки производительности сетевых каналов.
Кратко опишем предметную область. Фирма занимается продажей саун, бань и сопутствующих этому материалов. Состоит из офиса, склада и магазинов, территориально разнесенных по всему городу. Все сервера расположены у провайдера (коллокация), а именно: сервера терминалов, сервер платформы 1С, сервер базы данных 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. Подключить по защищенным каналам магазины к серверам;
3. Оценить производительность созданных каналов;
4. Создать систему мониторинга и оповещения о проблемах с оборудованием корпоративной сети.
Представим структуру проектируемой корпоративной сети предприятия в виде, как это показано на рис. 1.4.1.
Рис. 1.4.1 Проектируемая корпоративная сеть
Глава 2. Внедрение технологий vpn в корпоративную сеть и их сравнительная оценка
2.1 Реализация на основе технологии OpenVPN
Сначала объединим в одну корпоративную сеть офис, склад и наши сервера у провайдера. Для этого нам нужно построить защищенные каналы — туннели только между маршрутизаторами, так как нет необходимости подключать каждый компьютер в отдельности.
Итак: есть 3 маршрутизатора под управлением ОС CentOs. Переброс пакетов из Интернета в сеть и обратно производится с помощью технологии NAT и правил iptables. корпоративный сеть мониторинг сервер Дадим для удобства маршрутизаторам имена:
· В офисе: Office;
· На складе: Sklad;
· Колокация (сервера у провайдера): Colo;
· Магазин № 1: mag1
· Магазин № 2: mag2
Сетевые настройки маршрутизаторов:
Office:
Сеть | Интерфейс | Ip адрес | Маска | Шлюз | |
Интернет | eth2 | 213.182.175.230 | 255.255.255.252 | 213.182.175.229 | |
Локальная | eth1 | 192.168.53.250 | 255.255.255.0 | ; | |
Sklad:
Сеть | Интерфейс | Ip адрес | Маска | Шлюз | |
Интернет | eth2 | 79.142.87.206 | 255.255.255.252 | 79.142.87.211 | |
Локальная | eth1 | 192.168.0.1 | 255.255.255.0 | ; | |
Colo:
Сеть | Интерфейс | Ip адрес | Маска | Шлюз | |
Интернет | eth2 | 195.2.240.68 | 255.255.255.252 | 195.2.240.60 | |
Локальная | eth1 | 172.16.100.8 | 255.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> rpmUhv http://apt.sw.be/redhat/el5/en/x8664/rpmforge/RPMS//rpmforge-release-0.3.6−1.el5.rf.x8664.rpm
Эта команда скачивает rpm пакет репозитория и устанавливает его.
Теперь нам стал доступен пакет OpenVPN, устанавливаем его:
colo> yum install openvpn
OpenVPN установлен. Далее требуется сгенерировать корневой сертификат сервера, сертификаты и ключи клиентов, сертификат и ключ сервера, tls ключ.
Для этого переходим в конфигурационный каталог OpenVPN и создаем каталог под наши будущие ключи и каталог под конфигурационные файлы клиентов:
colo> cd /etc/openvpn
colo> mkdir keys
colo> mkdir ccd
Загружаем переменные для генерации ключей в память и начинаем генерировать сертификат авторизации:
colo>./vars
colo>./build-ca
Generating a 1024 bit RSA private key
…++++++
.++++++
writing new private key to 'ca.key'
——;
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
——;
# Страна
Country Name (2 letter code) [US]: RU
# Провинция
State or Province Name (full name) [CA]: SPB
# Город
Locality Name (eg, city) [SanFrancisco]: SPB
# Название фирмы
Oganization Name (eg, company) [Fort-Funston]: server
# Отделение фирмы
Organizational Unit Name (eg, section) []: server
# Имя сервера OpenVPN
Common Name (eg, your name or your server’s hostname) [Fort-Funston CA]: server
Name []: server
Email Address [me@myhost.mydomain]:
Создаем сертификат X.509 для сервера:
colo> ./build-key-server server
# Страна
Country Name (2 letter code) [US]: RU
# Провинция
State or Province Name (full name) [CA]: SPB
# Город
Locality Name (eg, city) [SanFrancisco]: SPB
# Название компании
Organization Name (eg, company) [x]: server
# Отделение компании
Organizational Unit Name (eg, section) []: server
# Имя сервера OpenVPN
Common Name (eg, your name or your server’s hostname) []: server
# Почтовый адрес
Email Address [root@localhost]:
Please enter the following 'extra' attributes
to be sent with your certificate request
# Пароль
A challenge password []: 123 456 789
# Название организации
An optional company name []: server
Далее появится вопрос о подписывании сертификата, соглашаемся.
Создаём ключ для office:
colo> ./build-key-server office
Generating a 1024 bit RSA private key
…++++++
…++++++
writing new private key to 'client.key'
——;
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
——;
Country Name (2 letter code) [US]: RU
State or Province Name (full name) [CA]: SPB
Locality Name (eg, city) [SanFrancisco]: SPB
Organization Name (eg, company) [server]: company
Organizational Unit Name (eg, section) []: office
Common Name (eg, your name or your server’s hostname) []: office
Email Address [root@localhost]:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: 123 456 789
An optional 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
push «route 172.16.100.0 255.255.255.0»
# Office
push «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
# Office
route 192.168.53.0 255.255.255.0
# Sklad
route 192.168.0.0 255.255.255.0
# Разрешает видеть клиентам друг друга (по виртуальным IP) по умолчанию клиенты видят только сервер
client-to-client
# Включаем TLS аутификацию
tls-server