Linux上构建freeradius

文章转载自:百度空间

RADIUS服务器软件可以从多个地方获得。使用FreeRADIUS(请参阅参考资料获得相关链接),FreeRADIUS是来自开放源码社区的一种强大的Linux上的RADIUS服务器,可用于如今的分布式和异构计算环境。FreeRADIUS 1.0.2 支持LDAP、MySQL、PostgreSQL和Oracle数据库,并与诸如EAP和Cisco LEAP之类的网络协议兼容。FreeRADIUS目前被部署在很多大型生产网络系统中。

下面的步骤演示如何在Red Hat Enterprise Linux Advanced Server 3.0上安装和测试FreeRADIUS 1.0.2:

清单1 安装和测试FreeRADIUS

tar -zxvf freeradius-1.0.2.tar.gz - extract it with gunzip and tar./configuremakemake install - run this command as rootradiusd or - start RADIUS serverradiusd -X - start RADIUS server in debug moderadtest test test localhost 0 testing123 - test RADIUS server 

如果radtest收到一个响应,则表明FreeRADIUS服务器工作正常。

配置FreeRADIUS

RADIUS服务器的配置包括对服务器、客户机和用户的配置(都是用于验证和授权)。出于不同的需要,对RADIUS服务器可以有不同的配置。幸运的是,大多数配置都是类似的。

* 配置服务器

FreeRADIUS配置文件通常位于/etc/raddb文件夹下。首先,我们需要像下面这样修改radiusd.conf文件。

清单2 修改radiusd.conf

1) Global settings:log_auth = yes - log authentication requests to the log filelog_auth_badpass = no - don't log passwords if request rejectedlog_auth_goodpass = no - don't log passwords if request accepted2) LDAP Settings:modules { ldap { server = "bluepages.ibm.com" - the hostname or IP address of the LDAP server port = 636 - encrypted communications basedn = "ou=bluepages,o=ibm.com" - define the base Distinguished Names (DN), - under the Organization (O) "ibm.com", - in the Organization Unit (OU) "bluepages" filter = "(mail=%u)" - specify search criteria base_filter = "(objectclass=person)" - specify base search criteria }authenticate { - enable authentication against LDAP Auth-Type LDAP { ldap } 

参数被设为使用 IBM BluePages,这是LDAP服务的一个实例。对于其他LDAP服务器,参数可能有所不同。

* 配置客户机

客户机是在/etc/raddb/clients.conf 文件中配置的。有两种方式可用于配置RADIUS客户机。您可以按IP subnet将NAS分组(清单 3),或者可以按主机名或 IP 地址列出NAS(清单4)。如果按照第二种方法,可以定义shortname和nastype。

清单3 按IP subnet将NAS分组

client 192.168.0.0/24 { secret = mysecret1 - the "secret" should be the same as configured on NAS shortname = mylan - the "shortname" can be used for logging nastype = cisco - the "nastype" is used for checkrad and is optional} 

清单4 按主机名或 IP 地址列出 NAS

client 192.168.0.1 { secret = mysecret1 shortname = myserver nastype = other} 

* 为验证而配置用户

文件 /etc/raddb/user 包含每个用户的验证和配置信息。

清单5 /etc/raddb/user 文件

1) Authentication type:Auth-Type := LDAP - authenticate against LDAPAuth-Type := Local, User-Password == "mypasswd" - authenticate against the - password set in /etc/raddb/userAuth-Type := System - authenticate against the system password file - /etc/passwd or /etc/shadow2) Service type:Service-Type = Login, - for administrative login 

* 为授权而配置用户

下面的验证服务器属性-值对(AV)应该为用户授权而进行配置。在验证被接受后,这个属性-值对被返回给NAS,作为对管理员登录请求的响应。

对于Cisco路由器,有不同的权限级别:

级别1是无特权(non-privileged)。提示符是 router>,这是用于登录的默认级别。

级别15是特权(privileged)。 提示符是 router#,这是进入 enable 模式后的级别。

级别2到14 在默认配置中不使用。

下面的命令可以使一个用户从网络访问服务器登录,并获得对EXEC命令的立即访问:

cisco-avpair ="shell:priv-lvl=15" 

下面的代码处理相同的任务,这一次是对于Cisco无线访问点:

Cisco:Avpair= "aironet:admin-capability=write+snmp+ident+firmware+admin" 

任何功能组合都和这个属性一起返回:

Cisco:Avpair = "aironet:admin-capability=ident+admin"

Cisco:Avpair = "aironet:admin-capability=admin" 

请与 Cisco 联系,以获得关于这些命令的更多信息。

配置网络访问服务器

接下来我们将配置NAS,首先是配置一个Cisco路由器,然后轮到一个Cisco WAP。

对于Cisco IOS 12.1路由器,我们将启用AAA,然后配置验证、授权和记帐。

清单6 启用AAA

aaa new-modelradius-server host 192.168.0.100radius-server key mysecret1 

AAA 在路由器上应该被启用。然后,指定能为 NAS 提供 AAA 服务的 RADIUS 服务器的列表。加密密钥用于加密 NAS 和 RADIUS 服务器之间的数据传输。它必须与 FreeRADIUS 上配置的一样。

清单7 配置验证

aaa authentication login default group radius localline vty 0 4login authentication default 

在这个例子中,网络管理员使用 RADIUS 验证。如果 RADIUS 服务器不可用,则使用 NAS 的本地用户数据库密码。

清单8 配置授权

aaa authorization exec default group radius if-authenticated 

允许用户在登录到 NAS 中时运行 EXEC shell。

清单9 配置记帐

aaa accounting system default start-stop group radiusaaa accounting network default start-stop group radiusaaa accounting connection default start-stop group radiusaaa accounting exec default stop-only group radiusaaa accounting commands 1 default stop-only group radiusaaa accounting commands 15 default wait-start group radius 

必须对路由器进行特别的配置,以使之发送记帐记录到RADIUS服务器。使用清单9中的命令记录关于NAS系统事件、网络连接、输出连接、EXEC操作以及级别1和级别15上的命令的记帐信息。

这样就好了。现在让我们看看为Cisco无线访问点而进行的配置。下面的配置适用于带有Firmware 12.01T1的Cisco 1200 Series AP。如图2中的屏幕快照所示,您:

* 输入服务器名或 IP 地址和共享的秘密。

* 选择“Radius”作为类型,并选中“User Authentication”。



实际上,在这里您还可以配置EAP Authentication,使FreeRADIUS可用于验证无线LAN的一般用户。
记帐:工作中的RADIUS

现在所有配置都已经完成,FreeRADIUS服务器可以开始记录NAS发送的所有信息,将该信息存储在/var/log/radius/radius.log文件中,就像这样:

清单10 /var/log/radius/radius.log文件

Thu Mar 3 21:37:32 2005 : Auth: Login OK: [David] (from client mylan port 1 cli 192.168.0.94)Mon Mar 7 23:39:53 2005 : Auth: Login incorrect: [John] (from client mylan port 1 cli 192.168.0.94) 

详细的记帐信息被存放在/var/log/radius/radacct目录中。清单11表明,David在2005年3月4日19:40到19:51这段时间里从 192.168.0.94登录到了路由器192.168.0.1。这么详细的信息对于正在调查安全事故以及试图维护易于审计的记录的管理员来说无疑是一大帮助。

清单11 RADIUS 提供的记帐细节示例

Fri Mar 4 19:40:12 2005 NAS-IP-Address = 192.168.0.1 NAS-Port = 1 NAS-Port-Type = Virtual User-Name = "David" Calling-Station-Id = "192.168.0.94" Acct-Status-Type = Start Acct-Authentic = RADIUS Service-Type = NAS-Prompt-User Acct-Session-Id = "00000026" Acct-Delay-Time = 0 Client-IP-Address = 192.168.0.1 Acct-Unique-Session-Id = "913029a52dacb116" Timestamp = 1109936412Fri Mar 4 19:51:17 2005 NAS-IP-Address = 192.168.0.1 NAS-Port = 1 NAS-Port-Type = Virtual User-Name = "David" Calling-Station-Id = "192.168.0.94" Acct-Status-Type = Stop Acct-Authentic = RADIUS Service-Type = NAS-Prompt-User Acct-Session-Id = "00000026" Acct-Terminate-Cause = Idle-Timeout Acct-Session-Time = 665 Acct-Delay-Time = 0 Client-IP-Address = 192.168.0.1 Acct-Unique-Session-Id = "913029a52dacb116" Timestamp = 1109937077 

结束语

通过遵循本文中列出的简单步骤,您可以建立一个Remote Authentication Dial-In User Service服务器,该服务器使用一个外部的LDAP服务器来处理为网络安全问题而进行的验证、授权和记帐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值