搭建freeradius+daloradius做爲認證服務器

1.目的背景

爲了知足設備進行3A認證,提升安全性,因此搭建一套radius服務器,並配合daloradius做爲前端展現配置。php

2.配置內容

2.1.所需系統及組件

操做系統:CentOS 7.0 x86_64 ,帶gnome桌面,配置地址爲172.31.101.1
數據庫:mariadb v5.5.56
httpd:Server version: Apache/2.4.6 (CentOS)
php: v2.4.0
FreeRADIUS 3.0
所需其餘組件
php
php-mysql
php-gd
php-pear-DB
經過yum安裝便可。html

2.2.參考文檔

freeradius安裝
http://blog.csdn.net/cluniquecui/article/details/42490423
使用daloRADIUS Web程序管理FreeRADIUS服務
http://wzlinux.blog.51cto.com/8021085/1736744前端

3.freeredius安裝

3.1.安裝FreeRADIUS 3.0 服務器程序

yum install freeradiusmysql

3.2.安裝FreeRADIUS工具包(freeradius-utils)

yum install freeradius-utilslinux

3.3.FreeRADIUS 3.0的測試

3.3.1.修改用戶管理配置文件

該文件是/etc/raddb/users,使用vi工具打開,命令以下:
vi /etc/raddb/users
打開文件後,查找 steve Cleartext-Password :="testing" (76-84行), 取消該段內容的註釋。sql

3.3.2.關閉防火牆及selinux

Systemctl stop firewall
Systemctl disable firewall
setenforce 0

3.3.3.以調試方式啓動freeradius

radiusd –X數據庫

3.3.4.使用測試工具測試

再打開一個新的終端,以root身份登陸,執行以下命令:
radtest steve testing localhost 0 testing123
搭建freeradius+daloradius做爲認證服務器
正常開啓radius服務器的以下圖所示:
搭建freeradius+daloradius做爲認證服務器vim

3.4.MariaDB的安裝

默認狀況下,CengOS 7.0已經安裝了mariadb,版本爲5.5.35。若是想安裝最新版的Mariadb,裝方法與FreeRADIUS相似,執行以下命令,系統會升級到最新版本:
yum intsall mariadb瀏覽器

3.5.FreeRADIUS與MariaDB的對接

3.5.1.安裝freeradius-mysql組件

yum install freeradius-mysql安全

3.5.2.激活和啓動mariadb服務

默認狀況下,mariadb並無被激活,使用以下命令激活服務:
systemctl enable mariadb
而後,使用以下命令,啓動mariadb:
systemctl start mariadb
使用以下命令,查詢mariadb服務的狀態:
systemctl status mariadb

3.5.3.建立數據庫

命令以下:
mysql -u root –p
要求輸入密碼時,直接回車便可。

mysql>create database radius;
mysql>grant all on radius.* to radius@localhost identified by "radpass"; 
mysql>exit;

3.5.4.導入表結構

命令以下:

mysql -u root radius < /etc/raddb/mods-config/sql/main/mysql/scheama.sql

上面的指令,共導入了7個表,分別是:
radcheck 用戶檢查信息表
radreply 用戶回覆信息表
radgroupcheck 用戶組檢查信息表
radgroupreply 用戶組檢查信息表
radusergroup 用戶和組關係表
radacct 計費狀況表
radpostauth 認證後處理信息,能夠包括認證請求成功和拒絕的記錄。

  1. 創建組信息:(在此新建組名稱爲user)
    insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local'); 
    insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type',':=','Framed-User'); 
    insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Address',':=','255.255.255.255'); 
    insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');
  2. 創建用戶信息:(在此新建用戶名爲test,密碼爲testpwd)
    insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');

  3. 將用戶加入組中:
    insert into radusergroup (username,groupname) values ('test','user');

3.5.6.修改 FreeRADIUS中的mysql 認證配置

執行以下命令:

cd /etc/raddb/mods-enabled
ln -s ../mods-available/sql

3.5.7.修改 FreeRADIUS中的mysql 配置文件

該配置文件位於/etc/raddb/mods-available目錄,名稱爲sql
能夠經過vi來修改,命令以下:
vi /etc/raddb/mods-available/sql
找到driver = 「rlm_sql_null」這一行,修改成driver = 「rlm_sql_mysql」。保持並退出。

3.5.8.測試經過數據庫作用戶認證

  1. 從新以調試方式運行freeradius:
    radiusd -X
  2. 再打開一個新的終端,運行測試工具命令:
    radtest test testpwd localhost 1812 testing123
    完畢。

    4.daloRADIUS部署

    4.1.軟件下載

    Wget http://nchc.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz
    #解壓
    tar xf daloradius-0.9-9.tar.gz 
    cd daloradius-0.9-9
    #查看安裝說明
    more INSTALL

    4.2.解決依賴

    在INSTALL中咱們能夠看到程序的需求,須要知足這些需求,不然不能正常運行。
    Apache 1/2
    PHP 4/5
    PHP GD
    PHP DB Abstraction Layer (may require PHP Pear)
    PHP Mail
    MySQL 4/5
    #安裝httpd
    yum install httpd -y
    #安裝php及組件
    yum install php php-mysql php-gd -y
    #安裝
    yum install php-pear-DB -y
    #轉移php文件
    cp -a daloradius-0.9-9 /var/www/html/daloradius

    4.3.導入數據庫

    cd /var/www/html/daloradius/contrib/db
    mysql -uradius -pradpass radius < ./mysql-daloradius.sql

    4.4.設置數據庫鏈接

    具體操做咱們也是查看INSTALL文檔。

    cd /var/www/html/daloradius/library
    vim daloradius.conf.php

    #具體根據本身的參數設定

    $configValues['CONFIG_DB_HOST'] = 'localhost';
    $configValues['CONFIG_DB_PORT'] = '3306';
    $configValues['CONFIG_DB_USER'] = 'radius';
    $configValues['CONFIG_DB_PASS'] = 'radpass';
    $configValues['CONFIG_DB_NAME'] = 'radius';
    …………

    #這個路徑和程序放置路徑有關係

$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/html/daloradius/var';

4.5. 使用daloRADIUS

具體的主機配置我這裏再也不介紹,啓動Web服務,找一個瀏覽器輸入:http://yourip/daloradius
從INSTALL文檔中能夠看到,第一次登陸的用戶是administrator,密碼是radius。若是生產環境使用的話必定要修改如下密碼,這個用戶的信息在表operators裏面。
搭建freeradius+daloradius做爲認證服務器

5.安裝中出現的問題及解決方法

在安裝freeradius和mariaDB的時候基本上沒有問題,可是在安裝daloradius的時候,出現了不少問題,問題主要集中在httpd服務器和php配置上。

5.1.登陸daloRADIUS提示沒有url

首頁業務空白,是因爲文件存放路徑問題形成,必定要放在/var/www/html/下才可。

5.2.登陸daloRADIUS出現403 forbbien

提示:「you have no pessmion to access.......」
是因爲沒有關閉selinux

5.3.登陸成功後出現空白頁

安裝pear和pear db便可解決問題

yum install php-pear
 pear install db

注意,在安裝db的時候會提示某個包的安裝版本不夠,須要使用pear install PEAR更新後能夠繼續安裝DB

5.4.沒法讀取日誌

在日誌或其餘配置界面,提示沒有權限讀寫文件
/var/www/html/daloradius/library/daloradius.conf.php
須要賦予較高權限,使用以下命令解決
chmod 777 /var/www/html/daloradius/library/daloradius.conf.

5.5.daloradius安裝

在daloradius-0.9-9的文件夾中有個」INSTALL」文件,使用文本打開後能夠看到大部分安裝提示和操做指引。

相關文章
相關標籤/搜索