Храним учетные записи VPN в связке RADIUS/MySQL::Журнал СА 4.2008
www.samag.ru
Журнал «БИТ. Бизнес&Информационные технологии»      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

 Храним учетные записи VPN в связке RADIUS/MySQL

Архив номеров / 2008 / Выпуск №4 (65) / Храним учетные записи VPN в связке RADIUS/MySQL

Рубрика: Безопасность /  Безопасность

Виталий Банковский

Храним учетные записи VPN в связке RADIUS/MySQL

В современном мире, полном опасностей в виде хакерских атак, значимость и популярность виртуальных частных сетей (Virtual Pivate Networks, VPN) постоянно растет. Сегодня рассмотрим один из аспектов интеграции устройств доступа к VPN в корпоративную сеть.

Структура и используемые компоненты

В качестве сервера VPN я использовал одно из наиболее популярных решений от компании Cisco, Inc. – Cisco VPN 506E. Учитывая традиции и стандарты, которых придерживается эта компания, другие продукты (Cisco VPN concetrator 3000, Cisco ASA) настраиваются аналогичным образом.

В качестве сервера авторизации для Cisco VPN Server я использовал RADIUS с поддержкой хранения учетных записей в сервере данных MySQL.

Предположим, что сервер MySQL у нас будет находиться по адресу 10.10.10.10, сервер RADIUS – 10.10.10.11, а адрес 10.10.10.12 присвоен серверу VPN.

Настройка базы данных

Приступим к созданию базы данных для хранения учетных записей. Запись для каждого пользователя состоит из имени пользователя и зашифрованного пароля.

Создаем базу данных:

mysql> create database vpn;

mysql> grant all on vpn.* to vpn@'10.10.10.11' identified by 'PASSW905';

mysql> flush privileges;

где «PASSW905» – пароль доступа к базе данных. Этот же пароль прописывается в настройках сервера RADIUS для обеспечения доступа последнего к таблицам с учетными записями.

Создаем таблицу для хранения учетных записей пользователей:

create table users (

username varchar(32),

password varchar(64),

contact varchar(80),

role varchar(80),

unique key username (username)

);

Кроме имени пользователя и пароля, я храню контактную информацию и роль пользователя.

И вносим несколько учетных записей:

mysql> insert into users(username,password) values('user1', encrypt('pass1'));

mysql> insert into users(username,password) values('user2', encrypt('pass2'));

где «pass1» и «pass2» – пароли учетных записей пользователей.

Выбор сервера RADIUS

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

Немного о службе. RADIUS (Remote Authentication in Dial-In User Service) – протокол AAA (authentication, authorization и accounting) – изначально был разработан для совместной работы серверов доступа (NAS, Network Access Server) и систем авторизации и биллинга.

  • Authentication – процесс, позволяющий идентифицировать (узнать) субъект по его данным, например, по имени пользователя и паролю.
  • Authorization – процесс, определяющий полномочия идентифицированного субъекта на доступ к определенным объектам или сервисам.
  • Accounting – процесс, позволяющий вести учет доступа к услугам.

Наиболее популярными на данный момент серверами RADIUS являются:

  • FreeRADIUS;
  • OpenRADIUS;
  • GNU RADIUS;
  • ClearBox Enterprise RADIUS Server.

В мире существует много других серверов RADIUS. С наиболее полным списком можно ознакомиться по адресу – http://en.wikipedia.org/wiki/List_of_RADIUS_Servers.

Я выбрал GNU RADIUS как простой и легко устанавливаемый сервер. Домашняя страничка проекта находится по адресу – http://www.gnu.org/software/radius/radius.html.

Установка и настройка сервера RADIUS

В своей работе я использую CentOS 4.x семейства RedHat, поэтому все настройки и пути размещения будут описаны для этого семейства дистрибутивов. Я использовал установку сервера RADIUS из исходных кодов, так как такой способ позволяет оперативно устанавливать последние версии в случае обнаружения проблем с безопасностью в пакете без ожидания обновлений от поставщика дистрибутива.

Получаем исходные коды сервера, распаковываем и устанавливаем:

tar -xzvf radius-1.5.tar.gz

cd radius-1.5

./configure –with-mysql

make

make install

Конфигурационные файлы будут установлены в каталог /usr/local/etc/raddb/.

Настройки по умолчанию не требуют больших изменений, за исключением настройки доступа к серверу MySQL и авторизации сервера VPN к службе RADIUS. Ниже приведены основные параметры, которые должны быть изменены.

Файл /usr/local/etc/raddb/sqlserver:

# Тип сервера

interface mysql

# Параметры сервера MySQL

server 10.10.10.10

port 3306

login vpn

password PASSW905

# Включить авторизацию MySQL

doauth yes

# Имя базы данных, где находится таблица «users»

auth_db vpn

# Запрос SQL, который используется для проверки аккредитации пользователя:

auth_query SELECT password FROM users WHERE username='%u'

Далее настраиваем подключение сервера VPN к серверу RADIUS. Для этого открываем файл /usr/local/etc/raddb/clients и вписываем следующую строку (или несколько в случае нескольких устройств):

#Client Name Key

#---------------- -------------------

10.10.10.12 our_password_key

 где:

  • 10.10.10.12 – адрес IP нашего VPN-сервера;
  • our_password_key – пароль.

Далее необходимо создать файл начального запуска службы RADIUS при старте сервера и включить его в процесс загрузки. Для этого создаем файл /etc/init.d/raddb со следующим содержимым:

#!/bin/sh

# chkconfig: 2345 55 25

# description: radius server

PREFIX=/usr/local

OPTS=

test -x /usr/local/sbin/radiusd || exit 0
 
case "$1" in

    start)

        echo -n "Starting: radius"

                /usr/local/sbin/radiusd

        echo "."

    ;;

    stop)

        echo -n "Stopping service: radius"

                killall radiusd

        echo "."

    ;;

    restart)

        $0 stop

        sleep 2

        $0 start

    ;;
    *)

        echo "Usage: /etc/init.d/radius ?

           {start|stop|restart}" >&2

        exit 1

    ;;

esac

exit 0

Включаем запуск сервера RADIUS в процесс загрузки сервера:

chkconfig raddb on

Настройка сервера VPN

В этом разделе я расскажу, как настроить устройство доступа к VPN Cisco PIX-506E для работы с сервером RADIUS. Для других концентраторов этого семейства настройка производится аналогично:

aaa-server RADIUS protocol radius

aaa-server RADIUS max-failed-attempts 3

aaa-server RADIUS deadtime 10

aaa-server RADIUS (inside) host 10.10.10.11 our_password_key timeout 5

Последняя строка содержит адрес сервера VPN и пароль-ключ для доступа, который был прописан в /usr/local/etc/raddb/clients.

Заключение

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

  1. http://cisco.com/en/US/products/hw/vpndevc/index.html.
  2. http://www.gnu.org/software/radius/radius.html.
  3. http://en.wikipedia.org/wiki/List_of_RADIUS_Servers.
  4. http://en.wikipedia.org/wiki/RADIUS.

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

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

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

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

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