logo资料库

Freeradius配置wifi认证.pdf

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
FortiGate 结合 Openssl + freeradius 实现多级 CA 环境下的无线用户 EAP-TLS 认证 一、 EAP-TLS 简介 简而言之,使用数字证书来保护 radius 认证,与 802.1x 结合,可以用数字证书认 证无线上网用户,是最安全的无线认证方法之一。 参考:http://zh.wikipedia.org/wiki/EAP#EAP-TLS 二、 实验环境 如上图所示,使用两台 ubuntu linux 服务器,Ubuntu-1 作为 rootca 和 radius 服务 器;Ubuntu-2 作为 subca。 FortiOS:v4.3.6。 ------------------------------------------------------------------------------------------------------------------------------------------------------ 北京市海淀区北四环西路 52 号方正国际大厦 12 层 电话: (010)62960376 1
三、 安装 openssl 及 freeradius sudo apt-get install openssl sudo apt-get install freeradius 四、 openssl 环境准备 1. 在 ubuntu1 和 ubuntu2 的当前用户文件夹(例如/home/jeff/)下创建 openssl 工作 数据存放文件夹,例如/home/jeff/certs/。 2. 将附件的设置文件 myopenssl.cnf 存放在/home/jeff/certs/目录下。注意修改一下配 置文件中的 dir 路径。 3. 注意事项:Radius 服务器端证书的 extendedKeyUsage 属性必须包含服务器身份 认证(1.3.6.1.5.5.7.3.1);移动设备证书的 extendedKeyUsage 属性必须包含客 户端身份验证 (1.3.6.1.5.5.7.3.2)。myopenssl.cnf 中已经包括相关设置。 五、 在 Ubuntu-1 上建立根 CA(密码:1234) 4. 生成根 CA 私钥(需要指定 Common Name) cd /home/jeff/certs openssl req -newkey rsa:1024 -sha1 -config ./myopenssl.cnf -keyout rootkey.pem -out rootreq.pem -days 3650 5. 生成证书,并用私钥签名 openssl x509 -req -in rootreq.pem -sha1 -extfile ./myopenssl.cnf -extensions v3_ca -signkey rootkey.pem -out rootcert.pem -days 3650 6. 组合证书与私钥,形成 CA 根证书 cat rootcert.pem rootkey.pem > root.pem 7. 显示根证书 openssl x509 -text -noout -in root.pem ------------------------------------------------------------------------------------------------------------------------------------------------------ 北京市海淀区北四环西路 52 号方正国际大厦 12 层 电话: (010)62960376 2 myopenssl.cnf
六、 在 Ubuntu-2 上建立二级 CA(密码:5678) 8. 在 Ubuntu-2 上创建二级 CA 私钥(需要指定 Common Name) cd /home/jeff/certs openssl req -newkey rsa:1024 -sha1 -config ./myopenssl.cnf -keyout subcakey.pem -out subcareq.pem -days 3650 9. 将 subcakey.pem 复制到 Ubuntu-1 上,生成二级 CA 证书,并用根 CA 证书签名 openssl x509 -req -in subcareq.pem -sha1 -extfile ./myopenssl.cnf -extensions v3_ca -CA root.pem -CAkey root.pem -CAcreateserial -out subcacert.pem -days 3650 10. 将 subcacert.pem 和 rootcert.pem 复制回 Ubuntu-2 上,组合二级 CA 证书与二级 CA 私钥,形成二级 CA 证书 cat subcacert.pem subcakey.pem rootcert.pem > subca.pem 11. 显示二级 CA 证书 openssl x509 -text -noout -in subca.pem 七、 在 Ubuntu-1 上,使用根 CA 为 openradius 颁发服务 器证书(密码:abcd) 12. 创建服务器证书私钥(需要指定 Common Name) openssl req -newkey rsa:1024 -sha1 -config ./myopenssl.cnf -keyout serverkey.pem -out serverreq.pem -days 365 13. 创建服务器证书,并签名 openssl x509 -req -in serverreq.pem -sha1 -extfile ./myopenssl.cnf -extensions server_cert -CA root.pem -CAkey root.pem -CAcreateserial -out servercert.pem -days 365 14. 组合私钥与证书,形成服务器证书 cat servercert.pem serverkey.pem rootcert.pem > server.pem 15. 显示服务器证书 openssl x509 -text -noout -in server.pem ------------------------------------------------------------------------------------------------------------------------------------------------------ 北京市海淀区北四环西路 52 号方正国际大厦 12 层 电话: (010)62960376 3
八、 在 Ubuntu-2 上,使用二级 CA 为 Wifi 客户端颁发证 书(密码:efgh) 16. 创建客户端证书私钥(需要指定 Common Name) openssl req -newkey rsa:1024 -sha1 -config ./myopenssl.cnf -keyout clientkey.pem -out clientreq.pem -days 365 17. 创建客户端证书,并签名 openssl x509 -req -in clientreq.pem -sha1 -extfile ./myopenssl.cnf -extensions client_cert -CA subca.pem -CAkey subca.pem -CAcreateserial -out clientcert.pem -days 365 18. 组合私钥与证书,形成客户端证书 cat clientcert.pem clientkey.pem subcacert.pem rootcert.pem > client.pem 19. 显示客户端证书 openssl x509 -text -noout -in client.pem 20. *.pem 的证书是 BASE64 形式的,要转成 PKCS12 才能装到 Windows 上。转换命 令如下(需要设置导出密码,为 xyz): openssl pkcs12 -export -in clientcert.pem -inkey clientkey.pem -out client.pfx 21. 将 client.pfx 复制到 Windows PC 上,导入 IE 浏览器的个人证书区。注意导入密码 是 xyz 九、 配置 freeradius(Ubuntu-1) 22. 配置 radiusd.conf cd /etc/freeradius sudo gedit radiusd.conf 1)确认 eap 没有被注释掉 $INCLUDE eap.conf 2)修改 log 段,启用认证日志 auth = yes 23. 将服务器证书 server.pem(带私钥)和根 CA 证书 rootcert.pem(不带私钥)复制 到 freeradius 的证书目录下 sudo cp /home/jeff/certs/server.pem /etc/freeradius/certs/ ------------------------------------------------------------------------------------------------------------------------------------------------------ 北京市海淀区北四环西路 52 号方正国际大厦 12 层 电话: (010)62960376 4
sudo cp /home/jeff/certs/rootcert.pem /etc/freeradius/certs/ 需要修改/etc/freeradius/certs/的权限,否则 freeradius 不能读取证书 sudo cd /etc/freeradius/certs sudo chmod -R ug+rwx . 24. 配置 eap.conf,启用 eap-tls cd /etc/freeradius sudo gedit eap.conf 关键语句如下: eap { default_eap_type = tls #认证类型:tls tls { } certdir = ${confdir}/certs cadir = ${confdir}/certs private_key_password = abcd private_key_file = ${certdir}/server.pem certificate_file = ${certdir}/server.pem CA_file = ${cadir}/rootcert.pem #服务器证书目录 #CA 证书目录 #服务器私钥密码 #服务器私钥文件 #服务器证书文件 #CA 证书文件 } 25. 配置 clients.conf cd /etc/freeradius sudo gedit clients.conf client 192.168.1.99{ #FortiGate 地址 secret =123456 shortname =fortigate #预共享密钥 #别名 } 26. 重启 freeradius 服务 sudo service freeradius restart ------------------------------------------------------------------------------------------------------------------------------------------------------ 北京市海淀区北四环西路 52 号方正国际大厦 12 层 电话: (010)62960376 5
十、 配置 FortiGate 27. 配置 Radius 服务器 28. 配置 SSID,设置为 WPA/WPA2-Enterprise 安全模式 ------------------------------------------------------------------------------------------------------------------------------------------------------ 北京市海淀区北四环西路 52 号方正国际大厦 12 层 电话: (010)62960376 6
十一、 Windows wifi 设置 29. 手动添加无线网络 ------------------------------------------------------------------------------------------------------------------------------------------------------ 北京市海淀区北四环西路 52 号方正国际大厦 12 层 电话: (010)62960376 7
------------------------------------------------------------------------------------------------------------------------------------------------------ 北京市海淀区北四环西路 52 号方正国际大厦 12 层 电话: (010)62960376 8
分享到:
收藏