събота, юли 28, 2007

Linksys WRV54G, RADIUS и 802.1X

За изграждане на безжична мрежа в дадена организация може да се предложат множество решения – като се започне от свободен достъп, през защита с прост WEP ключ и се стигне до WPA2 с TKIP+AES, което в момента се води достатъчно надеждно, за да е сигурен човек, че няма да си има неприятности с любопитни ентусиасти. Всички тези решения (освен свободния достъп) използват един ключ за достъп и проблемът с тях е, че никога не можем да сме сигурни, че този ключ ще се опази в тайна в рамките на организацията. Да не говорим, че няма и как да следим от кого и как се използва нашата мрежа. За домашно ползване или за малкия офис те са достатъчни, но не и за място, където има повече хора. Решението, което се води вече enterprise-level е 802.1Х удостоверяване с потребителско име и парола към RADIUS сървър. Това е и решението, което избрах за нашата малка организация във факултета.

През 2005 година, когато решихме да поставим началото на безжичния интернет достъп за нашия факултет, решихме, той да бъде свободен първоначално. През първите седмици на тестване се установи, че тези модели Linksys (които са си безжични рутери от нисък клас, но няма как да си позволим Cisco Aironet за съжаление) не са особено надеждни, забиват от време на време и не се държат като хората. Още тогава видях функцията за RADIUS на рутера и без да съм информиран достатъчно зеклеймих устройството, че е пълен боклук, понеже както се и очакваше, нищо не стана след като пробвах дали работи. После преминахме на WEP ключ, чиято цел беше ‘колкото да не е без хич’, всеки може да намери филмчето в Интернет, където се демонстрира как се възстановява 64-битов WEP ключ за по-малко от 10 минути. След време пробвах няколко пъти отново и без успех. И така беше до вторник.

Миналата седмица отново събрах сили и се разрових за материали по темата. Това, което досега знаех, че е възможно, е удостоверяване със сертификати, каквото при нас обаче не съществува и съответно не върши работа. Оказа се, че има подобно нещо и за удостоверяване с потребителско име и парола към Windows домейн, използвайки PEAP-MSCHAPv2. Защо го открих толкова късно, си остава мистерия в моята глава. Трябва да се похваля обаче, че може би за първи път се случва така, че нещо да заработи така както е описано и на теория. С две думи, Linksys-ите не се оказаха толкова загубени, както и уикендът, който прекарах в изучаване на решението. Било е въпрос на достатъчна информираност. Всъщност, дори и интуитивно подхождайки, без да съм чел последователността в процедурата, конфигурацията не беше много далеч от истината, но й липсваше една жизнено важна за PEAP протокола фаза, а именно – наличието на сертификат, с който да се удостовери ‘самоличността’ на RADIUS сървъра. Това се случва като се изгради TLS сесия между клиента и сървъра, в рамките на която след това се прави MSCHAPv2 автентикацията. След като направих Certificate Authority, генерирах самоподписан root сертификат и го инсталирах на клиента, потече мед и масло. Вече всеки валиден потребител на директорията може да ползва безжичната мрежа със същите потребителско име и парола, както и за десктоп станциите и то с едно нелошо ниво на сигурност.

Това е крачка напред към предоставянето на по-сигурна и централизирана single-sign-on услуга, която работи задоволително добре, поне доколкото тествах тази седмица. През идния семестър ще има и по-сериозно натоварване и тогава ще стане ясно дали е по-добре. Но мисля, че спор няма и това е пътят. Доволен съм, че от wireless курса имаше полза, както и от добре документираните решения на Microsoft в Интернет и най-вече, че успях да приложа всичко това на практика.