wpa_supplicant
Клиент с
защищенным доступом Wi-Fi с поддержкой IEEE 802.1X Supplicant
Синтаксис:
wpa_supplicant
[-BhKLNptuvW] [-b имя_интерфейса_моста]
[-C управляющий_интерфейс]
[-c конфигурационный_файл] [-d[d]]
[-f выходной_файл]
[-g глобальный_управляющий_интерфейс]
[-i имя_интерфейса]
[-P файл] [-q[q]]
Поддерживаемые платформы:
Neutrino
Опции:
Большинство
опций командной строки являются глобальными. Но некоторые из
них предназначены для определенного интерфейса и доступны
только при выборе по крайней мере одной опции -i; в противном случае они
игнорируются. Группы опций для различных интерфейсов должны
быть разделены опцией -N.
-B
Выполнить
утилиту как сервис в фоновом режиме.
-b имя_интерфейса_моста
Необязательное
имя интерфейса моста. (Для каждого интерфейса.)
-C управляющий_интерфейс
Путь к сокету
управляющего_интерфейса. (Для каждого
интерфейса; несовместима с опцией -c).
-c имя_файла
Путь к
конфигурационному файлу. (Для каждого интерфейса.)
-d
Увеличить
уровень подробности отладочной информации (для вывода более
подробной информации используется -dd).
-fвыходной_файл
Отправить
вывод в указанный файл вместо стандартного потока вывода.
-g глобальный_управляющий_интерфейс
Путь к сокету
глобального_управляющего_интерфейса. Если указана эта
опция, определения интерфейсов можно исключить.
-h
Вывести
справку; показать сообщение об использовании.
-i имя_интерфейса
Интерфейс для прослушивания. Можно указать несколько
экземпляров этой опции (по одному для каждого интерфейса),
разделенные опцией -N (см. далее).
-K
Добавить ключи
(пароли и т.д.) в выходные данные отладки.
-L
Показать
информацию о лицензии (GPL и BSD).
-N
Начать
описание нового интерфейса
-P файл
Указать
местоположение файла идентификатора процесса.
-p
Параметры
драйвера. (Для каждого интерфейса.)
-q
Уменьшить
уровень подробности отладочной информации (для вывода менее
подробной информации используется -qq).
-t
Включить метку
времени в сообщения отладки.
-u
Активировать
управляющий интерфейс DBus. Если указана эта опция, определения
интерфейсов можно исключить.
-v
Вывести
информацию о версии.
-W
Перед запуском ждать появления управляющего
интерфейса.
Описание:
В отличие от
проводных сетей, беспроводные сети не требуют физического
доступа к сетевому оборудованию. Это позволяет
неавторизованным пользователям пассивно отслеживать состояние
сети и фиксировать все переданные кадры. Кроме того,
возрастает риск несанкционированного использования сети. Во
многих случаях это происходит даже без ведома пользователя,
поскольку беспроводной сетевой адаптер может быть настроен на
автоматическое подключение к любой доступной сети.
Для
обеспечения безопасности беспроводных сетей выполняется
шифрование на канальном уровне. Базовый стандарт беспроводной
сети IEEE 802.11 обеспечивает простой механизм шифрования –
WEP. Однако, как показывает опыт, в нем присутствует ряд
недостатков, поэтому сети, защищенные с помощью WEP, не
считаются безопасными.
Для
повышения уровня сетевой безопасности используется
аутентификация по IEEE 802.1X и часто изменяемые динамические
ключи WEP, но даже в этом случае сохраняется ряд проблем,
связанных с шифрованием с помощью WEP. Защищенный доступ Wi-Fi
и дополнение IEEE 802.11i для беспроводных локальных сетей
обеспечивают более высокий уровень безопасности беспроводных
сетей. Сети с поддержкой IEEE 802.11i, использующие CCMP
(механизм шифрования на основе мощного криптографического
алгоритма AES), считаются безопасными и используются для
приложений, требующих эффективной защиты от
несанкционированного доступа.
Утилита wpa_supplicant является реализацией
компонента WPA Supplicant, которая выполняется на клиентских
станциях. Она сопоставляет ключ WPA с аутентификатором WPA и
выполняет аутентификацию EAP на сервере аутентификации. Кроме
того, она управляет роумингом и аутентификацией/ассоциацией
IEEE 802.11 для драйвера беспроводной сети.
Утилита wpa_supplicant разработана как сервис,
работающий в фоновом режиме и выполняющий функции
бэкэнд-компонента для управления беспроводным соединением. Она
поддерживает отдельные фронтэнд-программы и текстовый фронтэнд
wpa_cli, который входит
в состав wpa_supplicant.
Перед
выполнением утилиты wpa_supplicant необходимо
убедиться в доступности сетевого интерфейса. Это означает
необходимость наличия активированного физического устройства и
загруженного драйвера устройства. Если устройство еще не
доступно, сервис немедленно завершает работу.
После
конфигурирования утилитой wpa_supplicant сетевого
устройства доступно конфигурирование на более высоком уровне,
например DHCP. Существует множество способов интеграции
утилиты wpa_supplicant в сценарии
организации сетей для машины. Некоторые из них описаны в
следующих разделах.
При
установлении связи с AP по WPA используются следующие шаги:
-
wpa_supplicant запрашивает
у драйвера сканирование соседних BSS.
-
wpa_supplicant выбирает
BSS на основе конфигурации.
-
wpa_supplicant запрашивает
у драйвера установление связи с выбранным BSS.
-
В случае WPA-EAP:
интегрированный IEEE 802.1X Supplicant или внешний
Xsupplicant завершают аутентификацию EAP с сервером
аутентификации (в AP используется аутентификатором в
качестве посредника).
-
В случае WPA-EAP: из IEEE
802.1X Supplicant получен основной ключ.
-
В случае WPA-PSK: wpa_supplicant использует
PSK в качестве основного ключа сеанса.
-
wpa_supplicant выполняет
четырехстороннее подтверждение связи WPA и подтверждение
связи с использованием группового ключа с помощью
аутентификатора (AP).
-
wpa_supplicant
конфигурирует ключи шифрования для одноадресной и
многоадресной передачи.
-
Можно выполнять передачу
и получение стандартных пакетов данных.
Поддерживаемые функции
Поддерживаемые
функции WPA/IEEE 802.11i:
-
WPA-PSK ("WPA-Personal")
-
WPA с EAP (например,
сервер аутентификации RADIUS) ("WPA-Enterprise").
Интегрированный IEEE 802.1X Supplicant поддерживает
следующие методы аутентификации:
-
EAP-TLS
-
EAP-PEAP/MSCHAPv2
(PEAPv0 и PEAPv1)
-
EAP-PEAP/TLS
(PEAPv0 и PEAPv1)
-
EAP-PEAP/GTC
(PEAPv0 и PEAPv1)
-
EAP-PEAP/OTP
(PEAPv0 и PEAPv1)
-
EAP-PEAP/MD5-Challenge
(PEAPv0 и PEAPv1)
-
EAP-TTLS/EAP-MD5-Challenge
-
EAP-TTLS/EAP-GTC
-
EAP-TTLS/EAP-OTP
-
EAP-TTLS/EAP-MSCHAPv2
-
EAP-TTLS/EAP-TLS
-
EAP-TTLS/MSCHAPv2
-
EAP-TTLS/MSCHAP
-
EAP-TTLS/PAP
-
EAP-TTLS/CHAP
-
EAP-SIM
-
EAP-AKA
-
EAP-PSK
-
EAP-PAX
-
LEAP
(примечание: для аутентификации IEEE 802.11 необходима
специальная поддержка драйвера)
Поддерживаются
следующие методы (поскольку эти методы не поддерживают
ключи, они не могут использоваться совместно с ключами WPA
или IEEE 802.1X WEP):
-
EAP-MD5-Challenge
-
EAP-MSCHAPv2
-
EAP-GTC
-
EAP-OTP
-
Управление ключами для
CCMP, TKIP, WEP104, WEP40
-
RSN/WPA2 (IEEE 802.11i)
Файлы:
Для утилиты wpa_supplicant необходимо наличие следующих
библиотек и двоичных файлов:
-
libcrypto.so –
криптографическая библиотека
-
libssl.so –
библиотека защищенных сокетов (создана на основе OpenSSL)
-
random –
исполняемый файл, создающий /dev/urandom для
генерации случайных чисел
-
libm.so –
математическая библиотека, запрашиваемая random
-
libz.so –
библиотека сжатия, запрашиваемая random
Для создания каталога ctrl_interface утилите wpa_supplicant также требуется файловая
система доступная для чтения/записи (см. пример
конфигурационного файла wpa_supplicant.conf).
Примечание.
Использование /dev/shmem невозможно, поскольку
в нем не может быть создан каталог.