Виртуални частни мрежи от ново поколение
Обединяване на няколко филиали в една мрежа – мисията звучи невъзможна, но днес това най-често става чрез стандарта IPSec. Разбира се, слабостите му са добре известни. Сложна структура с доста объркана при определени случаи конфигурация, различни (според производителя) реализации и пропуски в системата за сигурност, проблеми със защитната стена – това са само част от недостатъците й, които постоянно препъват разработката на съвременните технологии на виртуалните частни мрежи (Virtual Private Network, VPN). Така се роди проектът за отворен софтуер OpenVPN. Последната му версия, 2.0, предлага далеч по-наситен спектър от възможности, до голяма степен надскачащи функционалността на класическите VPN. Благодарение на виртуалната частна мрежа могат безпроблемно да се свържат множество локални мрежи от различни филиали, като кодирането на трафика от данни е задължителен. А защо “виртуална”? Защото връзките се изграждат по отворени канали за пренос на данни (вж. Фиг.1). “Частна” - защото информацията трябва да е достъпна само за служителите в обединените подразделения, като за гарантирането на конфиденциалност и достоверност на данните се използват мощни методи за кодиране. На жаргон това свързване се нарича “тунел”, като технологиите за кодиране са тези стени, които защитават трафика от криещите се в Интернет опасности. Днес има множество разнообразни VPN системи като РРТР и свободно разпространяваните StrongS/WAN и OpenS/WAN, но при избор на стандарт трябва да сте сигурни, че апаратурата ще го поддържа. VPN на базата на IPSec може да се реализират на всички платформи, но само в Linux технологиите VPN може да се разгърне изцяло. Оборудването на големите производители по принцип предвижда конфигуриране на тунелите на IPSec и тяхното управление, но често, като в случая с Windows сървърите, са нужни и допълнителни лицензи. Безплатно програмно осигуряване за VPN От своя страна, OpenVPN е свободно разпространяван програмен продукт в съответствие с лиценза и затова може да се инсталира на всички известни платформи. То е налично за операционните системи Linux, Solaris, OpenBSD, FreeBSD, NetBSD, MacOS X и Windows 2000/XP. Твърдението, че OpenVPN може да се използва и на специализирани устройства на базата на Linux, намира доказателство в продукцията на италианската компания Endian, вероятно единствената, предлагаща защитна стена с OpenVPN. Модулна концепция за сигурност OpenVPN е технология от ново поколение. Разработчикът й Джеймс Йонан искал да създаде VPN система, която да е по-проста от IPSec и затова ненатоварена с характерните за последната проблеми. Той предпочел модулната концепция за сигурност и избрал за своя проект разпространената криптографска система SSL/TSL. Тя се използва във всеки уеб браузър, когато се извикват защитени страници, започващи с «https://», и се смята за стандарт в сектора. За мрежов интерфейс Йонан избрал проекта Universal Tun/Tap Device Driver. Устройства Tun представляват виртуални мрежови устройства, емулиращи двойни връзки, докато устройствата Tap емулират Ethernet устройствата. Всеки изпращан през тях пакет от данни се предава на програмата като OpenVPN, например. От своя страна, тя се обръща към програмите и библиотеките в проекта SSL за гарантиране на сигурността на пренасяните данни. Информацията се кодира и така виртуалната мрежа получава “частен” статут. По-подробно процесът изглежда така - след автентификация чрез SSL/TLS квитиране трафикът се кодира и декодира с четири различни ключа. За критичната фаза на обмен на ключове OpenVPN използва RSA/DHE квитиране. Достоверността на данните обикновено се гарантира от алгоритъма за хеширане HMAC с SHA1 редове с дължина 160 бита, като е възможно и по-мощно кодиране. Дори на бавни системи (Pentium III с тактова честота под 1 GHz) теоретично са достижими скорости на пренос на данни до 20 Mbps. Това използване на изпитани и често прилагани методи обяснява и успеха на OpenVPN през последните години. SSL/TLS и устройствата Tun/Tap се проверяват от много разработчици за наличие на пропуски в системата за сигурност, като и двете технологии се използват и постоянно се доработват в рамките на множество други проекти. Автентификация на клиента На практика OpenVPN позволява използването на три метода за автентификация на клиента. Най-ненадежден е “предварително съобщеният ключ”, т.е. ключът, който е известен и на двата края още преди изграждането на тунела. Този метод е приложим само за проверки и обучения. В останалите случаи се препоръчва използването на Х.509 сертификати със списъците на анулираните сертификати (Certificate Revocation List, CRL). За целта е необходимо съответното програмно осигуряване - OpenCA или XCA, например, за издаване и подпис на сертификати. Само при наличието на подписани сертификати клиентите на виртуалната частна мрежа получават достъп до нея. Освен това чрез внасяне на сертификата в един вид “черен списък” (CRL) може да се забрани достъпа на който и да е служител или устройство без модификация на клиенти – без съмнение много полезна възможност, позволяваща предупреждение за евентуални неприятности като кражби или повреда в ноутбука. Едва с версията 2.0 OpenVPN предлага и трети метод за автентификация – свързване на OpenVPN със стандартните за Linux с включващи се модули за автентификация (Pluggable Authentication Module, PAM). Потребителят на клиента се автентифицира с помощта на комбинация от име и парола, които се проверяват на сървъра на Linux. Начини за използване OpenVPN лесно се интегрира в съществуващите структури и без сериозни разходи предлага същите функции като всяка друга VPN. Обединяването на два филиала в мрежа е само един пример. OpenVPN предоставя допълнителни възможности, които в някои отношения дори превъзхождат предложенията на конкурентите, като в същото време е и по-евтин. С помощта на OpenVPN тунелът на VPN за клиента се изгражда за минути, заедно с времето за определяне на правата за достъп. Независимо дали тази технология се използва като VPN концентратор с произволни маршрути между обединените мрежи или с управление на достъпа на базата на х.509 сертификати за компютрите на изнесени служители, функциите, които предоставя OpenVPN, си остават недостъпни в IPSec (вж. “IPSec” и “OpenVPN”). Това включва разпространяването на защитата чрез централна корпоративна защитна стена към изнесените служители. При свързването с централния офис на фирмата компютърът може да промени маршрута си по подразбиране след изграждането на тунела и така да насочва интернет трафика през тунела. Необходимо е единствено да се отвори нужният за свързването на OpenVPN порт на настолната защитна стена. Служителят е напълно защитен, дори ако мрежата не заслужава доверие. В режим на мост OpenVPN може да пренася предавателни пакети и пакети IPX, а с интерфейса Tар дори кадри от Ethernet през тунела. Windows системите получават нужните за много мрежови услуги (за преглед на NetBIOS, например) предавателни пакети, както и такива за NetWare IPX, IPv6 и AppleTalk. Благодарение на виртуалните интерфейси към този спектър от възможности се прибавят и диференцираните правила на защитната стена. Тъй като OpenVPN използва виртуални мрежови устройства, всички правила на защитната стена, които могат да бъдат зададени и на реални интерфейси, ще се приложат към постъпващия през тунела трафик от данни. Ограничения няма – за тунела може да се настройва транслация на мрежови адреси (Network Address Translation, NAT) или защитни стени, да се предотвратява проникването на вируси и троянци. OpenVPN поддържа изпълнението на “сценарии” в началото или края на тунела, с помощта на които се осъществява просто управление на достъпа при сценарий с отказ, да речем (пренос, излишък). Достатъчно е на защитната стена да се отвори само един порт – от OpenVPN 2.0 нататък всяко количество клиенти се включват с привличането на един-единствен сървърен процес на OpenVPN. Затова вече няма нужда от много портове на защитните стени. Теоретично за всички тунели на всички изнесени служители и филиали трябва да се отвори и защити всеки порт. Но администраторът може да конфигурира всеки отделен клиент на VPN по своему. Проблеми при работата с DynDNS обикновено няма. Благодарение на виртуалните мрежови устройства вече няма нужда от фиксирани IP адреси. От двете страни на тунела може да се използва обичайното DSL свързване, достъпно през DynDNS. По време на сесиите с терминалните сървъри, например, потребителят дори няма да забележи смяната на IP адреса на партньора. Транслацията на мрежовите адреси също не е трудна. Също като сървърите и клиентите на OpenVPN могат да са в мрежата, където се използва собствено адресно пространство (NAT). Всяка защитна стена или маршрутизатор може да предава пакети на произволен хост. Инсталиране Инсталацията за всички операционни системи е сравнително лесна – от поставянето до изграждането на първия тунел минават няколко минути. Първо се зареждат и инсталират двоичните файлове, след това се прави конфигурацията. За Windows на сайта http://www.openvpn.net в раздела за сваляне на файлове има препратки към инсталационна програма с графичен потребителски инструментаруим. За Debian и системите на базата на RTM от RedHat или SuSE последната версия 2.0 е запазена на инсталационни носители или в оперативно достъпни библиотеки. Пакетите с изходните текстове съдържат нови версии за всички операционни системи. Конфигуриране След инсталация потребителите на Windows могат да стартират OpenVPN през графичния интерфейс на Windows. Засега потребителите на Linux нямат нужда от него. Но за всички операционни системи конфигурацията се запазва в текстови файлове. Така инструментът на Windows отваря в редактора само съответстващия конфигурационен файл. За бърз старт на работата се препоръчва адаптирането на един от дадените за пример конфигурационни файлове. В Windows те са в стартовото меню под Sample Config Files. Файловете могат да се копират в каталога конфигурации на OpenVPN, който също е в стартовото меню, където да бъдат редактирани според личните предпочитания. Синтаксисът в Windows, Linux или MacOS X е един и същ. За всеки клиент на сървъра може да се запази отделна специфична конфигурация. При нужда този файл заимства правилата на защитната стена и сценария за регистрация и динамично се съставя също от сценарии, поради което в него може да се включи информация от базите данни или каталозите. В “Конфигурационен файл на Open VPN сървъра за изнесен служител” е даден пример с файл, при който човек се автентифицира с помощта на сертификати и TLS-Auth и му се предават маршрути и данни от DHCP. От съображения за сигурност OpenVPN се изпълнява с права на непривилегирован потребител на Linux «nobody». След успешно изградения тунел се изпълнява сценарий на защитната стена /sbin/firewall-roadwarrior1, който активира нужното защитно обкръжение за този служител. Заключение Технологията OpenVPN се превърна в сериозна алтернатива на IPSec. Организациите, където не е задължителна употребата на IPSec, могат с OpenVPN, без сериозни разходи, да получат множество предимства, които преди не са били достъпни за тях. Възможностите за пълна защита чрез централна корпоративна защитна стена, тунелиране на защитните стени и WWW посредниците и ретранслацията на предавателен трафик видимо надскачат функционалния обхват на IPSec, като използваните технологии (SSL, устройства Tap/Tun) са изпитани в практиката. С други думи, OpenVPN се превърна в едва ли не най-надеждната VPN технология, която при това е безплатна и лесна за конфигуриране. ________________________________________ Конфигурационен файл на OpenVPN сървъра за изнесен служител proto udp port 5000 dev tun ca certs/ca.crt cert certs/server.crt key certs/server.key crl-verify certs/revoke.crl dh dh1024.pem tls-auth certs/tls-auth.key 0 server 10.8.0.0 255.255.255.0 push "route 192.168.46.0 255.255.255.0" push "route 192.168.47.0 255.255.255.0" push "dhcp-option DNS 192.168.47.15" push "dhcp-option WINS 192.168.46.12" client-to-client keepalive 10 120 comp-lzo user nobody group nobody status /var/log/openvpn/openvpn-lanline-status.log log-append /var/log/openvpn/openvpn-lanline.log verb 3 route-up "/sbin/firewall-roadwarrior1" ________________________________________ OpenVPN + зрели криптографски алгоритми (SSL/TLS) + SSL/TLS са стандарти в сектора и са в зоната на отговорност на IETF + лесна технология, лесна инсталация, лесно конфигуриране + TCP/UDP, за много външни служители е достатъчен един порт + индивидуална конфигурация за клиенти + гъвкавост заради Tun/Tap устройствата + няма проблеми с NAT + бързо повторно включване, прозрачност за DynDNS, сесиите се запазват + компресиране + висока съвместимост със защитните стени и WWW посредниците + производителност (на достатъчно маломощни процесори) + модулна разширяема архитектура + изпълнение в потребителското пространство — в Linux няма нужда от администраторски привилегии + възможна е chroot среда + висока производителност дори на стари компютри + формирането на трафика вече е включено - няма специализирани устройства - не е съвместим с IPSec - дефицит на обучени специалисти - липса на уеб интерфейси или такива за администриране - слаба разпространеност ________________________________________ IPSec + наличие на много устройства + достъпност на много платформи + зряла технология + разпространено ноу-хау, много специалисти + много интерфейси за администриране - сложна модификация на самия IP стек - нужда от критично обръщение към ядрото - необходимост от администраторски права - различни реализации при различните производители, които са частично несъвместими една с друга - сложна технология, сложна реализация - високи изисквания към обучението на новаци - частично собствени алгоритми за кодиране - изисква няколко порта на защитната стена - в реализациите за Linux, с ядро от версия под 2.6, не поддържа NAT - проблеми с динамичните IP адреси.
КОМЕНТАРИ
"Виртуални частни мрежи от ново поколение"
Tech Quiz
Последни новини
- Стартира проектът „ТОП ИКТ Работодател“
- В 29 общини и 24 малки селища ще се изгражда инфраструктура за ШЛ интернет по проект на ЕСМИС
- Двуобхватен маршрутизатор от новата серия amplifi обяви D-Link
- D-Link вдига HD оборотите с нов двулентов високопроизводителен рутер DIR-857
- Мултимедийните системи Aastra 400 обслужват комуникациите на СМБ



