Собираем беспроводной роутер 802.11g на базе ОС Linux::Журнал СА 4.2006
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6188
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6898
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4182
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2986
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3793
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3803
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6296
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3151
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3445
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7261
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10627
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12349
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13979
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9109
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7064
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5373
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4603
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3412
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3142
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3389
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3011
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Собираем беспроводной роутер 802.11g на базе ОС Linux

Архив номеров / 2006 / Выпуск №4 (41) / Собираем беспроводной роутер 802.11g на базе ОС Linux

Рубрика: Сети /  Сети

Михаил Платов

Собираем беспроводной роутер 802.11g на базе ОС Linux

С помощью обычной беспроводной PCI-карты и не очень мощного компьютера с ОС Linux вы сможете сделать собственную точку доступа 802.11g, по функциональности ничем не уступающую, а кое-где даже и превосходящую оборудование известных производителей.

Беспроводные сети на просторах нашей Родины набирают все большую популярность. Число хотспотов стремительно растет [1], строятся корпоративные беспроводные сети, да и «домашние» точки доступа уже не являются чем-то запредельно дорогим. Однако в некоторых случаях отдельную точку доступа можно и не покупать! Сегодня мы остановимся именно на таком случае и рассмотрим, как с помощью подручных средств сделать собственную беспроводную точку доступа 802.11g, поддерживающую режимы аутентификации Open, WEP, WPA-PSK, WPA-EAP, со встроенными серверами DHCP, DNS и NAT. Итак, приступим!

Собственно, а зачем?

А действительно, зачем все это нужно, если в продаже уже есть достаточно дешевые точки доступа (ценой порядка 50$), с простой настройкой через веб-интерфейс, которые к тому же обладают меньшим энергопотреблением и не шумят? Однозначного ответа на этот вопрос нет. Во-первых, для некоторых задач, действительно, проще купить отдельное устройство. Так, например, если вам нужно развернуть большую беспроводную сеть из сотни точек доступа, разбросанных по зданию, то делать это на базе стандартных компьютеров будет по меньшей мере странным. С другой стороны, если у небольшой организации уже имеется роутер, прокси и почтовый сервер, работающий под управлением Linux, то почему бы практически бесплатно не добавить к нему функциональность беспроводной точки доступа?

Не все чипсеты одинаково полезны

Для работы в режиме точки доступа нам понадобится собственно сам беспроводной адаптер, а также драйвер, обеспечивающий его работу в режиме «master mode». В теории, почти все беспроводные адептеры способны выполнять функции точки доступа, однако далеко не для всех поддержка этого режима есть в драйверах и сопутствующем ПО. К слову говоря, для Windows-платформы такие драйверы сейчас и вовсе отсутствуют (и вряд ли появятся в будущем, ведь большинство производителей, помимо PCI-карт, также продает и точки доступа), а вот для Linux и BSD-платформ энтузиасты такие драйверы уже разработали. Итак, выбираем карту!

Для того чтобы из всего многообразия присутствующего на рынке выбрать «правильную» карту, достаточно следовать трем простым советам:

  • Отбросьте USB-карты. На данный момент даже поддержка работы в режимах Ad-Hoc и Infrastructure в Linux оставляет желать лучшего.
  • Не смотрите на производителя и модели адаптера, ориентируйтесь на марку конкретного чипсета. Показательной является история с моделями карт D-link. Несмотря на то, что названия DWL520, DWLG520 и DWL-520+ очень похожи, все эти карты сделаны на совершенно разных наборах микросхем, и если первые две (чипсеты Intersil Prism 2.5 и Atheros AR5002G) еще могут работать в качестве точек доступа, то для драйверов последней (чипсет TI ACX100) даже работа в режиме Infrastructure на данный момент еще не отлажена достаточно хорошо.
  • Выбирайте ту карту, для чипсета которой имеются драйверы, поддерживающие работу в режиме точки доступа.

Подробную информацию о степени поддержки того илииного типа микросхем в Linux можно найти на странице Яна Туррили [2]. Мы же подведем краткое резюме – на данный момент работа в режиме точки доступа возможна лишь для карт с чипсетами Intersil Prism (Prism2, 2.5, 3, 54 FullMAC, но не Prism54 SoftMAC) и практически для всех PCI-плат с чипсетами Atheros. Учитывая, что первые уже достаточно устарели (в большинстве своем это были карты 802.11b, 11Mbit) и практически не встречаются в продаже, выбор карты сводится к любой карте с чипсетом Atheros.

Итак, вопрос с выбором чипсета можно считать решенным, но как же узнать, что именно стоит в карте, лежащей на витрине в магазине, чипсет-то в прайс-листах никто не указывает? Есть, как минимум, три способа:

  • Способ самый простой и очевидный – посмотреть, что написано на микросхеме. К сожалению, зачастую это не всегда возможно на практике, к тому же на многих картах чипсет закрыт металлическим экраном, снять который обычно не представляется возможным.
  • Более доступный способ – запрос к поисковой системе совместно с ключевыми словами «linux», «chipset» и моделью проверяемого адептера. Возможно, вы не первый, кто хочет сделать точку доступа на этой карте, так почему бы не посмотреть, что на этот счет думали другие?
  • Кроме того, к этому вопросу можно подойти и с другой стороны – изначально искать карту на «правильном» чипсете, благо соответствующие интернет-ресурсы есть – [3, 4]. В некоторых случаях нужную информацию можно почерпнуть из руководства пользователя.

В процессе изучения прайс-листов были замечены некие закономерности между стоимостью карты и установленном на ней чипсете. Так, родословная 20-долларовых карт, как правило, уходила в сторону тайваньской компании Ralink. Далее (2030$) шла плеяда карт с сердцем от Texas Instruments, Broadcom, Marwell и других менее известных компаний. Примерно начиная от 30$ и выше в прайс-листах появляются искомые карты на чипсетах Atheros. Одна из них – LevelOne WNC-0300 802.11 b/g стоимостью 30$ – и была успешно приобретена для выполнения поставленной задачи(см. рис. 1).

Рисунок 1. Беспроводной адептер LevelOne WNC-0300

Рисунок 1. Беспроводной адептер LevelOne WNC-0300

Как и предполагалось, внутри нее оказался чипсет Atheros:

# lspci

01:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)

Подготовка ОС

Как уже было сказано выше, для создания точки доступа нам понадобится ОС Linux. В качестве дистрибутива будем использовать Gentoo Linux. Впрочем, большинство приводимых настроек с некоторыми изменений будут работать и в других дистрибутивах.

Первым делом убедимся, что в нашем ядре (ветка 2.6) присутствует поддержка беспроводных устройств:

Networking --->

  * Generic IEEE 802.11 Networking Stack

      IEEE 802.11 WEP encryption (802.1x)

      IEEE 802.11i CCMP support

      IEEE 802.11i TKIP encryption

Device Drivers --->

  Networking support --->

    Wireless LAN (non-hamradio) --->

     * Wireless LAN drivers (non-hamradio) & wireless extension

Присутствуют поддержка iptables, а также поддержка 802.1d Ethernet Bridging:

Networking -->

  *  Networking Options

    <*>   Network Packet Filtering

       IP: Netfilter Configuration

Отметьте модули поддержки NAT, а также всех необходимых протоколов:

    <*>   802.1d Ethernet Bridging

А также модуль алгоритма шифрования AES:

Cryptogaphic options -->

    AES cipher algorithms (i586)

Затем установим следующие пакеты:

  • sys-apps/baselayout (версии не ниже 1.11.10)
  • dev-libs/openssl (версия 0.9.7i)
  • net-dialup/freeradius (версия 1.1.0-r1)
  • net-wireless/wirelss-tools (использовалась версия 28_pre14)
  • net-wireless/madwifi-driver (версия 0.1473.20060312)
  • net-wireless/hostapd (версия 0.4.8, с USE-флагами для madwifi и ssl)
  • net-firewall/iptables
  • net-misc/bridge-utils
  • net-dns/dnsmasq

Для установки достаточно выполнить команду emerge, перечислив через пробел названия всех пакетов. Кроме того, перед установкой также будет полезно посмотреть зависимости пакетов (ключ -pv к команде emerge) и при необходимости подправить USE-флаги в файле /etc/portage/package.use для удаления ненужных зависимостей.

Структура сети

При настройке будем считать, что в нашем распоряжении имеется сеть со следующей структурой (см. рис. 2). Для клиентов беспроводной сети будем использовать подсеть 192.168.2.0/24. Для подключения к сети будем использовать беспроводной адаптер Intel PRO/Wireless 2200BG ноутбука Centrino, работающего под управлением Windows XP SP2 (версия драйвера беспроводной карты – 9.0.4.8 от 2.17.2006).

Рисунок 2. Структура рассматриваемой системы

Рисунок 2. Структура рассматриваемой системы

Простейшая точка доступа, или Как не надо делать

Теперь, когда все необходимое у нас уже есть, можно переходить к настройке. В качестве разминки настроим работу в самом простом (и небезопасном) режиме – WEP.

Итак, начнем с сервера! Первым делом загрузим драйвер беспроводной карты и создадим виртуальное устройство wifi0, работающее в режиме точки доступа:

# modpobe ath_pci

# wlanconfig ath0 create wlandev wifi0 wlanmode ap

# iwconfig ath0 essid superspot

# iwconfig ath0 key 1111-1111-11

# iwconfig ath0 channel 13

Параметр essid определяет имя нашей сети, key – ключ шифрования WEP. Если в качестве последнего ввести либо 10 шестнадцатеричных цифр (40-битный ключ), либо 26 шестнадцатеричных цифр со знаком «-» после каждых четырех (104-битных ключ). При этом в любом случае необходимо помнить, что даже 104-битный ключ с точки зрения безопасности в настоящее время не считает безопасным, и в «рабочих» системах его использование крайне не рекомендуется.

Остановимся более подробно на параметре channel. Как известно, устройства стандарта 802.11b и 802.11g работают в диапазоне частот 2.4 ГГц. На самом деле это совсем не означает, что абсолютно все устройства (в том числе и точка доступа в квартире вашего соседа, которая для вашей точки уже является помехой) работают на одной частоте. Для Европы стандарт определяет 13 каналов (от 2.412 до 2.472 ГГц с шагом 5 МГц), в каждом из которых могут работать беспроводные устройства. В физике, правда, чудес не бывает, устройства, работающие в соседних каналах, все же являются друг для друга взаимной помехой (на самом деле беспроводные устройства 802.11, работающие в одном канале, не являются помехой в прямом смысле это слова, скорее, они «делят» общую на всех пропускную способность канала). Очевидно, что чем дальше устройства разнесены друг от друга в частотном спектре, тем меньше они будут друг другу мешать. Достаточно разумным в этом случае является такой компроммисс – использовать для беспроводных сетей только каналы 1, 7 и 13. Таким образом возможно относительно безмятежное существование в одном месте трех беспроводных сетей. Ввиду того, что некоторые точки доступа по умолчанию используют канал 1, мы слепо выберем наиболее отдаленный от него канал – 13, хотя, конечно, более правильно обосновывать выбор в зависимости от конкретной радиобстановки «на месте» (не нужно забывать, что в тот же частотный спектр также может использоваться микроволновками и радиотелефонами).

Назначим IP-адрес и активируем беспроводной интерфейс:

# ifconfig ath0 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255 up

Перейдем к настройке беспроводного клиента. В Windows XP SP2 для конфигурирования беспроводной сети используется служба Windows Zero Configuration и соответствующий мастер конфигурации «Wireless Network Configuration». Первым делом установим для беспроводного адептера статический IP-адрес 192.168.2.2/24 (см. рис. 3).

Рисунок 3. Статический IP-адрес беспроводного адаптера

Рисунок 3. Статический IP-адрес беспроводного адаптера

Затем произведем поиск сетей и подключимся к сети superspot. В появившемся окне введем WEP-ключ, указанный при создании точки доступа (см. рис. 4).

Рисунок 4. Ввод WEP-ключа

Рисунок 4. Ввод WEP-ключа

Если ключ был введен верно, операционная система успешно обрадует нас подключением к беспроводной сети (см. рис. 5).

Рисунок 5. Успешное подключение к сети

Рисунок 5. Успешное подключение к сети

Автоматизируем запуск

После того, как мы благополучно убедились, что все работает, можно настроить автоматическое применение настроек беспроводной карты.

Настроим автоматическую загрузку модуля карты при старте системы:

# echo "ath_pci" >>/etc/modules.autoload.d/kernel-2.6

Настроим автоматическое создание виртуального интерфейса при загрузке модуля:

# echo “options ath_pci autocreate=ap” >>/etc/modules.d/ath_pci

Параметры для утилиты iwconfig укажем в файле /etc/conf.d/wireless со следующим содержимым:

modules_ath0=( "iwconfig" )

ifconfig_ath0=( "192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255" ) essid_ath0="superspot"

channel_ath0="13"

key_super_spot="1111-1111-1111-11"

Создадим скрипт для запуска сетевого подключения:

# ln -s /etc/init.d/net.lo /etc/init.d/net.ath0

И добавим его в список скриптов, запускаемых при старте системы:

# rc-update add net.ath0 default

Теперь при перезагрузке системы наша точка доступа будет запускаться автоматически.

Настраиваем дополнительные программы

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

# iptables -F

# iptables -t nat -F

# iptables -A FORWARD -i ath0 -s 192.168.2.0/255.255.255.0 -j ACCEPT

# iptables -A FORWARD -i eth1  -d 192.168.1.0/255.255.255.0 -j ACCEPT

# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

С помощью скриптов Gentoo сохраним созданные правила и настроим автоматический запуск iptables:

# /etc/init.d/iptables save

# /etc/init.d/iptables start

# rc-update add iptables default

Для распределения IP-адресов в локальной сети, и разрешения DNS-имен интернет-узлов будем использовать пакет dnsmasq. Для его настройки в конфигурационном файле /etc/dnsmasq.conf напишем:

domain-needed

bigus-priv

Interface = eth0, ath0

Dhcp-range=192.168.2.0,192.168.2.255,1h

Dhcp-host= 11:22:33:44:55:66, 192.168.2.1

Запустим службу и настроим ее автоматический запуск:

# /etc/init.d/dnsmasq start

# rc-update add default dnsmasq

Мы указали, с каких сетевых интерфейсов служба должна принимать запросы, и разрешили dhcp-серверу выдавать IP-адреса клиентам беспроводной сети. При разрешении DNS-имен dnsmasq будет перенаправлять запросы DNS-серверам, перечисленным в файле /etc/resolv.conf.

Улучшаем безопасность

Ввиду использования WEP приведенный выше пример скорее относится к разряду «как не нужно делать» и имеет право на существование лишь с целью доказательства того, что плата работает. В реальных же системах настоятельно рекомендуется использование WPA в режиме WPAPSK или WPA-EAP. (В качестве альтернативного варианта можно использовать VPN-туннель для шифрации трафика между беспроводными клиентами и сервером.) За реализацию WPA в нашей системе будет отвечать hostapd. Указанный демон был разработан в рамках проекта HostAP, целью которого является создание беспроводных точек доступа на базе карт с чипсетами Intersil Prism. Позднее разработчиками была добавлена поддержка работы с платами на чипсетах Atheros посредством драйверов madwifi. Hostapd поддерживает работу в режимах WPA-PSK, WPA-EAP с возможностью аутентификации как с помощью встроенного сервера, так и с помощью внешнего сервера RADIUS. В нашем примере рассмотрим более сложный в настройке вариант WPA-EAP с аутентификацией по протоколу MSCHAPv2 на внешнем RADIUS-сервере. При реализации будем использовать инфраструктуру открытых ключей (PKI), развернутую согласно инструкциям в [5].

Предварительная подготовка

Особенностью работы hostapd с драйверами madwifi является то, что беспроводное устройство должно входить в состав «виртуального моста» (linux bridging). Учитывая конфигурацию нашего сервера, мы вполне можем сделать «полноценный мост», с помощью которого клиенты проводной и беспроводной сетей будут находиться в одной логической подсети. Однако с точки зрения безопасности такой подход является неправильным – беспроводные клиенты должны иметь минимально необходимый доступ к ресурсам корпоративной локальной сети. Поэтому в нашем примере ограничимся «виртуальным мостом», состоящим только из беспроводного адаптера. Определение правил для iptables, ограничивающих доступ к проводной сети правил, оставим в качестве самостоятельного задания. Итак, для создания моста добавим в файл /etc/conf.d/net следующие строки:

bridge_br0=( "ath0" )

config_ath0=( "null" )

config_br0=( "192.168.2.1 netmask 255.255.255.0 brd 192.168.2.255" )

А также настроим автоматическое создание интерфейса при старте системы:

# ln –s /etc/init.d/net.lo /etc/init.d/net.br0

# rc-update add net.br0 default

После старта системы в системе появится новый bridgeинтерфейс с именем br0:

# ifconfig br0

br0       Link encap:Ethernet  HWaddr 00:11:6B:60:28:D6

          inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:2290  Metric:1

          RX packets:508204 errors:0 dropped:0 overruns:0 frame:0

          TX packets:665093 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:96361488 (91.8 Mb)  TX bytes:713154486 (680.1 Mb)

Как и мы хотели, в состав моста входит лишь устройство ath0:

# brctl show

bridge name    bridge id               STP enabled     interfaces

br0            8000.00116b6028d6       no              ath0

Перейдем к параметрам беспроводного адеаптера. Вместо старых настроек в /etc/conf.d/wireless определим следующее:

modules_ath0=( "iwconfig" )

essid_ath0="superspot"

channel_ath0="13"

Займемся настройками hostapd. Конфигурационный файл находится в /etc/hostapd/hostaspd.conf. Параметры демона сгруппированы в несколько секций:

  • Параметры конфигурации беспроводной платы – в этой секции определяется тип используемого беспроводного адаптера, а также параметры беспроводного соединения (ESSID, MAC security).
  • WPA1 (802.1X-2004) – здесь мы можем разрешить использование аутентификации 802.1Х, а также определить параметры EAP.
  • Опции для встроенных серверов EAP и RADIUS – по словам разработчиков, эти серверы присутствуют исключительно для тестовых целей, и их использование в реальных системах не рекомендуется. Поэтому в нашем примере эти секции использоваться не будут.
  • Параметры WPA2 (WAP/IEEE 802.11i) – здесь можно выбрать режим управления ключами шифрования (PSK или EAP), а также определить алгоритм шифрации трафика (TKIP-RC4, CCMP-AES).

Итак, определим следующие настройки:

interface=ath0          # интерфейс беспроводного адаптера

bridge=br0              # имя устройства-моста, содержащего беспроводной адаптер

driver=madwifi          # тип используемого драйвера

ssid=superspot          # идентификатор беспроводной сети

auth_algs=1             # используемый алгоритм аутентификации, 1- open

ieee8021x=1             # аутентификация согласно 802.1X

#RADIUS

own_ip_addr=127.0.0.1   # IP-адрес сервера RADIUS

nas_identifier=superspot

auth_server_addr=127.0.0.1

auth_server_port=1812

auth_server_shared_secret=supersecretpassword

radius_retry_primary_interval=600

#WPA/IEEE 802.11i

wpa=3                   # в двоичном представлении – 11, что означает использовать WPA и WPA2

wpa_key_mgmt=WPA-EAP    # будем использовать EAP-вариант аутентификации

wpa_pairwise=CCMP        # будем использовать AES для шифрования трафика

wpa_group_rekey=600

wpa_strict_rekey=1

wpa_gmk_rekey=86400

rsn_preauth=1

Теперь перейдем к параметрам конфигурации Freeradius.

Файл /etc/raddb/radius.conf. В секции modules{}, раздел mschap{} включим следующие параметры:

use_mppe = yes

require_encryption = yes

require_strong = yes

with_ntdomain_hack = yes

Убедимся, что ниже в этой же секции присутствует макрос для обработки имен в формате домен/логин:

realm ntdomain {

  format = prefix

  delimiter = "\\"

  ignore_default = no

  ignore_null = no

}

А также определен файл, в котором будут указываться пароли пользователей:

    files {

          usersfile = ${confdir}/users

          acctusersfile = ${confdir}/acct_users

          preproxy_usersfile = ${confdir}/preproxy_users

          }

Секция authorize{} включает в себя следующие модули:

authorize {

        preprocess

        mschap

        ntdomain

        eap

        files

}

files {

    usersfile = ${confdir}/users

    compat = no

}

Файл /etc/raddb/clients.conf:

client 127.0.0.1 {

        secret      = supersecretpassword

        shortname   = superspot

        nastype     = other

}

В файле /etc/raddb/proxy.conf допишем следующие строки:

realm DEFAULT {

        type            = radius

        authhost        = LOCAL

        accthost        = LOCAL

}

В параметрах конфигурации модуля EAP /etc/raddb/eap.conf определим следующее:

    eap {

         default_eap_type = peap

         timer_expire     = 60

         ignore_unknown_eap_types = no

         cisco_accounting_username_bug = no

         tls {

            private_key_password = пароль для доступа к секретному ключю сервера

            private_key_file = ${raddbdir}/certs/cert-srv.pem

            certificate_file = ${raddbdir}/certs/cert-srv.pem

            CA_file = ${raddbdir}/certs/cacert.pem

            dh_file = ${raddbdir}/certs/dh

            random_file = ${raddbdir}/certs/random

        }

        peap {

            default_eap_type = mschapv2

        }

        mschapv2 {

        }

    }

В файле /etc/raddb/users определим имена и пароли для доступа к беспроводной сети:

user1 User-Password == "password1"

user2 User-Password == "password2"

user3 User-Password == "password3"

Настроим автоматический запуск Freeradius при старте системы:

# rc-update add radiusd default

Если все было сделано правильно, то после перезагрузки компьютера (или просто запуска соответствующих служб) беспроводные клиенты увидят следующее (см. рис. 6). Беспроводная сеть с поддержкой WPA, при подключении к которой необходимо указать пароль.

Рисунок 6. WPA-сеть

Рисунок 6. WPA-сеть

Если же по каким-либо причинам увидеть сеть не удалось, можно воспользоваться режимами отладки:

# hostapd –Kdddd

# radiusd –X

Enterprise-режим

Немного изменив настройки модуля EAP Freeradius, можно настроить работу в режиме EAP-TLS. Так, чтобы настроить работу анологично описанному в [5], необходимо всего лишь поменять тип пакетов eap в файле eap.conf:

default_eap_type = tls

и скопировать клиентский сертификат на компьютер пользователя.

Обнаружение вторжений

С использованием программной точки доступа можно просто и быстро организовать простейшую систему обнаружения вторжений. В простейшем случае можно воспользоваться пакетом arpwatch. С его помощью точка доступа будет отслеживать arp-запросы в сети и при появлении новых MAC-адресов отсылать уведомления на e-mail администратора.

Для более «тонкой» защиты можно использовать связку Kismet+Snort. С помощью первого можно отслеживать атаки на уровне пакетов 802.11, а средствами второго организовать защиту на сетевом уровне и уровне приложений.

Заключение

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

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

  • Настройки беспроводной части – обслуживание нескольких беспроводных сетей с одним адаптером (VAP Virtual Access Point), использование WMM (QoS в WiFi), реализация быстрого роуминга с ипользованием IAPP.
  • Установка дополнительных программ – ddnsclient, Squid, bind, samba, openVPN, Postfix, Apache, LVS – вот лишь короткий список программ, которые могли бы быть нам полезны.

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

Приложение

WPA2, или Почему нужно делать именно так

На данный момент общепринятым является мнение, что WEP (даже совместно с фильтрацией MAC-адресов) не является надежной защитой для беспроводных сетей. Уже достаточно давно появились разнообразные инструменты (в том числе и для sctript-kiddies), позволяющие практически в автоматическом режиме «ломать» защиту WEP даже в Windows [6, 7].

Для решения проблем безопасности, присущих WEP IEEE, и разработан стандарт 802.11i. Согласно последнему, выделяются 3 основные категории защиты в беспроводных сетях:

  • TKIP (Temporal Key Integrity Protocol) – основным назначением данной схемы было решение остро стоящих проблем WEP. Учитывая, что в основе лежал все тот же симметричный алгоритм шифрования RC4, было возможным смягчить проблемы WEP в новых прошивках для старого оборудования. Использование TKIP для шифрования трафика и 802.1X обычно называют WPA1.
  • CCMP (Counter Mode with CBC-MAC Protocol) – новый протокол на основе алгоритма симметричного шифрования AES (Advanced Encryption Standard). Учитывая несколько большие требования к необходимой вычислительной мощности, предполагалось, что данный протокол будет использоваться в оборудовании, выпущенном после принятия стандарта 802.11i. Использование CCMP совместно с аутентификацией 802.1Х обычно называют WPA2.
  • 802.1X – метод аутентификации для беспроводных сетей. Может использоваться как совместно с CCMP, так и TKIP.

В рамках 802.1Х выделяется громадное количество методов аутентификации (около 40). Наиболее часто используются следующие:

  • EAP-MD5 – аутентификация по принципу «запрос-ответ» с помощью пары логин/пароль. Отметим, что даже несмотря на то, что последние не передаются по сети в открытом виде, метод обладает некоторыми недостатками – уязвим для атак по словарю, не производится аутентификация сервера. Преимущество также достаточно очевидно – простота внедрения (не требуются использование каких-либо сертификатов).
  • LEAP (Lightweight EAP) – алгоритм, предложенный Cisco Sytems, аутентификация производится сервером RADIUS по паре логин/пароль. Метод также уязвим к атакам по словарю. В виду некоторой закрытости данных стандарт не получил широкого распространения.
  • EAP-TLS (RFC2716) – аутентификация участников (взаимная) производится с помощью цифровых сертификатов. Способ требует наличия инфраструктуры открытых ключей (PKI Public Key Infrastructure). Метод удобен к использованию в гетерогенных сетях, в которых отсутствует центральный узел аутентификации (такой как сервер RADIUS, Active Directory, и др), но присутствует PKI.
  • EAP-TTLS – метод аутентификации, при котором с помощью цифровых сертификатов устанавливается TLS-сессия, в рамках передаются данные для аутентификации (в любой форме). Производится взаимная аутентификация клиента и сервера. Для использования также требуется PKI. Протокол часто используется совместно с другими методами аутентификации.
  • PEAP (Protected EAP) – вариант аутентификации с использованием публичного сертификата сервера для создания защищенного SSL-канала. Использование сертификатов со стороны клиентов не требуется. Данный метод в некотором смысле можно считать аналогом SSL для http (https://) применительно к беспроводным сетям.
  • EAP-MSHAPv2 – метод аутентификации согласно алгоритму MSCHAPv2, по паре логин/пароль внутри защищенного канала, созданного с использованием PEAP. Данный метод удобно использовать в Windows-сетях, в которых для аутентификации беспроводных клиентов используются учетные записи пользователей в Active Directory.

Таким образом, для малых организаций можно рекомендовать использование EAP-MD5. EAP-TLS удобно использовать в сетях беспроводных провайдеров, а EAP-MSCHAPv2 – в крупных корпоративных сетях.

Рисунок 7. Категории защиты в 802.11i

Рисунок 7. Категории защиты в 802.11i

Возможные проблемы и методы их решения

Не запускается hostapd (или не загружаются модули ядра madwifi).

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

Не работает аутентификация клиентов с помощью radius-сервера. В режиме отладки hostapd выдается следующее сообщение: «No WPA/RSN information element for station!?»

Убедитесь, что точка доступа работает в режиме WPA c поддержкой WPA2: «wpa=3».

Ссылки, литература:

  1. http://wifi.yandex.ru/where.xml?city=213&dcity=1.
  2. http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux.
  3. http://linux-wless.passys.nl/query_chipset.php?chipset=Atheros&zoek=chipset.
  4. http://customerproducts.atheros.com/customerproducts.
  5. Платов А. Строим защищённую беспроводную сеть: WPAEnterprise, 802.1x EAP-TLS – Журнал «Системный администратор», №5, май 2005 г. – 64-71 с. (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=05.2005;a=03).
  6. http://airsnort.shmoo.com.
  7. http://freshmeat.net/projects/aircrack.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru