1. Trang chủ
  2. » Công Nghệ Thông Tin

vkladimirov a a wi fu phần 7 pps

47 140 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 47
Dung lượng 11,68 MB

Nội dung

284 ВОРОТА КРЕПОСТИ: АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ и возврат всех деталей конфигурации клиенту, который будет предоставлять пользо- вателю определенные сервисы. Кроме того, RADIUS-сервер может выступать в виде proxy-клиента для других RADIUS-серверов или иных серверов аутентификации; о сетевая безопасность. Во время аутентификации пользователя обмен данными меж- ду клиентом и сервером шифруется с помощью разделяемого секрета, который ни- когда не передается по сети в открытом виде. Пароли пользователей клиент переда- ет RADIUS-серверу также в зашифрованном виде, чтобы исключить возможность прослушивания; о гибкие механизмы аутентификации. RADIUS-сервер допускает различные методы аутентификации пользователей. Получив имя пользователя и его пароль, он может аутентифицировать его по протоколу РАР или CHAP, выполнить стандартную проце- дуру входа в ОС UNIX или поискать информацию в иных хранилищах, например РАМ, LDAP, SQL и т.д.; о расширяемый протокол. Все данные передаются в виде троек переменной длины: атрибут-длина-значение (Attribute-Length-Value - ALV). Можно добавлять новые зна- чения атрибутов, не нарушая корректность работы существующей реализации, за счет чего протокол становится более гибким и динамичным, способным к расширению. Форматы пакетов Пакеты протокола RADIUS инкапсулированы в поток данных протокола UDP без состоя- ния. Для этого протокола зарезервированы порты 1812, 1813 и 1814, предназначенные соответственно для доступа, учета и организации proxy. Ради совместимости и по истори- ческим причинам некоторые серверы продолжают работать через порты 1645 и 1646. Так повелось еще со времен ранних этапов разработки RADIUS, а теперь вступает в противоре- чие со службой «метрик данных». В RFC специфицирована структура пакета протокола RADIUS (рис. 13.1). Рис. 13.1. Структура пакета протокола RADIUS Ниже описаны отдельные элементы этого пакета: о код. Поле кода длиной в один октет определяет тип пакета. Получив пакет с некор- ректным значением кода, сервер игнорирует его без каких-либо уведомлений. До- пустимые типы пакетов рассматриваются в следующем разделе; о идентификатор. Это поле длиной также в один октет позволяет клиенту RADIUS сопоставить полученный от сервера ответ с ранее посланным запросом; о длина. Это поле занимает два октета. В нем хранится длина сообщения, то есть сум- ма длин полей кода, идентификатора, длины, аутентификатора и атрибутов; о аутентификатор. Длина поля равна 16 октетам, оно используется для аутентифи- кации и верификации ответа от RADIUS-сервера, а также как механизм сокрытия паролей. В поле могут передаваться значения двух типов: запрос (Request) и ответ RADIUS 285 (Response). Поле запроса может встречаться в пакетах типа Access (Доступ) и Accounting Request (Запрос учетной информации), его значение должно быть слу- чайно и уникально. Поле ответа встречается в пакетах типа Access-Accept (Доступ разрешен), Access-Reject (Доступ запрещен) и Access-Challenge (Запрос). Оно долж- но содержать одностороннюю МБ5-свертку, вычисленную по значениям полей кода, идентификатора, длины, аутентификатора, атрибутов и по разделяемому секрету; о атрибуты. В этом поле передаются различные характеристики службы, обычно для анонсирования конкретных предлагаемых или запрашиваемых возможностей. Шесть атрибутов и их допустимые значения представлены в табл. 13.1. Таблица 13.1. Типы атрибутов в протоколе RADIUS ТИПЫ пакетов RADIUS-сервер идентифицирует типы сообщений по значению поля кода. Возможные коды описаны в табл. 13.2. Мы не будем вдаваться в подробности, поскольку считаем, что назва- ния понятны без пояснений. Но, если хотите, можете прочитать раздел «Packet Types» (Типы пакетов) в RFC 2138. 286 ВОРОТА КРЕПОСТИ: АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ 11 Access-Challenge (Запрос) 12 Status-Server (Состояние сервера) - экспериментальный 13 Status-Client (Состояние клиента) - экспериментальный 255 Зарезервирован Инсталляция FreeRADIUS Мы уже обсудили модель ААА, лежащую в основе протокола RADIUS, а также структуру протокола, допустимые типы и значения полей. Теперь займемся более практическим воп- росом - инсталляцией сервера FreeRADIUS. На официальном сайте проекта FreeRADIUS (http://www.freeradius.org) читаем: «Проект FreeRADIUS - это попытка создать высокопро- изводительный и конфигурируемый в широких пределах RADIUS-сервер, распространяе- мый по лицензии GPL. Сервер аналогичен продукту Livingston 2.O. FreeRADIUS - это вари- ант сервера Cistron RADIUS, но общего у них мало. FreeRADIUS имеет гораздо больше возможностей, чем Cistron или Livingston, и при этом намного лучше конфигурируется». Для промышленной эксплуатации мы рекомендуем устанавливать стабильную версию продукта, в момент работы над книгой это была версия FreeRADIUS 0.8.1. Но, возможно, вы сочтете, что последняя версия в CVS-хранилище лучше отвечает вашим потребностям, по- скольку поддерживает больше функций. И стабильную, и CVS-версию можно скачать со страницы http://www.freeradius.org/getting.html. Далее мы будем говорить о версии, взя- той из CVS-хранилища 26 мая 2003 года. Процедура инсталляции последней стабильной версии не должна сильно отличаться. Для того чтобы начать процедуру сборки и инсталляции из исходных текстов, скачайте и разверните дистрибутив FreeRADIUS: arhontus:~$ wget -с ftp://ftp.freeradius.org/pub/radius/CVS-snapshots/ freeradius-snapshot-20030526.tar.gz arhontus:~$ tar -xvzf freeradius-snapshot-20030526.tar.gz arhontus:~$ cd freeradius-snapshot-20030526 Чтобы настроить FreeRADIUS под свои нужды, вы, возможно, захотите отредактировать файл Makefile или указать дополнительные флаги сценарию configure. Подробно об имею- щихся возможностях можно узнать, набрав команду arhontus:$ ./configure help Затем выполните конфигурирование и запустите компиляцию: arhontus:$ ./configure arhontus:$ make Для инсталляции FreeRADIUS вам потребуются привилегии пользователя root. Выпол- ните команды: arhontus:$ su arhontus:# make install Чтобы настроить FreeRADIUS под свои нужды, вы, возможно, захотите отредактировать файл Makefile или указать дополнительные флаги сценарию configure. Подробно об имею- щихся возможностях можно узнать, набрав команду Затем выполните конфигурирование и запустите компиляцию: Для инсталляции FreeRADIUS вам потребуются привилегии пользователя root. Выпол- ните команды: ИНСТАЛЛЯЦИЯ FREERADIUS 287 Чтобы инсталлировать двоичный пакет в Debian Linux, выполните команду arhontus:# dpkg -i radiusd-freeradius_O.8.I_i386.deb или arhontus:# dpkg -i radiusd-freeradius_O.8.1+0.9pre20030526-l_i386.deb в зависимости от того, хотите вы установить стабильную или CVS-версию. Кроме того, мож- но установить различные дополнительные модули к серверу, реализующие такие схемы аутентификации, как Kerberos V, SQL или LDAP. По завершении инсталляции переходите к следующему разделу, в котором описывают- ся процедуры конфигурирования RADIUS-сервера. Конфигурирование Во время работы над этой книгой конфигурационные файлы для стабильной версии на- ходились в каталоге /etc/raddb, а для CVS-версии - в каталоге /etc/freeradius, так что, возможно, ваши действия будут слегка отличаться от описанных ниже. Предлагаем вам сразу познакомиться со структурой каталогов и наиболее важными конфигурационны- ми файлами. 288 А ВОРОТА КРЕПОСТИ: АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ clients, conf Информация, хранящаяся в этом файле, более приоритетна, чем та, что находится в файлах clients или naslist. Конфигурация включает все данные из этих двух файлов, а также до- полнительные возможности. Чтобы сконфигурировать сервер с учетом особенностей ва- шей сети, редактируйте именно файл clients.conf. Вот пример одной записи: Файл /etc/freeradius/radiusd.conf - это сердце RADIUS-сервера. Именно в нем прописыва- ется большая часть параметров и директив. Ниже для иллюстрации приведен небольшой фрагмент этого файла. Его необходимо отредактировать в соответствии с вашими требова- ниями. Можете также посмотреть наш пример файла radiusd.conf, в котором прописаны многие возможности FreeRADIUS, в том числе аутентификация посредством LDAP, EAP-TLS или паролей UNIX. Настоятельно рекомендуем в качестве разделяемого секрета выбирать строки, отсут- ствующие в словаре, и употреблять в них символы разных типов: буквы, цифры, знаки препинания и др. Если вы не измените принятые по умолчанию значения, то поставите безопасность сети под угрозу! naslist Далее отредактируйте файл /etc/freeradius/naslist, указав в нем канонические названия, сокращенные названия и типы всех NAS-серверов, которые будут обращаться к данному RADIUS-серверу. Полный перечень поддерживаемых видов NAS-серверов можно узнать на странице руководства или из самого файла naslist. Ниже приведен пример: realms Файл /etc/freeradius/realms будет полезен, если вы захотите развернуть несколько RADIUS- серверов и потребовать, чтобы мобильные пользователи переходили с одного на другой. В последних версиях FreeRADIUS этот файл уже не используется и заменен файлом proxy.conf, в котором хранятся настройки для организации proxy. users В этом файле описываются методы и процедуры аутентификации пользователей. Мы по- местим сюда разных пользователей вместе с указанием тех сервисов, к которым у них есть доступ, а также применяемых по умолчанию механизмов аутентификации. Более подроб- ную информацию об этом файле можно найти на странице руководства man 5 users. Ниже приведен пример: Если вы работаете на платформе Microsoft Windows, то можете скачать утилиту NTRadPing для тестирования RADIUS-сервера со страницы http://www.mastersoft-group.com/download/. Окно утилиты показано на рис. 13.2. Успешно завершив тестирование сервера, можете переходить к следующему разделу, в котором речь идет об основах мониторинга и учета в RADIUS. Это важно знать для по- вседневного администрирования, а также на случай, если все-таки произойдет вторже- ние в сеть. В протоколе сервера должна появиться запись об авторизации такого вида: Успешно запустив FreeRADIUS-сервер, вы сможете протестировать аутентификацию пользователя, причем несколькими разными способами. Первый способ - воспользо- ваться утилитой radtest, которая пытается установить соединение с сервером, отпра- вив ему указанные «верительные грамоты», и выводит полученный от сервера ответ. Вот пример: Если это не так, запустите FreeRADIUS в режиме отладки, чтобы из диагностических сообщений понять, в чем причина ошибки: Если сервер запустился успешно, то, выполнив показанную ниже команду, вы увидите что-то типа: arhontus:~# /etc/init.d/freeradius start УЧЕ Г РАБОТЫ ПОЛЬЗОВАТЕЛЕЙ 291 Учет работы пользователей В документе RFC 2139 перечислены основные возможности службы учета RADIUS Accounting: о модель клиент-сервер. NAS-сервер работает как клиент учетного RADIUS-сервера. Клиент передает учетную информацию о пользователе учетному серверу. Учетный сервер принимает запрос и возвращает клиенту отве г о том, что запрос получен. Учет- ный сервер может выступать в роли proxy-клиента ^ля других учетных серверов; о сетевая безопасность. Транзакции между клиенток и сервером аутентифицируют- ся с помощью разделяемого секрета, который никогда не передается по сети; о расширяемый протокол. В ходе любой транзакции [передается тройка атрибут-дли- на-значение переменной длины. Новые значения! атрибутов можно добавлять, не нарушая работу существующей реализации протокола. Любой вид оборудования, входящий в состав сервера доступа к сети (NAS), должен под- держивать учетные функции RADIUS. Должна быть возможность сконфигурировать его так, чтобы протоколировалась информация о типичных для Пользователя способах доступа в сеть. Ниже приведен пример учетной информации о сеансе с точки доступа Orinoco, но ясно, что в реальности картина будет зависеть от вида обррудования NAS и способа учета, заданного администратором. Прочитать об утилитах для анализа учетных данных и формирования отчетов на их основе можно ниже в разделе «Инструменты, относящиеся к RADIUS». Уязвимости RADIUS Известен целый ряд слабостей RADIUS, причиной которых является как сам протокол, так и неудачная реализация клиентов. Сам по себе протокол UDP, не имеющий состояния, по- зволяет подделывать пакеты. Уязвимости, о которых пойдет речь в этом разделе, не исчер- пывают весь список проблем протокола, а призваны лишь продемонстрировать несколько способов обойти аутентификацию пользователя. Атаки можно отнести к следующим кате- гориям: о подбор «верительных грамот» пользователя методом полного перебора; о DoS-атака; о повтор сеанса; о внедрение поддельных пакетов. Атака на аутентификатор ответа Аутентификатор ответа (Response Authenticator) - это, по существу, МО5-свертка. Если противник сумел перехватить корректную последовательность пакетов типа Access-Request, Access-Accept или Access-Reject, то он может, уже не находясь в сети, попробовать вскрыть разделяемый секрет путем полного перебора. Противник может вычислить МО5-свертку от комбинации полей кода+идентификатора+длины+аутентификатора+атрибутов, посколь- ку большая часть составных частей аутентификатора известны, а затем повторять эту свер- тку при каждой попытке угадать разделяемый секрет. Атака на разделяемый секрет на основе атрибута Password Мандат, содержащий пару имя-пароль, является защищенным, но противник может полу- чить информацию о разделяемом секрете, если будет следить за попытками аутентифика- ции. Если взломщик предпримет попытку аутентифицироваться с известным паролем, а затем перехватит отправляемый в результате пакет Accept-Request, то он сможет выпол- нить XOR между защищенной частью атрибута User-Pas sword с паролем, который он сообщил клиенту ранее. Поскольку аутентификатор ответа известен (его можно увидеть в пакете Accept-Request), то противник получает возможность провести атаку методом пол- ного перебора на разделяемый секрет, уже не находясь в сети. 292 ВОРОТА КРЕПОСТИ: АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ ИНСТРУМЕНТЫ, ОТНОСЯЩИЕСЯ К RADIUS 293 Атака на пароль пользователя Она аналогична предыдущей: зная разделяемый секрет, противник может пробовать раз- личные пароли путем модификации и воспроизведения пакетов типа Access-Request. Если сервер не ограничивает число безуспешных попыток аутентификации одного пользовате- ля, то атакующий сумеет выполнить полный перебор всех паролей, пока не отыщет пра- вильный. Не забывайте, что применение стойкой схемы аутентификации в пакете Access- Request сделает такую атаку почти невозможной. Атаки на аутентификатор запроса Безопасность пакета в протоколе RADIUS зависит от содержимого поля аутентификатора зап- роса (Request Authenticator). Оно должно быть уникальным и непредсказуемым. Однако в спецификациях протокола важности способа генерирования этого поля не уделено долж- ного внимания, поэтому существует много реализаций, в которых алгоритм оставляет же- лать лучшего. Если клиент пользуется генератором псевдослучайных чисел с коротким периодом, то желаемый уровень безопасности протокола не будет достигнут. Вспомните, что говорилось в главах о прикладной криптографии по поводу работы и тестирования генераторов псевдослучайных чисел. Повтор ответов сервера Противник может создать базу данных с аутентификаторами запросов, идентификатора- ми и соответствующими им ответами сервера, если будет периодически прослушивать и перехватывать трафик между клиентом и сервером. Увидев запрос с уже встречавшимся ранее аутентификатором, противник замаскирует себя под сервер и повторит наблюдав- шийся ранее ответ. Кроме того, противник может воспроизвести похожий на правду от- вет сервера типа Access-Accept и тем самым аутентифицироваться, не представив кор- ректных «верительных грамот». Проблемы, связанные с разделяемым секретом Стандарт протокола RADIUS допускает использование одного и того же разделяемого секрета многими клиентами. Это небезопасно, так как позволяет некорректно реализованным клиен- там скомпрометировать сразу много машин. Мы рекомендуем задавать разные разделяемые секреты для каждого клиента, причем выбирать слова, отсутствующие в словаре, чтобы их не- возможно было угадать. При этом позаботьтесь и о физической безопасности клиентов. Инструменты, относящиеся к RADIUS Ниже перечислен ряд альтернативных RADIUS-серверов, а также несколько утилит для администрирования и мониторинга работы пользователей: о Cistron. Этот бесплатный сервер, написанный Мигелем ван Смуренбургом (Miquel van Smoorenburg) на базе исходных текстов сервера Livingston, нашел широкое [...]... библиотеку, которая позволяет Windows-клиентам аутентифицироваться в LDAP-сервере СЛУЖБА КАТАЛОГОВ LDAP 3 1 7 Мы снова возвращаемся к программному обеспечению, созданному группой PADL, а именно к библиотекам pam_ldap и nss_ldap, которые можно загрузить со страниц ftp://ftp.padl.com/ pub/pam_ldap.tgz и ftp://ftp.padl.com/pub/nss_ldap.tgz Библиотека pam_ldap обеспечивает LDAP-аутентификацию для операционных... /lib/security/pam_ldap.so /lib/security/pam_unix_auth.so sufficient required required sufficient required /lib/security/pam_ldap.so /lib/security/pam_unix_acct.so /lib/security/pam_cracklib.so /lib/security/pam_ldap.so /lib/security/pam_pwdb.so required /lib/security/pam_unix_session.so А вот как он должен выглядеть: # $FreeBSD: src/etc/pam.d/sshd,v 1.9 2002/12/03 15:48:11 desc Exp $ # # Р М configuration for... каталоге pam.d в ОС FreeBSD ч.х и 5.x После инсталляции pam_ldap из репозитария Ports оказалось необходимо изменить во всех pam-файлах местоположение библиотек, относящихся к безопасности Вот, например, как выглядит стандартный файл рат для sshd: # %РАМ-1.0 auth auth auth try_first_pass account account password password password use_first_pass session required sufficient required /lib/security/pam_nologin.so... инсталляции очень проста и сводится к следующим командам: arhontus:$ /configure arhontus:$ make arhontus:$ make i n s t a l l Собрав и установив библиотеки, скопируйте файл Idap.conf в каталог /etc/openldap или /usr/local/etc/openldap в зависимости от ваших настроек и отредактируйте его Кроме того, в случае модуля pam_ldap нужно будет скопировать файлы pam.d и pam.conf в каталог /etc, сохранив резервную копию... В дистрибутиве Debian Linux серверная и клиентская части OpenLDAP уже имеются в виде готового пакета Их можно скачать из Internet и установить на свою машину следующим образом: arhontus:~$ apt-get install slapd Iibldap2 ldap-utils Если нужна только клиентская часть, выполните такую команду: arhontus:~$ apt-get install Iibldap2 ldap-utils Вы увидите сценарий начальной настройки slapd, предлагающий ввести... собрать и установить пакет: arhontus:~$ arhontus:~$ arhontus:~$ arhontus:~$ arhontus:~$ tar zxvf xsupplicant-0.б.tar gz cd xsupplicant /configure make make install Успешно завершив установку, скопируйте файл /etc/lx.conf в каталог /etc/lx и отредактируйте его, как показано ниже, заменив < c l i e n t n a m e > точно той строкой, которая была указана в качестве значения поля Common Name при создании сертификата... ВОРОТА КРЕПОСТИ: АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ А теперь рассмотрим более подробно утилиты PADL MigrationTools Скачав файл http://www.padl.com/download/MigrationTools.tgz и распаковав его, вы должны будете изменить некоторые переменные в файле migrate_common.ph, а именно: $DEFAULT_MAIL_DOMAIN $DEFAULT_MAIL_HOST fDEFAULT_BASE Закончив редактировать этот файл, можете запустить специальную утилиту для конвертирования... Microsoft (http://www.microsoft.com/Windows2000/downloads/recommended/q313664/download.asp) После установки и перезапуска компьютера можно будет активизировать этот сервис, открыв Панель управления (Control Panel), выбрав пункты Administrative Tasks => Services (Административные задачи => Сервисы) и установив для сервиса Wireless Configuration автоматический режим запуска (Automatic) Затем этот сервис надо... makefile: arhontus:~$ /configure Сгенерируйте список зависимостей: arhontus:~$ make depend Наконец запустите компиляцию и сборку (на медленной машине это может занять немало времени): arhontus:~$ make Можно еще проверить работоспособность собранного пакета, выполнив команду: arhontus:~$ make t e s t После завершения сборки выполните инсталляцию от имени пользователя root: arhontus:~$ make i n s t a. .. строк: # Extensible Authentication Protocol # # For all ЕАР related authentications eap { 802.1Х: НА СТРАЖЕ БЕСПРОВОДНОЙ КРЕПОСТИ 2 9 9 Затем отредактируйте раздел Authentication и раскомментарьте все ссылки на ЕАР Прежде чем приступать к редактированию файла users, нужно будет создать два файла со случайными данными и сделать их доступными для чтения процессу FreeRADIUS В файле radiusd.conf пути к . дистрибутив FreeRADIUS: arhontus:~$ wget -с ftp://ftp.freeradius.org/pub/radius/CVS-snapshots/ freeradius-snapshot-20030526.tar.gz arhontus:~$ tar -xvzf freeradius-snapshot-20030526.tar.gz arhontus:~$. собрать и установить пакет: arhontus:~$ tar zxvf xsupplicant-0.б.tar. gz arhontus:~$ cd xsupplicant arhontus:~$ ./configure arhontus:~$ make arhontus:~$ make install Успешно завершив установку,. Extensible Authentication Protocol # # For all ЕАР related authentications eap { 802.1Х: НА СТРАЖЕ БЕСПРОВОДНОЙ КРЕПОСТИ 299 Затем отредактируйте раздел Authentication и раскомментарьте все ссылки на

Ngày đăng: 13/08/2014, 12:21

TỪ KHÓA LIÊN QUAN