Статьи и заметки об информационных технологиях
Блудная статья
О компании// Статьи// Рубрикатор// Каталог оборудования//
Поиск// Карта сайта// RSS// Ссылки//

Основы защиты беспроводных сетей (часть 2) [07.02.2007]


Для авторизации пользователей в беспроводных сетях с помощью RADIUS-сервера можно использовать как имя пользователя и пароль (PEAP – Protected EAP), так и сертификаты (EAP-TLS). Рассмотрим настройку RADIUS-сервера для авторизации с помощью PEAP. Для этого сначала установим сервер (я воспользовался FreeRadius) под любую операционную систему Linux (в моем случае, Fedora Core 6). После произведем следующие настройки:

/etc/raddb/clients.conf
#----------------------------------------------------
client 192.168.0.125/25 {
       secret          = ap1242ag
       shortname       = ap-1
}
#----------------------------------------------------

Эта запись означает, что клиент (точка доступа) с IP-адресом 192.168.0.125 и маской 255.255.255.128 (25 бит) должна использовать для авторизации пароль ap1242ag, а все события, связанные с ней, будут записываться, как произошедшие от устройства ap-1. Также поменяем пароль для локальных клиентов:

#----------------------------------------------------
secret          = secret_password
#----------------------------------------------------

/etc/raddb/radiusd.conf
Секция Modules{}, раздел mschap {}:

use_mppe = yes
require_encryption = yes
require_strong = yes
with_ntdomain_hack = yes

Также в Modules{} должны быть строки:

#
#  'domainuser'
#
realm ntdomain {
  format = prefix
  delimiter = "\"
  ignore_default = no
  ignore_null = no
}

А в Authorize{}:

#----------------------------------------------------
ntdomain
#----------------------------------------------------

/etc/raddb/proxy.conf
#----------------------------------------------------
realm DEFAULT {
        type            = radius
        authhost        = LOCAL
        accthost        = LOCAL
}
#----------------------------------------------------

С такими настройками, все клиенты Windows будут проверяться на локальном RADIUS-сервере.

/etc/raddb/eap.conf
Далее нужно настроить протокол аутентификации EAP. Сначала подключим EAP к самому RADIUS-серверу (/etc/raddb/radiusd.conf) следующим образом:

#----------------------------------------------------
$INCLUDE ${confdir}/eap.conf
#----------------------------------------------------

Теперь в самом /etc/raddb/eap.conf
В секции eap{}

#----------------------------------------------------
default_eap_type = peap
#----------------------------------------------------

#----------------------------------------------------
peap {
 default_eap_type = mschapv2
}
#----------------------------------------------------

#----------------------------------------------------
tls {
 private_key_password = whatever
 private_key_file = ${raddbdir}/certs/cert-srv.pem
 certificate_file = ${raddbdir}/certs/cert-srv.pem
 CA_file = ${raddbdir}/certs/demoCA/cacert.pem
 dh_file = ${raddbdir}/certs/dh
 random_file = ${raddbdir}/certs/random
}
#----------------------------------------------------

Последний этап активизирует метод EAP-TLS с сертификатом, сгенерированным при установке FreeRadius. Настройку собственных сертификатов пока пропустим, для работы с PEAP этого достаточно.

/etc/raddb/users
И, наконец, настроим базу пользователей нашего RADIUS-сервера. FreeRadius умеет хранить учетные записи пользователей в различных хранилищах, например, в системных учетных записях, обычном текстовом файле, LDAP, MySQL, PostgreSQL и т.п. Мы в качестве базы хранилища будем использовать обычный текстовый файл /etc/raddb/users. Формат файла очень простой: одна строчка - одна запись:

#----------------------------------------------------
UserA User-Password == "ABC"
UserB User-Password == "CDE"
#----------------------------------------------------

В нашей базе прописано два пользователя: UserA и UserB с соответствующими паролями. Файл /etc/raddb/users подключается в секции modules{}, раздел files{} основного конфигурационного файла FreeRadius (/etc/raddb/radiusd.conf) следующей строчкой:

#----------------------------------------------------
files {
 # <....>
 usersfile = ${confdir}/users
 compat = no
}
#----------------------------------------------------

 
На этом настройка FreeRadius сервера завершена. Можно запустить его в режиме отладки командой

# /usr/sbin/radiusd -fX

Если ошибок в конфигурационных файлах допущено не было, на экране мы увидим примерно следующее:

=====================================================

s3 ~ # /usr/sbin/radiusd -fX
Starting - reading configuration files ...
reread_config:  reading radiusd.conf
Config:   including file: /etc/raddb/proxy.conf
Config:   including file: /etc/raddb/clients.conf
Config:   including file: /etc/raddb/snmp.conf
Config:   including file: /etc/raddb/eap.conf
Config:   including file: /etc/raddb/sql.conf
 main: prefix = "/usr"
 main: localstatedir = "/var"
 main: logdir = "/var/log/radius"
 main: libdir = "/usr/lib"
 main: radacctdir = "/var/log/radius/radacct"
 main: hostname_lookups = no
 main: max_request_time = 30
 main: cleanup_delay = 5
 main: max_requests = 1024

<...>

Module: Instantiated detail (detail)
Module: Loaded radutmp
 radutmp: filename = "/var/log/radius/radutmp"
 radutmp: username = "%{User-Name}"
 radutmp: case_sensitive = yes
 radutmp: check_with_nas = yes
 radutmp: perm = 384
 radutmp: callerid = yes
Module: Instantiated radutmp (radutmp)
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.

=====================================================

Надпись "Listening on authentication *:1812" означает, что сервер ждет запросов на аутентификацию на 1812 порту, а "Ready to process requests" - что он готов к работе. Осталось лишь остановить FreeRADIUS сервер, запущенный в режиме отладки, добавить его в автостарт...

=====================================================
# rc-update add radiusd default
 * radiusd added to runlevel default
=====================================================

...для того, чтобы демон radiusd запускался при старте системы, и запустить его (однократно) в нормальном режиме:

=====================================================
# /etc/init.d/radiusd start
 * Starting radiusd ...                      [ ok ]
=====================================================

Все, настройка системы на этом завершена.
 RADIUS сконфигурирован и запущен, переходим к настройкам точки доступа. Надо сделать следующее:

  • включить WPA;
  • выбрать тип шифрования (AES или TKIP);
  • прописать адрес RADIUS-сервера;
  • указать пароль доступа (shared secret) к RADIUS-серверу.

У вышеописанной схемы лишь один минус - подключение к беспроводной сети может происходить только после входа пользователя в операционную систему. Что можно сделать, если у нас на руках ноутбук, включенный в домен, и кроме как по WiFi, подключить его к сети не представляется возможным (или это не удобно)? Ведь при нажатии Ctrl+Alt+Del для ввода логина/пароля для доступа в доменную сеть, компьютер уже должен иметь доступ к сети (хотя бы для того, чтобы найти тот самый домен, куда он должен быть подключен). Тем самым, EAP-PEAP в этом случае не применим, а надо использовать EAP-TLS (продолжение следует…)



del.icio.us News2 Digg Furl ma.gnolia Technorati Cosmos Blinklist Yahoo! My Web BlinkBits Blogmarks Co.mments.com Connotea De.lirio.us Fark Feedmelinks LinkaGoGo NewsVine Netvouz RawSugar ReddIt Scuttle Shadows Simply Smarking Spurl TailRank Wists Segnalo Добавить на Mr. Wong Добавить на Webnews Добавить на  Icio Добавить на Oneview Добавить на Folkd Добавить на Yigg Добавить на Linkarena Добавить на StumbleUpon Добавить на Slashdot Добавить на Netscape Добавить на Google Добавить на Diigo Забобрить эту страницу! Добавить в закладки МоёМесто.ru
Постоянный адрес страницы: http://www.hypercomp.ru/articles/wireless-lan-security-basics-2/

Комментарии [25]
Ваш комментарий
Имя *

Фамилия *

E-mail  

WWW  

Комментарий * :-) ;-) :-( :-D 8-) :-o :roll: :unknown: :lol: :bad: :good: :no: :oops:

  Введите код с картинки:


Пароль к BIOS компьютера хранится в энергонезависимой памяти, устанавливается, как правило, при первоначальной его настройке и успешно забывается. В т ...
Тематика статьи
Разное
Яндекс цитирования
Rambler's Top100 Рейтинг@Mail.ru
О проекте // Статьи // Рубрикатор // Поиск // Карта сайта // RSS // СсылкиTo the skies!

© hypercomp.ru, 1982-2024 Куап.ру - база данных российских банков
 hypercomp.ru