安全性
无线网络使用非常方便,但方便之余还要考虑安全性的问题。
首先是传输的安全线,WEP方式现在已经是不安全的了,容易被黑客破解密钥,监听通讯数据,所以现在以WPA及其衍生方式为主。
取消SSID自动播放功能也是一个好的习惯,所有无线局域网都有一个缺省的SSID(服务标识符)或网络名。如果企业具有网络管理能力,应该定期更改SSID;或者取消SSID自动播放功能。
然后就是接入的安全性了,即通过认证的用户才允许使用网络,除了网络设备自身具备的MAC绑定、ACL等功能之外,还可以选择RADIUS来进行认证,甚至完成计费等其他任务。
RADIUS的全称为Remote Authentication Dial-In User Service,是一种 能够让服务器验证各种接入用户身份的协议(基于udp),RADIUS可以对用户身份进行集中管理,安全性更好,策略也更灵活,同时还可以记录用户的网络 使用情况用于网管分析或者计费,已经成为比较常用的工业标准。在使用中,路由器、交换机等设备在需要验证用户身份的时候,向RADIUS服务器发送请求, RADIUS服务器则返回用户的相关信息,交给路由器、交换机等设备处理。
提供RADIUS服务的软件,windows下可以选IAS(Internet Authentication Service/Internet验证服务),Linux下则是FreeRADIUS,另外还有Cisco的ACS(听起来像是基于硬件设备的?)等等。
在本文中,我们将架设一个RADIUS服务器,并采用用户名、口令的方式验证无线上网用户。服务器为Ubuntu Gutsy 7.10。
安装radius
$ sudo aptitude install freeradius freeradius-dialupadmin freeradius-mysql
Setting up freeradius (1.1.3-3ubuntu1) ...
Adding group `freerad' (GID 120) ...
Done.
Adding system user `freerad' (UID 112) ...
Adding new user `freerad' (UID 112) with group `freerad' ...
Not creating home directory `/etc/freeradius'.
Adding user `freerad' to group `shadow' ...
Done.
* Starting FreeRADIUS daemon freeradius Wed Nov 7 11:35:36 2007 : Info: Starting - reading configuration files ...
[ OK ]
Setting up freeradius-dialupadmin (1.1.3-3ubuntu1) ...
Setting up freeradius-mysql (1.1.3-3ubuntu1) ...
* Reloading configuration files for FreeRADIUS daemon... * HUP sent... [ OK ]
现在安装是完成了,但用这种方式配置下去,最终用winxp客户端登录的时候,会提示没有用户密码的失败请求,即使你输入了正确的用户名/密码:
Login incorrect: [t/<no User-Password attribute>] (from client home_wlan port 1 cli 00-16-6F-6C-53-2C)
或者在启动服务器时看见这样的错误:
rlm_eap: Failed to link EAP-Type/tls: rlm_eap_tls.so: cannot open shared object file: No such file or directory
这并不是因为是使用了PEAP、EAP-MSCHAPv2协议,AP没有发送密码明文,而是RADIUS服务器端没有打开tls, ttls, peap模块,或者打开了但没有生效,再深层次的原因就是大概因为版权或协议问题,debian中的freeradius没有把openssl编译进去, 用户若想使用,只能手工下载源码编译。参见(一、二、三)
简言之,还得从freeradius官网下载最新版源码再编译安装一遍,过程倒也不复杂:
tar zxvf freeradius-1.1.7.tar.gz
cd freeradius-1.1.7/
dpkg-buildpackage -rfakeroot
# 提示缺少什么包,就装上什么包
dpkg -i freeradius_1.1.7-0_i386.deb freeradius-mysql_1.1.7-0_i386.deb
另外说明,是否能够直接编译安装,跳过apt安装我没有试验过,主要是怕证书文件和用户、组什么的不能准备好。
配置radius
修改配置文件:/etc/freeradius/radiusd.conf(注意如果在文件末尾修改的话,后面的值不会覆盖前面的值,所以要直接在原位置上修改),先打开几个log选项:
log_auth = yes
log_auth_badpass = yes
log_auth_goodpass = yes
适当延长发送认证失败消息之前的暂停秒数,防止暴破,默认为1秒。
reject_delay = 5
把authorize、accounting、session、post-auth几个部分中sql一句前的注释取消掉,启用mysql认证。
更改clients.conf,设置允许使用radius服务的设备,一般是AP的地址,secret是AP连接radius的密码,比如:
client 192.168.0.0/24 {
secret = some_pass
shortname = wlan
nastype = other
}
把eap.conf中的tls, ttls, peap三段的注释全部取消,这是启用peap的关键,也是上面手工编译安装的目的。
还有文档说使用mysql认证的情况下,需要注释掉users文件中的如下内容:
DEFAULT Auth-Type = System
Fall-Through = 1
个人理解如果不这样的话,由于sql认证的顺序排在后面,所以前面的认证失败之后就去验证system的用户账号去了,mysql认证实际等于是没起到作用,但我没修改这个文件,也能够正常使用。
更改sql.conf,设置与mysql相关的信息:
server = "localhost"
login = "mysql_user"
password = "mysql_pass"
现在重启freeradius服务,应该就可以正常服务了,可以简单测试一下(test/test是错误的用户名/密码,testing123是默认在clients.conf中定义的本机用户的secret):
# radtest test test localhost 0 testing123
Sending Access-Request of id 5 to 127.0.0.1 port 1812
User-Name = "test"
User-Password = "test"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
Re-sending Access-Request of id 5 to 127.0.0.1 port 1812
User-Name = "test"
User-Password = "test"
NAS-IP-Address = 255.255.255.255
NAS-Port = 0
rad_recv: Access-Reject packet from host 127.0.0.1:1812, id=5, length=20
可以看到服务器接受到了请求,并返回了用户/密码=test/test的reject信息。
现在来准备mysql,先建库和用户:
$ mysql -u root -p
mysql> set names 'utf8';
mysql> show variables where variable_name like '%character_set%';
mysql> create database radius;
mysql> CREATE USER 'radius'@'localhost' IDENTIFIED BY '**********';
mysql> GRANT USAGE ON * . * TO 'radius'@'localhost' IDENTIFIED BY '**********' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
mysql> GRANT ALL PRIVILEGES ON `radius` . * TO 'radius'@'localhost';
然后创建radius相关的表和初始数据,表结构可以从Freeradius官网下载,本机也有一份/usr/share/doc/freeradius/examples/mysql.sql.gz,解压就行。表结构创建好之后,就可以创建使用者账号了,默认是存储在radcheck表中的,可以使用这样的sql语句:
insert into radcheck (username,attribute,op,value) values ('user1','Password','==','password1');
其中参数attribute对应的值Password用User-Password也行,op对应的值用:=也行。
AP端设置
我使用的AP为H3C Aolynk WAP500ag,关闭a网,只开g网,主要设置为:
Secrity Mode: WPA
Clipher Type: AES(比TKIP方式更加安全)
RADIUS Server IP/Secret: RADIUS服务器所在的ip以及`clients.conf`中设置的对应`secret`。
Access Control: Disable
客户端设置
aolynk WUB320g
认证方法:WPA,加密设置:AES,在802.1x验证中,设置验证方式为PEAP,验证ID好像无用,但不让置空(查看mysql中的记录,好 像是登录成功后所显示的user名,依然用处不大),不使用Client证书,Tunnel协议为EAP-MSCHAP v2,ID和密码为RADIUS设置(存储在mysql中)的用户名/密码,如图:
迅驰笔记本
我用的这台笔记本上,Inter PROSet/Wireless 9.0.1.4(1999-2005)好像版本太旧,不支持我所设置的验证方式,在配置式里面能够设定“网络验证=WPA-企业、数据加密=AES- CCMP、验证类型=PEAP、身份验证协议=MS-CHAP-V2、用户身份凭证=用户名+密码”,但连接上之后提示“未知的验证状态”,无法传输数 据,然后过一会儿被断开连接,所以只能使用winxp的网络连接设置。
WinXP的设置:无线网络连接属性->无线网络配置Tab页->首选网络(属性)->关联Tab页,网络验证:WPA,数据加 密:AES,然后在“关联”Tab页,EAP类型:受保护的EAP(PEAP),在属性中,不选“验证服务器证书”,选择“启用快速重新连接”,验证方 法:安全密码(EAP-MSCHAP v2),并在“配置”中不选择“自动使用windows登录名和密码”。写的迷糊吧,还是看图好了:
登录的时候,如果验证失败,就会提示用户点状态栏上的小图标,更换其他凭证,其实就是输入新的用户名/密码。
这种方式会自动记录下成功的用户名和密码,没有取消自动记录的选项,不过我在上海交大无线网-使用802.1x认证时注意密码泄漏问题中找到一个注册表文件,可以清空密码,其实内容也是非常的简单:
REGEDIT4
[-HKEY_CURRENT_USER\Software\Microsoft\Eapol\UserEapInfo]
上海交通大学网络中心 无线网还有一些无线网络使用方面的资料,非常值得参考。
连接成功,服务器上的log,供参考
rad_recv: Access-Request packet from host 192.168.0.201:1168, id=9, length=227
Message-Authenticator = 0xd183f5b181b63e0d6a8f4e73f39af43b
Service-Type = Framed-User
User-Name = "t"
Framed-MTU = 1488
State = 0x8e35307b622be9576b22872d13e0814b
Called-Station-Id = "00-0F-E2-51-41-70:WAP500g_1"
Calling-Station-Id = "00-16-6F-6C-53-2C"
NAS-Identifier = "wap500ag_1"
NAS-Port-Type = Wireless-802.11
Connect-Info = "CONNECT 54Mbps 802.11g"
EAP-Message = 0x020900261900170301001b307b40587df20edfbd63f7bbfe1b56600d799d610ba835f3e1f8f3
NAS-IP-Address = 192.168.0.201
NAS-Port = 1
NAS-Port-Id = "STA port # 1"
Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 29
modcall[authorize]: module "preprocess" returns ok for request 29
modcall[authorize]: module "chap" returns noop for request 29
modcall[authorize]: module "mschap" returns noop for request 29
rlm_realm: No '@' in User-Name = "t", looking up realm NULL
rlm_realm: No such realm "NULL"
modcall[authorize]: module "suffix" returns noop for request 29
rlm_eap: EAP packet type response id 9 length 38
rlm_eap: No EAP Start, assuming it's an on-going EAP conversation
modcall[authorize]: module "eap" returns updated for request 29
users: Matched entry DEFAULT at line 153
users: Matched entry DEFAULT at line 172
modcall[authorize]: module "files" returns ok for request 29
radius_xlat: 't'
rlm_sql (sql): sql_set_user escaped user --> 't'
radius_xlat: 'SELECT id, UserName, Attribute, Value, op FROM radcheck WHERE Username = 't' ORDER BY id'
rlm_sql (sql): Reserving sql socket id: 1
radius_xlat: 'SELECT radgroupcheck.id,radgroupcheck.GroupName,radgroupcheck.Attribute,radgroupcheck.Value,radgroupcheck.op FROM radgroupcheck,usergroup WHERE usergroup.Username = 't' AND usergroup.GroupName = radgroupcheck.GroupName ORDER BY radgroupcheck.id'
radius_xlat: 'SELECT id, UserName, Attribute, Value, op FROM radreply WHERE Username = 't' ORDER BY id'
radius_xlat: 'SELECT radgroupreply.id,radgroupreply.GroupName,radgroupreply.Attribute,radgroupreply.Value,radgroupreply.op FROM radgroupreply,usergroup WHERE usergroup.Username = 't' AND usergroup.GroupName = radgroupreply.GroupName ORDER BY radgroupreply.id'
rlm_sql (sql): Released sql socket id: 1
modcall[authorize]: module "sql" returns ok for request 29
rlm_pap: Found existing Auth-Type, not changing it.
modcall[authorize]: module "pap" returns noop for request 29
modcall: leaving group authorize (returns updated) for request 29
rad_check_password: Found Auth-Type EAP
auth: type "EAP"
Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 29
rlm_eap: Request found, released from the list
rlm_eap: EAP/peap
rlm_eap: processing type peap
rlm_eap_peap: Authenticate
rlm_eap_tls: processing TLS
eaptls_verify returned 7
rlm_eap_tls: Done initial handshake
eaptls_process returned 7
rlm_eap_peap: EAPTLS_OK
rlm_eap_peap: Session established. Decoding tunneled attributes.
rlm_eap_peap: Received EAP-TLV response.
rlm_eap_peap: Tunneled data is valid.
rlm_eap_peap: Success
rlm_eap: Freeing handler
modcall[authenticate]: module "eap" returns ok for request 29
modcall: leaving group authenticate (returns ok) for request 29
Login OK: [t/<no User-Password attribute>] (from client hbzbb_wlan port 1 cli 00-16-6F-6C-53-2C)
Processing the post-auth section of radiusd.conf
modcall: entering group post-auth for request 29
rlm_sql (sql): Processing sql_postauth
radius_xlat: 't'
rlm_sql (sql): sql_set_user escaped user --> 't'
radius_xlat: 'INSERT into radpostauth (user, pass, reply, date) values ('t', 'Chap-Password', 'Access-Accept', NOW())'
rlm_sql (sql) in sql_postauth: query is INSERT into radpostauth (user, pass, reply, date) values ('t', 'Chap-Password', 'Access-Accept', NOW())
rlm_sql (sql): Reserving sql socket id: 0
rlm_sql (sql): Released sql socket id: 0
modcall[post-auth]: module "sql" returns ok for request 29
modcall: leaving group post-auth (returns ok) for request 29
Sending Access-Accept of id 9 to 192.168.0.201 port 1168
Framed-IP-Address = 255.255.255.254
Framed-MTU = 576
Service-Type = Framed-User
MS-MPPE-Recv-Key = 0x578ab49877c333d5c8c93124e9d76c463a0abc2facc7ae25347a0d97490b6869
MS-MPPE-Send-Key = 0x019b5f44bb5dcb0b2c8f2af449215f548af6c63a8ecb692e79342d60a2131d08
EAP-Message = 0x03090004
Message-Authenticator = 0x00000000000000000000000000000000
User-Name = "t"
Finished request 29
其余未解决的问题
- 使用dialupadmin管理账号等
- 实现用户的MAC地址绑定

RIP简介
神秘的网络尖兵(本帖转于www.91xi













首先,请先下载 WinRadius 进行试用。WinRadius 非常容易使用,相信您可以很快就会成功的。
如果通过试用,您觉得 WinRadius 符合您的需求,请通过在线购买来购买我们的产品。
最后,我们在确认您的款项到帐后,会立即通过 email 把相应许可证号(以及相应用户数版本的软件)发送给您。
注意:请在“帮助/关于WinRadius ”下查询您的计算机编号。
比较优势:
更低的拥有成本:WinRadius 可以在一般 PC、服务器上运行,无需特殊硬件平台;同时 WinRadius 的定价也是业界同类商用产品中最低的。
更低的运营成本:采用 Windows 平台,可以减少培训费;同时简便的操作方式可以减少故障。
更高的安全性:所有通讯都是用密钥进行加密的,具有很高的安全性。
更强的伸缩性:可以有偿自由定制各种认证方式、计费方式、打印功能、接入设备等,以适应用户的特殊需求。
为什么相信我们产品是稳定可靠的?
首先,你可以通过试用来感受一下我们产品的稳定性,已经验证我们的产品在连续运行几个月都是没有任何故障的。从设计上我们保证它可以长期稳定运行,这需要时间来验证。
其次,我们提供在线的系统支持服务,针对你的任何问题提供解答。
最后,全世界已经有超过 5000 个用户在使用 WinRadius,它的稳定性已经被广泛认同。
怎样获得技术支持?
我们的产品已经内置了技术支持功能,那就是系统的详细 Log,该 Log 详细记录了您系统的运行状态。您只需把保存的详细 Log 发送给我们,我们就可以诊断您系统出现的问题,对您的 NAS 进行客户化定制。
如果您购买我们的产品,我们提供 3 年的技术支持。
WinRadius的价格是怎样确定的?
WinRadius破解版的价格非常便宜,稳定性能与官方的一样!
WinRadius破解版的价格 定价:100用户版:500 元;200用户版:600 元;500用户版:800 元;1000用户版:1000 元;2000用户版:3000 元;5000用户版:5000 元;10000用户版:10000 元;20000用户版:20000 元;50000用户版:300000 元;100000用户版:80000 元;其它:协商。
仅保存CDR版本:500 元。备份版本:原价的50%。
(注:"用户"是总用户个数,所有用户可以同时在线。如果您需要扩容、升级,您只需重新购买扩容部分的用户数即可。例如:第一次您购买了1000用户,一段时间后您想扩容到2000用户,您只需重新购买1000用户即可。)
(注:本产品不提供软盘、光盘以及纸介质产品说明书,请直接到我们网站寻找相关产品说明信息。最终产品将通过电子邮件方式发送。)
WINRADIUS说明 我们出售的WINRADIUS为正版,与官方价格比较相当便宜。所以您可以放心购买。
购买
请在汇款的同时发邮件给 6535078@qq.com ,在邮件中注明您的计算机号(请在目标硬件环境下点击WinRadius的“帮助/关于”获得)以及购买的用户数。
更多信息:
如果您需要购买 WinRadius破解版 ,请和我们联系 QQ:6535078 WINRADIUS 注册机 WINRADIUS注册码 WINRADIUS破解版本 WINRADIUS5000用户注册机 。