Изграждане на защитена безжична мрежа: WPA-Enterprise, 802.1x EAP-TLS

Архив на издания/2005/Издание № 5 (30)/Изграждане на защитена безжична мрежа: WPA-Enterprise, 802.1x EAP-TLS

АНДРЕЙ ПЛАТОНОВ

Изграждане на сигурна безжична мрежа: WPA-Enterprise, 802.1x EAP-TLS

Безопасен несигурен Wi-Fi

Днес става очевидно, че въпреки всички проблеми, свързани със сигурността, надеждността и сложността на работата, безжичните решения от семейството 802.11a/b/g все пак са се превърнали в неразделна част от инфраструктурата на много корпоративни, домашни и дори операторски мрежи. Отчасти това е така, защото повечето от тези проблеми вече са в миналото в днешното развитие на Wi-Fi. Безжичните мрежи във всички отношения са станали много по-умни и по-бързи: появиха се QoS, интелигентни антени (технология MIMO), реални скорости достигнаха 40 Mbit/s (например SuperG технологии, SuperAG от Atheros). Освен това настъпиха големи промени в набора от технологии, които осигуряват сигурността на безжичните мрежи. Нека поговорим за това по-подробно.

По времето, когато Wi-Fi беше само за елита, WEP криптиране и MAC филтри бяха използвани за защита на безжичните мрежи. Всичко това бързо стана липсващо, WEP беше признат за несигурен поради статичния характер на ключовете за криптиране и липсата на механизми за удостоверяване, MAC филтрите също не осигуряват специална сигурност. Започва разработването на нов стандарт IEEE 802.11i, който е предназначен да реши всички належащи проблеми със сигурността. По средата на 802.11i се появи набор от технологии под общото име WPA (Wi-Fi Protected Access) - част от все още не готовия стандарт 802.11i. WPA включва средства за удостоверяване на потребителя, криптиране с помощта на динамични WEP ключове (TKIP/MIC). Тогава 802.11i най-накрая завърши и се роди WPA2. Към всичко по-горе е добавена поддръжка за по-силно криптиране AES (Advanced Encryption Standard), което работи заедно с протокола за защита CCMP (Counter with Cipher Block Chaining Message Authentication Code Protocol е по-усъвършенстван аналог на TKIP в WPA). WPA2 постепенно започна да се появява в нови модели точки за достъп (например D-Link DWL-3200AP), но засега е доста екзотичен. Всички продукти, които поддържат WPA2, са обратно съвместими с оборудване, което поддържа WPA.

И WPA, и WPA2 включват усъвършенствани контроли за безжичен достъп, базирани на стандарта IEEE 802.1x. Архитектурата 802.1x използва няколко необходими порта:

  • Клиент. Молителят действа като клиент - програма на клиентския компютър, която контролира процеса на удостоверяване.
  • Удостоверител. Това е точка за достъп, която действа като посредник между клиента и сървъра за удостоверяване. Кабелен превключвател също може да бъде удостоверител. 802.1x се използва в различни мрежи.
  • Сървър за удостоверяване - RADIUS сървър.

IEEE 802.1x позволява разнообразни методи и алгоритми за удостоверяване. Това е възможно благодарение на разширимия протокол за удостоверяване (EAP), в който атрибутите са „вложени“, съответстващи на определен метод за удостоверяване. Следователно има много вкусове на 802.1x EAP: EAP-MD5, EAP-PEAP, EAP-LEAP, EAP-SIM и др. Тази статия ще опише изпълнението на удостоверяването в безжична мрежа, базирана на цифрови сертификати - 802.1x EAP- TLS. Този метод се използва най-често в корпоративните безжични мрежи и има доста висока степен на сигурност. Освен това EAP-TLS понякога е един от основните методи за защита в мрежите на безжичните доставчици.

802.1x EAP-TLS удостоверяване

EAP-TLS се основава на SSL v3.0, но за разлика от традиционното SSL удостоверяване (например при установяване на защитена http връзка - HTTPS), EAP-TLS взаимно удостоверява клиента и сървъра. Клиентът (молителят) и сървърът RADIUS трябва да поддържат метода за удостоверяване на EAP-TLS; точката за достъп трябва да поддържа 802.1x/EAP удостоверяване и не трябва да знае кой метод за удостоверяване се използва в конкретен случай. Фигурата по-долу показва процеса на удостоверяване в безжична мрежа, използваща EAP-TLS.

безжична

Фигура 1. 802.1x EAP-TLS процес на удостоверяване

Тук е уместно да се сложи край на малко лирично и теоретично отклонение, което е необходимо, за да се получи груба представа за това какво се крие в дълбините на защитената безжична мрежа. След това ще бъде предложено практическо изпълнение на концепциите, описани по-горе. Компютър, работещ с FreeBSD 5.3 с пакета FreeRADIUS, ще се използва като RADIUS сървър. За да се организира инфраструктурата на PKI (инфраструктура с публичен ключ), ще се използва пакетът OpenSSL. Цялата безжична мрежа ще бъде изградена върху евтино и надеждно безжично оборудване D-Link. Предполага се, че Windows XP SP2 е инсталиран на клиентските машини. тази операционна система има вграден суперликант и скорошна актуализация от Microsoft добавя поддръжка за WPA2.

Инсталирайте и конфигурирайте OpenSSL и FreeRADIUS

Предполага се, че FreeBSD 5.3 има инсталиран един NIC, колекцията от портове се актуализира, Midnight Commander присъства и самият компютър е свързан с интернет. В бъдеще ще приемем, че безжичната мрежа е внедрена в корпоративна мрежа с маска 192.168.0.0/24.

Изтеглете последната стабилна снимка на OpenSSL от ftp://ftp.openssl.org/snapshot (например използвах openssl-0.9.7-stable-SNAP-20050524.tar.gz). Разопаковаме, конфигурираме, компилираме и инсталираме по стандартен начин:

# ./config споделен --prefix =/usr/local/openssl

По принцип тук може да завърши работата с OpenSSL. В бъдеще ще ни е необходим, за да генерираме сертификати.

FreeRADIUS е доста обемен пакет, така че, за разлика от OpenSSL, ние ще го инсталираме от портове, което автоматично ще разрешава зависимостите и ще инсталира всички необходими библиотеки и приложения.

Преместете се в директорията/usr/ports/net/freeradius /, след това издайте командата make - не избирайте нищо от опциите, предлагани от инсталационния скрипт, кликнете върху „Ok“. Започва процесът на автоматична инсталация (изтегляне и компилиране на необходимите приложения); след завършване напишете make install.

Това завършва инсталирането на FreeRADIUS, можете да продължите с конфигурирането му.

Изберете директорията FreeRADIUS:/usr/local/etc/raddb/(всички основни действия ще бъдат извършени в тази директория):

  • Изтрийте цялото съдържание на папката ./certs.
  • Като сме в една и съща папка (./certs), даваме командата:

# openssl gendh> dh

dh файл е създаден.

# dd ако =/dev/random от = произволен брой = 2

създава се произволен файл.

  • Създайте папката raddb/sample и прехвърлете всички файлове с разширението .sample от raddb в нея. От проба обратно в raddb, копирайте следните файлове с промяна на името (без разширението .sample): acct_users, clients.conf, речник, eap.conf, подсказки, ловни групи, preproxy_users, proxy.conf, radiusd.conf, snmp. conf, sql.conf, потребители.
  • Редактираме следните конфигурационни файлове:

# Тайната дума, която е зададена на точката за достъп