Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Protsess_redaktor_zavershenie.doc
Скачиваний:
251
Добавлен:
10.06.2015
Размер:
4.49 Mб
Скачать

3.3 Процедура аутентификации пользователя

Сервер RADIUS может поддерживать разные методы аутентификации пользователя. Если пользователь предоставит ему свое имя и оригинальный пароль, этот сервер может поддержать PPP PAP или CHAP, Unix login и другие механизмы аутентификации. Обычно регистрация пользователя состоит из запроса (Access Request), который поступает из NAS на сервер RADIUS, и соответствующего ответа (положительного или отрицательного), который дает сервер. Пакет Access Request содержит имя пользователя, зашифрованный пароль, IP адрес системы NAS и номер порта. Формат запроса дает возможность пользователю запросить определенный тип сессии. Например, если запрос производится в алфавитно-цифровом режиме, из этого следует, что запрашивается услуга одного типа («Service-Type= Exec-User»), но если запрос делается в пакетном режиме PPP, значит услуга должна быть другой((«Service-Type=Framed User» или «Framed Type=PPP»).

Когда сервер RADIUS получает от NAS запрос Access Request, он проводит поиск указанного имени пользователя в базе данных. Если в базе данных такого имени нет, то сервер загружает стандартный профиль, используемый по умолчанию, или отправляет пользователю отрицательный ответ. Этот отрицательный ответ может при необходимости сопровождаться текстом, поясняющим причины отказа. [8]

В системе RADIUS функции аутентификации и авторизации совмещены. Если имя пользователя найдено в базе данных и если пароль указан правильно, сервер RADIUS дает положительный ответ, в котором приводится список пар атрибутов для данной сессии. Типичными параметрами этого типа являются тип услуги(shell или framed), тип протокола, адрес IP, присваиваемый пользователю (статический или динамический), список объектов доступа или статический маршрут, который необходимо добавить в таблицу маршрутизации NAS. Конфигурационная информация на сервере RADIUS определяет, какие средства следует установить на машине NAS. На рисунке 4 показана процедура аутентификации и авторизации RADIUS.

Рисунок 4 – Процедура аутентификации и авторизации RADIUS

Учетные функции протокола RADIUS могут использоваться независимо от функций аутентификации и авторизации. Учетные функции RADIUS позволяют в начале и в конце каждой сессии отправлять данные о количестве ресурсов (то есть времени, пакетов, байтов и т.д.) использованных в ходе этой сессии. Провайдер услуг Интернет (ISP) может использовать программные средства контроля доступа и учета RADIUS для удовлетворения специальных требований безопасности и биллинга.

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

3.4 Описание настройки radius- сервера

Перейдем к основному описанию настройки сервера.

Сервер FreeRADIUS отличается исключительной функциональностью. Он может работать с SQL-серверами (в настоящее время поддерживаются mysql, postgresql, oracle), LDAP-сервером, содержит в себе достаточно много AV-словарей, отличается комплексной настройкой, поддерживает дополнительные модули и имеет веб-интерфейс для настройки.

FreeRADIUS использует несколько конфигурационных файлов. Основными файлами являются:

  • radiusd.conf -главный конфигурационный файл, он создается первым, в нем указываются пути к другим конфигурационным файлам, log файлы, устанавливаются различные параметры, контролируемые администратором.

  • dictionary - это файл обычно статический и его не надо изменять.

  • clients.conf -файл с описанием клиента. В нем будут перечислены все сетевые устройства, которые могут проверять пользователей на сервере и их пароли.

3.4.1 Файл radiusd.conf

Общие настройки сервера размещаются в файле radiusd.conf. Приведем несколько полезных опций. [9]

radiusd.conf

# Общая схема файлов конфигурации freeradius позволяет использовать специальную директиву $INCLUDE для включения конфигурационных файлов в данный (формат .conf)

$INCLUDE ${confdir}/proxy.conf

$INCLUDE ${confdir}/clients.conf

# Полезно будет указать пользователя и группу, под которыми будет работать сервер. Лучше, чтобы привилегий было поменьше. Если же использовать аутентификацию mysql, то выбор nobody:nobody является самым наилучшим.

user = nobody

group = nobody

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

max_request_time = 30

# Максимальное количество соединений для данного сервера получается умножением числа NAS в сети на 256. Например,

# для 4 клиентов, значение будет 4*256=1024

max_requests = 1024

# Заносить в лог данные о полном имени пользователя

log_stripped_names = yes

# Заносить ли в лог информацию о запросах на аутентификацию

log_auth = no

# Заносить ли в лог данные о переданных паролях (неправильных и правильных соответственно)

log_auth_badpass = yes

log_auth_goodpass = no

# Приводить ли к нижнему регистру все имена пользователей и пароли (весьма полезно для некоторых пользователей).

# Возможные значения: no – чувствительные к регистру пароль/имя, before – вначале приводим к нижнему регистру,

# потом проводим аутентификацию, after – вначале проверяем аутентификацию как есть, если не получилось, то приводим к нижнему регистру и повторяем попытку.

lower_user = no

lower_pass = no

# Убираем пробелы из имени пользователя и пароля. Полезно для имён и паролей, содержащих пробелы. Возможные значения аналогичны предыдущему случаю.

nospace_user = no

nospace_pass = no

# Весьма полезные параметры модуля безопасности сервера:

security {

# Максимальное число AV-пар в пакете. Если число пар больше, то пакет не обрабатывается. Если указать данный параметр равным нулю, то будут обрабатываться любые пакеты.

max_attributes = 200

# Пакет отказа доступа может быть отправлен с некоторой задержкой (в секундах). Такое поведение предотвращает применение DoS-атаки. Если же указать значение, равное нулю, то отказ будет посылаться без задержки.

reject_delay = 1

# Посылать ответ на запрос NAS о статусе сервера. Такое поведение не описано в RFC, поэтому по умолчанию – no

status_server = no

}

# Обрабатывать перенаправление запросов. Если перенаправление отключено, то необходимо отключить файл proxy.conf, чтобы избежать ошибок конфигурации (закомментировать директиву $INCLUDE ${confdir}/proxy.conf).

proxy_requests = yes

# Далее следуют описания многочисленных модулей FreeRADIUS, позволяющие настроить, к примеру, методы шифрации паролей или работу различных аутентификационных протоколов (PAP, CHAP, MS-CHAP)

3.4.2 Файл clients.conf

Настройка клиентов производится в файле clients.conf:

clients.conf

# В данном файле описываются клиенты NAS. Вначале идёт определение клиента: client имя_или_ip_адрес, затем идёт список AV-пар для данного клиента, заключённый в фигурные скобки. Приведем несколько примеров:

client 127.0.0.1 {

# Пароль для идентификации клиента и обмена с ним данными. Данным ключом также осуществляется проверка неизменности передаваемых пакетов (подпись).

secret = some_strange_secret

# Краткое имя для клиента.

shortname = localhost

client some.test.ru {

secret = some_host_secret

shortname = somenas

}

# Также можно определять пароль для всех клиентов некоторой подсети

client 192.168.0.0/24 {

secret = a_very_long_passwd

shortname = private-network

}

3.5 Назначение конфигурационных файлов

Приведем краткое назначение остальных конфигурационных файлов FreeRADIUS:

  • acct_users – содержит установки учёта (аккаунтинга). Обычно используется для задания начальных и конечных скриптов для пользователя;

  • attrs – информация об AV-парах по умолчанию для каждой области действия;

  • hints – информация о суффиксах и префиксах имён пользователей;

  • dictionary – данные об известных AV-парах;

  • proxy.conf – информация об областях;

  • sql.conf – настройки работы с MySQL;

  • users – важный файл, описывающий пользователей. Однако для работы с большим числом пользователей файл users не подойдет (он целиком помещается в память). В качестве альтернативы можно взять сервера LDAP или MySQL.

Учтем тот факт, что MySQL применяется для авторизации пользователя, парольная аутентификация осуществляется модулем, который определён в AV-паре Auth-Type. Существует много типов аутентификации, большинство из них определяют пароль из MySQL.

3.6 Типы аутентификации

К распространённым типам аутентификации относятся:

  • System – системная аутентификация (для PAP-протокола), обычно нужна запись в /etc/passwd для проверки пароля, другой вариант – использование файла users;

  • CHAP – аутентификация протокола CHAP (пароль передаётся в открытом виде);

  • Accept- разрешение доступа;

  • Reject – отклонение доступа пользователя;

  • Ms-CHAP LDAP – проверка пароля через службу каталогов LDAP.

3.7 Проверка настройки RADIUS-сервера

Для проверки сервера используется утилита radtest. Формат её использования таков:

radtest user_name password radius_server nas_port secret

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

radiusd –x. При этом все отладочные данные выводятся на терминал. В таком режиме как сервер он работать практически не может, но есть возможность понять какие файлы прочитаны и какой процесс запущен.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]