Построение защищенного узла доступа в интернет с применением технологии VPN и тунеллирования

Автор: Vlad B. Pinzhenin, компания "Сетевые решения"
Оригинал статьи: www.lanbilling.ru/vpn_solution.html

Введение, постановка задачи

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

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

  Теперь пара слов о том, что в данном случае применятся на клиентской части (на компьютере пользователя) если уважаемый читатель думает, что у клиента должно быть установлено какое-либо дополнительно программное обеспечение, то он заблуждается. Достаточно иметь ОС Windows и стандартный установочный диск. В качестве VPN клиента используется Windows VPN адаптер для сетей Microsoft.

Реализация, серверная часть

  Реализация данного решения сводится к настройке ПО на сервере доступа и клиентской части - VPN адаптера на компьютере клиента под управлением Windows или Linux.

Для успешной настройки Вам понадобится несколько установочных пакетов:

  В первую очередь необходимо обратить внимание, что решение работает по протоколу PPP (точка - точка) и, как следствие, необходима поддержка этого протокола на уровне ядра той ОС, которую Вы применяете. Если при загрузке ОС Вы увидите строчку похожую на
PPP line discipline registered, это говорит о том, что поддержка PPP включена в ядро, в противном случае обратитесь к документу, описывающему процедуру конфигурации ядра, The Linux Kernel HOWTO, который доступен, например,здесь (http://www.ibiblio.org/mdw/HOWTO/Kernel-HOWTO.html). Установив пакет pptpd необходимо сконфигурировать его таким образом, чтобы демон pptpd принимал запросы на установление туннеля от клиентской части и передавал управление модулю pppd который непосредственно и занимается обслуживанием передачи данных по виртуальному каналу. Конфигурируется pptpd с помощью конфигурационного файла pptpd.conf, который располагается в директории /etc. Ниже мы приводим пример файла конфигурации, который применяем на нашем тестовом стенде:

############################################################
# Sample PoPToP configuration file
# for PoPToP version 1.1.3
############################################################
# TAG: speed
# Specifies the speed for the PPP daemon to talk at.
speed 115200
# TAG: option
# Specifies the location of the PPP options file.
# By default PPP looks in '/etc/ppp/options'
option /etc/ppp/options.VPN
# TAG: debug
# Turns on (more) debugging to syslog
debug

  Основной директивой является options, она указывает, какой файл опций передается демону pppd обслуживающему виртуальный канал в качестве основного файла конфигурации. После редактирования pptpd.conf необходимо запустить на исполнение pptpd командой /etc/rc.d/init.d/pptpd start (Для Linux), если Вы используете не Linux то смотрите документацию по Вашей ОС.

  Все остальное конфигурирование проводится путем изменения файлов настройки pppd, а именно: /etc/ppp/options, /etc/ppp/options.VPN. Мы приводим здесь полное содержимое этих файлов, в случае если Вам требуется специфичная настройка демона pppd обратитесь к документации на демон pppd.

# /etc/ppp/options
lock

# /etc/ppp/options.VPN
## turn pppd syslog debugging on
debug ## change 'servername' to whatever you specify as your server name in chap-secrets
name gateway.companyname.ru
#mtu 576
auth
require-pap
refuse-chap
login
ms-dns 192.168.0.1
proxyarp
192.168.0.1:

  При организации виртуального канала необходимо использовать адреса, отличные от тех, которые используются в опорной IP сети. Например, на стенде мы используем адреса 192.168.0.0/24 на всех сетевых адаптерах, компьютеров, входящих в его состав. Однако для организации канала применяются адреса сети 192.168.1.0/24, которые маскируются сервером доступа вовне адресом внешнего интерфейса. Каждому клиенту необходимо выдавать адрес который не будет использоваться другими клиентами, для этого мы определяем статическую адресацию для каждого клиента в файле /etc/ppp/pap-secrets. Соответственно аутентификация пользователей проводится средствами pppd с использованием протокола PAP (Password Authentication Protocol).

# /etc/ppp/pap-secrets
# Secrets for authentication using PAP
# client server secret           IP addresses
register *         "enetaccess" 192.168.1.2

  Первый и третий параметр задают учетную запись и пароль, которые будут использоваться клиентом при доступе к интернет. Последний параметр задает IP адрес, который будет выдан клиенту, при установлении связи (handshake). Вставьте необходимые строчки для каждого клиента, которому Вы будете предоставлять доступ в интернет, обращая внимание на то, что IP адреса не должны повторяться. Как видно в данном случае, пароли хранятся на диске в виде открытого текста, что нехорошо даже в том случае, если у данного файла грамотно установлены атрибуты доступа, однако в наших условиях тестового стенда это оправдано. Избежать хранения паролей в виде plaintext, можно скомпилировав (сконфигурировав) pppd таким образом, чтобы учетная запись и пароль брались из общей БД учетных записей Linux (директива login в options.VPN)

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

Реализация, клиентская часть

  Для того, что бы пользователь мог установить виртуальный канал, необходимо, что бы рабочая станция клиента была сконфигурирована корректно совместно с Windows VPN adapter в случае с Windows 98 и выше или с Linux PPTP клиентом для Linux рабочей станции соответственно (найти его можно по адресу: http://pptpclient.sourceforge.net ). Далее мы подробно рассмотрим настройку рабочей станции Windows (пользователи Linux рабочих станций могут обратиться к документации, расположенной по вышеприведенному адресу).

  1. Настройка сетевого адаптера

  2. Подключение к Интернет

Win2000/Xp
Win95/98/Me

Настройка сетевого адаптера

Настройка сети для ОС Windows95,98

Перед настройкой сети вы должны знать основные параметры конфигурации вашего компьютера: IP адрес, маску сети.

Нажмите на кнопку ПУСК, выберите "Настройка", затем "Панель управления". В появившемся окне найдите иконку "Сеть" и нажмите на нее. Далее найдите компонент "TCP-IP" и войдите в его свойства. В окне IP-адрес выберите "Указать IP-адрес явным образом" и введите ваш IP-адрес (например 192.168.0.8) и маску подсети 255.255.255.0. Далее в закладке "Конфигурация DNS" отметьте "Включить DNS", в графу "Имя компьютера" введите присвоенное вам название, в графе "Домен" введите powernet.com.ru. Потом в окошке "порядок просмотра серверов DNS" введите следующий адрес: 192.168.0.1
После этого нажимайте кнопку OK, компьютер перезагрузится и заработает c новыми настройками.

В самом конце переключите ваш сетевой адаптер в принудительный режим 10Mbit/sec, Half Duplex. Для этого зайдите в меню: Сетевое окружение/Свойства/Свойства сетевого адаптера/Дополнительно.

Net_help-1.jpg (41902 bytes)

 

Подключение к Интернет

Каждый компьютер в сети имеет уникальный IP-адрес, по которому он идентифицируется. Этот адрес присваивается при подключении и фиксируется на сервере..

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

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

Механизм авторизации является вторым уровнем защиты абонента от несанкционированного использования его сетевого адреса и основан на парольной идентификации каждого сеанса работы абонента. Абонент получает доступ в Интернет только после авторизации на сервере PowerNet - Internet Gateway. Для этого он должен обратиться к серверу авторизации по VPN- соединению и ввести свой уникальный логин и пароль.

Очевидно, что для абонентов, использующих VPN - соединение вероятность 'быть взломанными' гораздо ниже, поскольку данные при данном способе подключения - шифруются. Исходя из вышесказанного, единственный способ выхода в интернет под вашим логином - кража пароля с ВАШЕГО КОМПЬЮТЕРА. Именно по этой причине НИКОМУ и НИКОГДА не рассказывайте свой пароль и держите его в недоступном для случайного просмотра месте. Избегайте также заражения различными вирусами, которые могут заниматься воровством паролей.


Настройка VPN клиента под Win2000/XP

Данный пример отображает установку VPN - клиента для операционных систем Windows 2000/XP. В других операционных системах от корпорации Microsoft, настройки выполняются аналогичным образом.

Зайдите в мастер сетевых подключений. После этого, выполните настройки следующим образом:

inet_01.gif (27702 bytes)

inet_02.gif (13173 bytes)

inet_03.gif (11443 bytes)

inet_04.gif (10244 bytes)

inet_05.gif (10878 bytes)

inet_06.gif (10482 bytes)

inet_07.gif (14447 bytes)

На рабочем столе появится ярлык с соответсвующим подключением. Кликните на нем 2 раза и увидите следующее окно:

inet_10.gif (28114 bytes)

Кликните по кнопке - Свойства. Перейдите в закладку Сеть и выполните настройки следующим образом:

inet_09.gif (19897 bytes)

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

inet_10.gif (28114 bytes)

Возможно после первого соединения у вас появится такое окно. Сделайте все так, как показанно на рисунке и спокойно работайте.

inet_08.gif (11073 bytes)

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

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

Настройка VPN клиента под Win95/98/Me

Данный пример отображает установку VPN - клиента для операционных систем Windows 95/98/Me. В других операционных системах от корпорации Microsoft, настройки выполняются аналогичным образом.

Зайдите в свойства сетевого окружения. После этого, установите, Адаптер виртуальной частной сети Microsoft и Контроллер удаленного доступа.

inet_11.gif (7731 bytes)

После установки зайдите в свойства Контроллера удаленного доступа и переключите Размер пакета IP на Малый.

inet_15.gif (5931 bytes)

Зайдите в Пуск/Программы/Стандартные/Связь/Удаленный доступ к сети. Создайте новое соединение:

inet_13.gif (18769 bytes)

inet_12.gif (17718 bytes)

inet_14.gif (4753 bytes)

Внимание!!! Если вы поставите галочку, Сохранить пароль, - это увеличит риск кражи вашего пароля, например с помощью вируса класса "троянский конь". Поэтому лучше держите пароль в самом надежном месте - вашей памяти.

inet_16.gif (18085 bytes)

На некоторых компьютерах с Win98 возникает следующая проблема: в поле Домен стоит один пробел, поэтому может не опознаваться пароль. Уберите этот невидимый пробел!

Настройки закончены.