Инструменты пользователя

Инструменты сайта


radius

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

radius [2018/11/23 17:22]
radius [2020/06/13 13:46] (текущий)
Строка 1: Строка 1:
 +====== RADIUS сервер ======
  
 +{{htmlmetatags>
 +metatag-description=(RADIUS — протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах.)
 +}}
 +
 +**RADIUS** (Remote Authentication in Dial-In User Service) — протокол для реализации протокола AAA (аутентификации (Authentication), авторизации (Authorization) и сбора сведений об использованных ресурсах (Accounting)), разработанный для передачи сведений между сервером и клиентским оборудованием. Используется, например, при аутентификации пользователей [[Wi-Fi]], [[VPN]], в прошлом, dialup-подключений, и других подобных случаях. Описан в стандартах [[RFC]] 2865 и RFC 2866.
 +
 +**Протокол RADIUS согласно стандарту:**
 +  * Базируется на [[UDP]] протоколе. <file bash>
 +iptables -A INPUT -p udp -m multiport --dport 1812,1813 -j ACCEPT
 +</file>
 +  * Без состояний (stateless)
 +  * Предоставляет более 50 пар атрибут/значение с возможностью создавать специфичные для производителя пары
 +
 +Существует несколько реализация RADIUS серверов, ниже некоторые из них
 +  * Internet Authentication Service (**IAS**) встроенный в Windows Server.
 +  * [[http://freeradius.org|FreeRADIUS]]. Сборка под Windows: [[http://freeradius.net|FreeRADIUS.net]]
 +
 +====== Инсталляция FreeRADIUS ======
 +
 +  * Wi-Fi [[WPA-Enterprise]]
 +  * [[wpa-enterprise#freeradius_ubuntu_d-link_dap-1360|FreeRADIUS (Ubuntu) + D-Link DAP-1360]]
 +  * [[wpa-enterprise#freeradius_windows_10_d-link_dap-1360|FreeRADIUS (Windows 10) + D-Link DAP-1360]]
 +
 +====== FreeRADIUS в связке с MySQL ======
 +
 +Web интрефейсы для управления пользователями FreeRADIUS
 +  * [[http://www.daloradius.com|daloRADIUS]]
 +  * [[http://labs.asn.pl/ara|ARA (ASN RADIUS admin)]]
 +
 +
 +  * Инсталлируем
 +<file bash>
 +aptitude install freeradius freeradius-mysql
 +</file>
 +
 +  * Сделаем резервную копию конфигурационных файлов
 +<file bash>
 +cp -r /etc/freeradius /etc/freeradius.backup
 +</file>
 +Создадим базу данных radius, пользователя и таблицы<file bash>
 +mysql -uroot -p
 +mysql> create database radius;
 +GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'your_password';
 +mysql -uroot -p radius < /etc/freeradius/sql/mysql/schema.sql
 +mysql -uroot -p radius < /etc/freeradius/sql/mysql/nas.sql
 +</file>Создадим тестового пользователя<file sql>
 +INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('myuser', 'Password', 'mypassword');
 +</file>
 +Правим настройки [[MySQL]] для сервера radius в файле /etc/freeradius/sql.conf.<file bash>
 +database = "mysql"
 +login = "radius"
 +password = "password"
 +readclients = yes
 +</file>
 +Далее в файле /etc/freeradius/sites-enabled/default и файле inner-tunnel указываем, что сервер radius должен подключаться к MYSQL.<file bash>
 +        #  See "Authorization Queries" in sql.conf
 +        sql
 +        #  See "Accounting queries" in sql.conf
 +        sql
 +        #  See "Simultaneous Use Checking Queries" in sql.conf
 +        sql
 +        #  See "Authentication Logging Queries" in sql.conf
 +        sql
 +</file>в /etc/freeradius/radiusd.conf раскоментируем строку в секции modules, тем самым включая поддержку MYSQL в radius<file bash>
 +$INCLUDE sql.conf
 +</file>Тестируем, что получилось<file>
 +/etc/init.d/freeradius stop
 +freeradius -X
 +</file>
 +  * Тест из консоли как для внешнего устройства <file bash>
 +radtest usertest testpw 192.168.10.10 0 423966
 +Sending Access-Request of id 94 to 192.168.10.10 port 1812
 + User-Name = "usertest"
 + User-Password = "testpw"
 + NAS-IP-Address = 127.0.1.1
 + NAS-Port = 0
 + Message-Authenticator = 0x00000000000000000000000000000000
 +rad_recv: Access-Accept packet from host 192.168.10.10 port 1812, id=94, length=20
 +</file>