Freeradius证书认证模式配置

操作系统:Ubuntu 10.04.3 LTS + Windows 7 64bit

 

系统环境:

1)  Ubuntu所需环境为Openssl + Freeradius

2)  Windows所需环境为WpdPack + Openssl + wpa_supplicant

 

Ubuntu环境配置步骤:

1)  下载Openssl +Freeradius并安装

sudo apt-get install openssl

sudo apt-get install freeradius

 

2)  使用openssl制作根证书,radius服务器证书以及一个客户端证书

A. 制作根证书

cd etc/ssl

openssl req -newkey rsa:1024 -md5 -config ./openssl.cnf-keyout rootkey.pem -out rootreq.pem -days 3650

openssl x509 -req -in rootreq.pem -md5 -extfile./openssl.cnf -extensions v3_ca -signkey rootkey.pem -out rootcert.pem -days3650

cat rootcert.pem rootkey.pem > root.pem

制作完成之后,里面的rootcert.pem以及root.pem是我们需要的

 

B. 制作radius服务器证书

etc/ssl目录下面,建立一个文件名为xpextensions的文件,并在文件中写入以下内容并保存:

[xpclient_ext]

extendedKeyUsage= 1.3.6.1.5.5.7.3.2

[xpserver_ext]

extendedKeyUsage= 1.3.6.1.5.5.7.3.1

 

cd etc/ssl

openssl req -newkey rsa:1024 -md5 -config ./openssl.cnf-keyout serverkey.pem -out serverreq.pem -days 365

openssl x509 -req -in serverreq.pem -md5 -extfile xpextensions-extensions xpserver_ext -CA root.pem -CAkey root.pem -CAcreateserial -outservercert.pem -days 365

cat servercert.pem serverkey.pem rootcert.pem >server.pem

制作完成之后,里面的server.pem是我们需要的

 

C. 制作客户端证书

cd etc/ssl

openssl req -newkey rsa:1024 -md5 -config ./openssl.cnf-keyout clientkey.pem -out clientreq.pem -days 365

openssl x509 -req -in clientreq.pem -md5 -extfilexpextensions -extensions xpclient_ext -CA root.pem -CAkey root.pem-CAcreateserial -out clientcert.pem -days 365

cat clientcert.pem clientkey.pem rootcert.pem >client.pem

制作完成之后,里面的client.pem是我们需要的

        

相关说明:

-         在制作证书过程中,会需要输入证书密码,测试时我使用的是12345678,如果你使用了别的,请在最后test.txt文件中,也进行相应的修改

-         在证书创建过程中,需要输入一些信息,请按照提示进行输入即可

 

3)  配置freeradius

A. 配置radius.conf

cd etc/freeradius

vi radius.conf

在配置文件中只修改以下两行(请确保与下面两行完全一致)

$INCLUDE eap.conf

auth = yes

B.将服务器证书server.pem(带私钥)和根CA证书rootcert.pem(不带私钥)复制到freeradius的证书目录下

sudo cp /etc/ssl/server.pem /etc/freeradius/certs/

sudo cp / etc/ssl /rootcert.pem /etc/freeradius/certs/

同时需要修改/etc/freeradius/certs/的权限,否则freeradius不能读取证书

sudo cd /etc/freeradius/certs

sudo chmod -R ug+rwx

C. 配置eap.conf

cd /etc/freeradius

sudo gedit eap.conf

关键语句如下:

eap {

default_eap_type = tls                                             #认证类型:tls

tls {

certdir = ${confdir}/certs                               #服务器证书目录

cadir = ${confdir}/certs                                   #CA证书目录

private_key_password = abcd                      #服务器私钥密码

private_key_file = ${certdir}/server.pem  #服务器私钥文件       

certificate_file = ${certdir}/server.pem     #服务器证书文件

CA_file = ${cadir}/rootcert.pem                           #CA证书文件

}

}

 

D. 配置client.conf

cd /etc/freeradius

sudo gedit clients.conf

client 192.168.1.99{           #允许访问的客户端IP

secret =12345678              #预共享密钥

shortname =testing         #别名

}

 

E.  配置user.conf

cd /etc/freeradius

testing Cleartext-Password := "password"

 

F.  重启freeradius服务

service freeradius stop

/usr/sbin/freeradius –Xf

 

G. 此步骤不是必须

如果需要修改支持的认证方式,请修改/etc/freeradius/sites-available目录下的default文件

 

Windows下测试环境配置:

1) 下载WinPcap

下载WpdPack_4_0_2.zip,解压到C:\dev\WpdPack

 

2) 编译OpenSSL

A.下载openssl-1.0.1e.tar.gz并解压

B.\include\openssl\x509v3.h里添加

#ifdef OPENSSL_SYS_WIN32

   /* Under Win32these are defined in wincrypt.h */

#undef X509_NAME 

#undef X509_CERT_PAIR 

#undef X509_EXTENSIONS

#endif 

C.安装ActivePerl

打开VS命令提示行,进入OpenSSL路径,依次输入以下命令:

perl Configure VC-WIN32 no-asm --prefix= C:\dev\OpenSSL

ms\do_ms 

nmake -f ms\ntdll.mak 

nmake -f ms\ntdll.mak install

 

3) 编译WPA Supplicant

A.下载wpa_supplicant-0.7.3.tar.gzC:\dev\wpa_supplicant-0.7.3

B. VS2010打开vs2005\wpa_supplicant.sln,编译即可

C.编译过程中间可能会遇到以下问题

-         OpenSSL的宏定义和VSwincrypt.h的宏定义冲突,需要按上述方法取消宏定义。

-         wpa_supplicant-2.0Windows下编译有很多问题,用0.7.3版可以编译。

-         VS2005在编译时会提示“调试信息损坏,请重新编译模块”,经查询是VS2005自身的bughttp://support.microsoft.com/kb/974193/zh-cn),改用VS2008可编译。

-         将工程中需要用到libeay32MT.libssleay32MT.lib的地方,都换成libeay32.libssleay32.lib

 

4)  测试

A. 编写测试脚本并命名为test.txt

network={ 

eap=TLS

eapol_flags=3

key_mgmt=IEEE8021X

identity="testing"                                           #usr.conf中添加的用户

password="password"                                  #usr.conf中添加用户的密码

ca_cert="D:/root.pem"                                 #根证书

client_cert="D:/client.pem"                         #客户端证书

private_key="D:/client.pem"                       #客户端证书私钥

private_key_passwd="12345678"              #证书使用密码

phase2="autheap=MD5"                              #校验算法

}

B. 将制作出来的根证书root.pem以及client.pem拷贝至D盘根目录

C. 编写测试脚本并保存为test.bat

eapol_test.exe -c test.txt -a 192.168.1.133 -s 12345678

相关说明:

-         脚本中的192.168.1.133是指启动了freeradius服务的服务器地址

-         12345678是指共享的交互密钥,及client.conf文件中添加的密钥

D. 执行test.bat

E.  期待您能一次成功

 

相关资源下载:

wpa_supplicant:http://download.csdn.net/detail/wangyong0921/5639333

wpa_supplicant_runtime:http://download.csdn.net/detail/wangyong0921/5639391

WpdPack:khttp://download.csdn.net/detail/wangyong0921/5639363

 

openssl以及freeradius,请各位自行下载

 

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值