Архив номеров
Форум
Контакты

Виртуальная частная сеть и Linux: об организации доступа к сети предприятия и связи офисов компании

ИНОГДА У ПОЛЬЗОВАТЕЛЕЙ ЛОКАЛЬНОЙ СЕТИ, КОГДА ОНИ НАХОДЯТСЯ ЗА ЕЕ ПРЕДЕЛАМИ, НАПРИМЕР, В ДРУГОМ ГОРОДЕ ИЛИ ПРОСТО ВНЕ ЗДАНИЯ ОРГАНИЗАЦИИ, ВОЗНИКАЕТ ПОТРЕБНОСТЬ ОБРАТИТЬСЯ К ЕЕ РЕСУРСАМ. ОДНИМ ИЗ СПОСОБОВ ДОСТУПА ПОЛЬЗОВАТЕЛЕЙ К ЛОКАЛЬНОЙ СЕТИ ПРЕДПРИЯТИЯ ЯВЛЯЕТСЯ VPN (VIRTUAL PRIVATE NETWORK – ВИРТУАЛЬНАЯ ЧАСТНАЯ СЕТЬ).

Конечно, это далеко не единственный способ обращения к корпоративной сети, например, можно настроить сервер удаленного доступа так, что пользователям будет казаться, что они находятся в одном здании со своими коллегами. Но виртуальная частная сеть имеет одно очень важное преимущество: все данные по соединению с VPN передаются в закодированном виде по открытым каналам связи, то есть через интернет. Если использовать сервер удаленного доступа (dial-in), то, скажем, звонок из Владивостока в Москву будет довольно дорог для компании (все равно, кто будет оплачивать его - клиент, использующий в качестве модема свой мобильный телефон, или компания, сервер которой перезвонит пользователю по call-back). А вот в случае с VPN, пользователь просто будет оплачивать услуги интернета, поскольку передача информации будет происходить по его каналам.

1. Преимущества VPN

Основными преимуществами VPN являются:

  • Передача информации в закодированном виде по протоколам, которые не предусматривают шифрование;
  • Иллюзия локального доступа;
  • Экономия на доступе к сети предприятия, поскольку для доступа к сети предприятия больше не нужно звонить по межгороду - VPN использует «просторы» интернета для передачи информации.

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

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

В роли VPN-маршрутизатора может выступать, например, любой Linux-компьютер, и в этой статье мы рассмотрим создание именно такого VPN-маршрутизатора.

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

Бескабельные соединения наподобие Radio Ethernet, обеспечивающие максимальную скорость передачи 11-12 Мбит/с, тоже лучше не использовать. Если на улице плохая погода, скорость передачи данных по Radio Ethernet сразу падает, иногда даже до нуля (когда ветер немного изменит направление антенны). Если отдельный пользователь еще может простить такое, то вся сеть предприятия – нет.

Соединения ADSL асинхронные, то есть в одном направлении у вас будет около 1,5 – 2 Мбит/с (максимум 6 Мбит/с), а в другом – 300-500 Кбит/с (обычно, максимум 1 Мбит/с). Опять же, данное соединение не очень годится для VPN-сети. Когда нужно связать две локальные сети, лучше использовать синхронное соединение, чтобы скорость передачи данных была одинаковой в обоих направлениях.

Возможно, что вас устроит SDSL-соединение. В отличие от ADSL, данное соединение синхронно, то есть скорость передачи данных в обоих направления одинакова. Но, насколько знаю, данный вид соединения предоставляют далеко не все провайдеры. В любом случае, выбор за вами. Ведь в конечном итоге все зависит от бюджета. Да и если разобраться, то 500 Кбит/c - тоже очень неплохо, особенно по сравнению с модемом.

2. Как будем настраивать?

Для создания VPN на базе Linux мы будем использовать два средства (они не единственные, но я остановил свой выбор на них):

  • FreeS/WAN – часто используется для связи двух удаленных офисов;
  • PPTP (Point to Point Tunneling Protocol) – протокол межузлового тунеллирования, который используется для организации доступа к ресурсам локальной сети пользователей, работающих за ее пределами.

3. Установка и настройка FreeS/WAN

Пакет FreeS/WAN довольно сложен в настройке, поэтому в этой статье мы рассмотрим только некоторые его функции, а именно – организацию связи между двумя VPN-маршрутизаторами.

Скачать пакет FreeS/WAN можно по адресу http://www.freeswan.org/download.html. Вы сможете скачать как исходный код, так и пакеты для дистрибутивов Red Hat/Fedora Core.

Если вы планируете установку FreeS/WAN из исходного кода, то не забудьте установить исходные коды ядра Linux и компилятор gcc. Архив с исходными кодами FreeS/WAN нужно распаковать в каталог /usr/src/freeswan. Затем нужно перейти в этот каталог и ввести одну из команд:

make oldgo – использовать текущую конфигурацию ядра.
make menugo – вызвать программу menuconfig для настройки ядра.
make xgo – вызвать программу xconfig для настройки ядра.

После этого введите команду make kinstall, в результате выполнения которой будет откомпилировано ядро и его модули. Скопируйте откомпилированное ядро в каталог /boot и пропишите его в конфигурационном файле вашего загрузчика (если у вас LILO, не забудьте ввести команду lilo для перезагрузки компьютера).

После перезагрузки убедитесь, что создан файл /etc/ipsec.secrets и он содержит какие-нибудь данные. Если это так, значит, вы все сделали правильно.

В файле /etc/ipsec.secrets находятся ключи, а в файле /etc/ipsec.conf – параметры freeswan.

3.1. Создание ключей

Для создания ключа введите команду:

# ipsec rsasigkey 128 > /root/ipsec-key

Затем откройте файл /root/ipsec-key и добавьте в его начало строку:

: RSA {

Обратите внимание, что до «RSA» и после него должны быть пробелы. В конец файла добавьте пару пробелов, а за ними – закрывающуюся фигурную скобку:

}

Потом измененный файл /root/ipsec-key нужно скопировать в файл /etc/ipsec.secrets.

3.2. Файл конфигурации /etc/ipsec.conf

Файл конфигурации /etc/ipsec.conf состоит из трех разделов:

  • config setup – общие настройки;
  • conn %default – настройки соединения по умолчанию;
  • conn <remote_name> - настройки конкретного соединения.

3.2.1. Раздел config setup

Рассмотрим раздел, содержащий опции по умолчанию:

config setup

interfaces=%defaultroute

klipsdebug=none
plutodebug=none

plutoload=%search
plutostart=%search

uniqueids=yes

Опция «interfaces» позволяет указать интерфейсы, которые мы будем использовать для установки VPN-соединений. Значение %defaultroute подойдет в большинстве случаев, но вы можете указать определенные интерфейсы:

interfaces="ipsec0=ppp0 ipsec1=ppp1"

Опции klipsdebug и plutodebug управляют протоколированием функции KLIPS (Kernel IP Security) и демона Pluto, который является частью freeswan и обеспечивает обмен ключами. Значения опций plutoload и plutostart лучше не изменять.

3.2.2. Раздел conn %default

Описание любого соединения начинается со слова conn. FreeS/WAN поддерживает соединение по умолчанию - %default. Для этого соединения характерны опции:

  • authby – задает метод аутентификации, например, authby=rsasig;
  • keyingtries – количество попыток установления соединения. Если эта опция принимает значение 0, то соединение будет устанавливаться бесконечно.

conn %default

authby=rsasig
keyingtries=5

3.3. Практика

Перед тем как изучить опции данного раздела, рассмотрим структуру VPN-сети, представленную на соответствующем рисунке.

Из рисунка видно, что сеть, находящая в Москве имеет адрес 192.168.1.0, а сеть в Киеве – 192.168.3.0. В терминологии FrreS/WAN первая сеть называется левой подсетью (leftsubnet), так как она находится слева, а вторая – правой (rightsubnet).

VPN-маршрутизатор, находящийся слева, называется левым – «left»- маршрутизатором (знаю, что это слово вызывает несколько неправильные ассоциации, но в английском языке в значении этого слова нет двойственности). На рисунке его адрес – 192.168.1.1. Обыкновенный маршрутизатор, к которому подключен левый VPN-маршрутизатор, называется «leftnexthop». Ситуация справа – аналогична. Зная терминологию, заполним часть файла ipsec.conf:

left=192.168.1.1
leftsubnet=192.168.1.0
leftnexthop=10.10.100.1

right=192.168.3.1
rightsubnet=192.168.3.0
rightnexthop=10.10.99.99

В качестве значений опций left и right вы можете использовать маршрут по умолчанию - %defaultroute, но лучше указать IP-адреса явно.
Если левая (наша) подсеть защищена брандмауэром (firewall), нужно указать опцию:

leftfirewall=yes

Для идентификации левой и правой сторон используются опции:

  • leftid, right[А2] – задают идентификаторы сторон. Идентификатором может быть доменное имя, например, @vpn.firma.msk.com. Символ @ означает, что система не должна пытаться преобразовать имя vpn.firma.msk.com в IP-адрес;
  • leftrsasigkey, rightrsasigkey – открытые ключи, соответственно, на левой и правой сторонах

Еще одна полезная опция – auto. Она определяет, какие соединения должны загружаться или устанавливаться при запуске freeswan. Если указать plutoload=%search и auto=add, то соединения загружаются, а если указать plutostart=%search и auto=start, то соединения будут установлены.

conn firma

left=192.168.1.1
leftsubnet=192.168.1.0
leftnexthop=10.10.100.1
leftfirewall=no
leftid=@vpn.msk.firma.com
right=192.168.3.1
rightsubnet=192.168.3.0
rightnexthop=10.10.99.99
righted=@vpn.kiev.firma.com

leftrsasigkey=<открытый ключ из файла ipsec.secrets на левой стороне>
rightrsasigkey= <открытый ключ из файла ipsec.secrets на правой стороне>

auto=start

3.4. Установка соединения

Для запуска FreeS/WAN в режиме демона выполните команду:

ipsec setup start

Если в файле конфигурации вы указали plutoload=%search и auto=add, соединения будут загружены (в нашем случае только одно – firma). После этого нужно инициализировать соединение командой:

ipsec auto --up firma

Если же вы указали в файле конфигурации plutostart=%search и auto=start, соединение будет установлено автоматически.

Совсем не обязательно устанавливать соединение одновременно на обеих сторонах. Если вы указали auto=add на левом и на правом серверах, достаточно инициализировать одну сторону – она отправит второй стороне запрос на установление соединения.
Проверить, установлено ли соединение, позволяет команда ipsec look.

4. Подключение мобильных пользователей к VPN

4.1. Настройка сервера

Теперь рассмотрим второй вариант, когда сотрудник нашей компании в командировке и ему нужны ресурсы нашей корпоративной сети. Для настройки такого рода соединения мы будем использовать PPTP. Нам понадобятся следующие пакеты:

  • pptp-server или pptpd – PPTP-сервер;
  • pptp-linux, pptp-client, pptp-adsl – PPTP-клиент.

Найти данные пакеты можно с помощью сайтов http://rpmfind.net, если у вас Red Hat-совместимый дистрибутив, и http://packages.ubuntu.com, если у вас Ubuntu или Debian.

Еще нам нужен пакет ppp, но в большинстве случаев он устанавливается по умолчанию, поэтому вам нужно только проверить его наличие в вашей системе.

Нужно отметить, что VPN-сервер в современных дистрибутивах настраивается на порядок проще, чем в дистрибутивах, основанных на ядре 2.4. Ведь в старых дистрибутивах вам нужно было патчить ppp и ядро (добавить поддержку MPPE), а в новых дистрибутивах, основанных на ядре 2.6 всего этого делать не нужно. Не нужно даже перекомпилировать ядро, поскольку в большинстве случаев расширение MPEE включено по умолчанию. Почему в «большинстве случаев»? Откуда же я знаю, какой у вас дистрибутив? Может быть, у вас какой-то экзотический дистрибутив, разработчики которого посчитали, что MPPE вам не нужен.

После установки пакета ppptd (или pptp-server) можно отредактировать его конфигурационный файл /etc/pptpd.conf.

speed 115200
option /etc/ppp/options.vpn
debug
localip 192.168.1.1
remoteip 192.168.1.12-22

Чтобы основной конфигурационный файл был компактным, дополнительные опции вынесем в файл /etc/ppp/options.vpn. Думаю, назначение этих опций понятно и без моих комментариев. Конечно, IP-адрес этого сервера (localip) и IP-адреса VPN-клиентов вам нужно изменить. В этом примере предполагается, что максимум может быть 10 VPN-клиентов, которым будут назначены IP-адреса из диапазона 192.168.1.12 - 192.168.1.22.

Теперь отредактируем файл /etc/ppp/options.vpn (его еще нужно создать)

ipparam PoPToP

lock

mtu 1490
mru 1490

ms-dns 192.168.1.1
name server.com
proxyarp
auth

refuse-pap
refuse-chap
refuse-chapms
require-mschap-v2

ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 30
lcp-echo-interval 5
deflate 0
+mppe-128

Этот файл конфигурации немного сложнее, чем предыдущий. Если особо разбираться с тем, что есть что, не хочется, тогда просто измените IP-адрес DNS-сервера (опция ms-dns) и имя узла (опция name). В не самых свежих версиях ppp вместо опций

refuse-pap
refuse-chap
refuse-chapms
require-mschap-v2

нужно использовать опции (соответственно):

-pap
-chap
-chapms
+chapms-v2

Они управляют аутентификацией VPN-пользователя. Мы используем протокол аутентификации MS CHAP v2 как самый безопасный. Основные способы аутентификации мы отключили.

Практически все настроено. Осталось только отредактировать файл /etc/ppp/options. Добавьте в него всего одну опцию:

lock

Имена VPN-пользователей можно определить в файле /etc/ppp/chap-secrets. Формат этого файла такой:

имя сервер.домен пароль IP

Вот небольшой пример:

vpn1 server.com "" *

vpn1 - имя пользователя, server.com - имя нашего VPN-сервера. Пароль мы указали пустой, - это означает, что пароль будет браться из /etc/shadow. IP-адрес мы тоже не указывали - VPN-пользователь сможет аутентифицироваться с любого IP. Пользователь vpn1 должен существовать в системе.

Вот теперь все готово. Для запуска PPTP-сервера используется команда:

service pptpd start (или /etc/init.d/pptpd start)

Не забудьте разрешить на брандмауэре прохождение пакетов на 47 порт (ведь наверняка в вашей сети есть брандмауэр).

4.2. Настройка клиентов

4.2.1. Настройка Linux-клиента

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

Обычно пакет VPN-клиента называется pptp-linux или pptp-client. Для настройки параметров PPTP используется сценарий pptp-command. После запуска вы увидите меню:

1. Start
2. Stop
3. Setup
4. Quit

Выберите третий пункт. Программа отобразит меню из девяти элементов. Выберите первый пункт (Manage CHAP secrets), а в следующем меню – пункт Add a New CHAP secret. Затем система запросит локальное имя вашей машины. Это имя будет использоваться при работе в VPN.

Потом сценарий запросит удаленное имя машины – его вводить необязательно и в ответ можно просто нажать Enter. Затем нужно будет ввести имя пользователя и пароль. Данная информация должна совпадать с информацией на VPN-сервере. В нашем случае это vpn1 и password.

После этого вы опять увидите меню. На этот раз нужно выбрать пункт Add a new PPTP tunnel, а затем – пункт Other. Сценарий запросит имя, IP-адрес VPN-сервера и параметры маршрутизации, которые совпадают с параметрами программы route. Например, запись add –host 192.168.1.1 gw DEF_GW означает, что мы будем использовать компьютер с адресом 192.168.1.1 в качестве шлюза по умолчанию.

Сценарий в очередной раз отобразит уже знакомое нам меню. Сейчас выберите пункт Configure resolv.conf и введите IP-адрес DNS-сервера (или несколько адресов). После ввода информации о DNS, вы увидите то же меню из девяти пунктов. Выберите пункт Select a default tunnel. Потом выберите туннель, который мы только что создали. Теперь можно выходить из сценария pptp-command: выберите пункт Quit.

Для установления VPN-соединения запустите сценарий pptp-command и выберите пункт Start. Затем введите номер нужного вам туннеля. Через некоторое время соединение будет установлено.

4.2.2. Настройка Windows-клиента

В Windows XP (2000) настройка VPN-клиента значительно проще, чем в Linux, потому, что ничего не нужно устанавливать, а нужно только настроить VPN-соединение.

Для создания нового VPN-соединения запустите «Мастер новых подключений» (Сетевые соединения-> Создание нового подключения) и выберите «Подключить к сети на рабочем месте». После этого – «Подключение к виртуальной частной сети».

Теперь нужно ввести имя соединения, например, Main Office, и доменное имя VPN-сервера.

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

Запустите VPN-соединение, введите имя пользователя и пароль, а затем нажмите кнопку «Свойства».

Включите режим «Сначала набрать номер для этого подключения». Из списка обыкновенных соединений выберите соединение с провайдером. Убедитесь, что в закладке «Безопасность» включен режим передачи данных в зашифрованном виде. Теперь можно вернуться в окно соединения и нажать кнопку «Подключение».

5. Человеческий фактор

Настроив VPN-сервер, вы проделали огромную работу и с чистой совестью можете немного отдохнуть. Правда, ненадолго. Вы думаете, что теперь ваша сеть в полной безопасности? Ошибаетесь. Да, все данные, в том числе и пароли пользователей, передаются по сети в закодированном виде. Но что это за пароли? 1234? qwerty? А, может, пароль, написан на желтой бумажке, прикрепленной к монитору? Завладев компьютером пользователя (точнее, его логином и паролем), злоумышленник может скомпрометировать не только его самого, но и всю сеть – ведь он будет работать в VPN на равных правах с остальными...



Обсуждение статьи
Логин:
Пароль:
Регистрации на сервере не требуется. Если у вас есть форумный логин, вы можете использовать его.
Если нету, то вы можете зарегистрироваться на forum.itspecial.ru
Обсуждение этой статьи на forum.itspecial.ru
Для отправки сообщения введите код, указанный на картинке
Заголовок
Сообщение

Guest guest@gameland.ru Отправлено: 16.12.2008 14:02:20
RE: Виртуальная частная сеть и Linux: об организации доступа к сети предприятия и связи офисов компании
Занятно!
yral spamvarna@mail.ru Отправлено: 23.12.2008 11:02:52
RE: Виртуальная частная сеть и Linux: об организации доступа к сети предприятия и связи офисов компании
Люди HELP! У меня такая ситуация, нужен сервер VPN под Убунти(клиенты WIN XP), в линукс я - полный 0, просмотрев данную статью(которую сейчас обсуждается), часть 4 мне подходит. Если точнее, с моей схемой(лин + вин) надо ли мне качать и устанавливать : "pptp-linux, pptp-client, pptp-adsl – PPTP-клиент", или только: "pptp-server или pptpd – PPTP-сервер", и вообще, как поставить эти все пакеты на машину? Погите, очень надо!  
Guest guest@gameland.ru Отправлено: 11.10.2010 4:45:44
RE: Виртуальная частная сеть и Linux: об организации доступа к сети предприятия и связи офисов компании
With the development of science and technology, home theater has become the general population, dvd box set market more active, DVD and CD look similar, they are the diameter of 120 millimeter, usually used to broadcast TV film, the standard definition of high quality music with great capacity data storage usage.
Страницы: << 1 >>

Теги: VPN, настройка, удаленный доступ, установка


Keywords: zPOSTz zSECURITYz z10036z
Для Авторов: edit Lock delete Lock

Автор: Денис Колисниченко
Дата: 15.12.2008 13:29:18©


Другие материалы номера
Windows Vista для: система нового поколения для различных специалистов
Основания для переезда: 10 причин перейти на Windows Vista как можно скорее
Почем Vista для народа: подсчет совокупной стоимости перехода на Windows Vista
Сравнение ядер: анализ ядер и ядерных компонентов Windows XP и Vista
Обзор новых возможностей Windows Vista
Тотальный контроль: программные и аппаратные средства для слежки за персоналом
Положение о защите информации: документальное регламентирование правил и запретов для пользователей
VPN: программы и железо
Программирование в ACE: обмен данными
Методы организации пользовательского доступа к IT-услугам
Проблемы и перспективы внедрения IP-телевидения
Наследники Unix: Plan9 и Inferno
Optimumdp: автоматизация торговой деятельности предприятия
Под колпаком: шпионская система «Эшелон»
Обзор файрвола D-Link DFL-800: средний класс повышенной скорости

В этом разделе
Solaris 10 глазами Linux-администратора: сравнение систем безопасности и не только
Весь этот спам: современный уровень угроз и технологии защиты
Биометрическая идентификация в масштабах компании
Искусственный интеллект на страже: применение самоорганизующихся карт для анализа инцидентов ИБ
Опрос экспертов: как сделать корпоративную сеть безопасной?
Система управления информационной безопасностью: эффективное построение
Персональные файрволы: проблемы безопасности сетевой инфраструктуры
Нейросети в практике специалиста по безопасности
Антивирусы в корпоративной среде
Борьба с Ring0 троянами: оригинальный способ противодействия зловредному программному обеспечению на рабочих местах
Экономика резервирования данных: дифференцированный подход к бэкапу корпоративной информации
Работа: cпециалист по IT-безопасности
Азбука IPS: самые современные технологии обнаружения и предотвращения атак
VPN: программы и железо
Виртуальная частная сеть и Linux: об организации доступа к сети предприятия и связи офисов компании
Положение о защите информации: документальное регламентирование правил и запретов для пользователей
Тотальный контроль: программные и аппаратные средства для слежки за персоналом
Совершенно секретно: безопасность баз данных предприятия
Сетевая бюрократия: разработка пакета регламентирующих документов
Сеть своей головой: основные принципы планирования сети и обеспечения ее безопасности


Хакер | GameLand | Мобильные компьютеры | Купи Камеру | Total Football | All Hockey | Onboarg Magazine | Хулиган | Sync
Total DVD | DVDxpert | Maxi Tuning | (game)land company | GamePost | Свой Бизнес


Rambler's Top100