SSL实践《网络安全与管理实验参考》一、实验要求在Windows2000/XP上建立支持SSL的Web服务器客户端使用浏览器能与该服务器使用SSL协议通信使用OPENVPN建立自己的CA并生成X.509证书二、SSL简介HTTP是个纯文本协议,任何想要侦听网络的人都能够读取整个会话安全套接字层(SecureSocketsLayer,SSL),它会加密客户和服务器之间发送的所有数据基于数字证书的SSL,对在网络上传输的信息进行加密同时可以保证数据的完整性和可信性SSL简介(续)从OSI七层模型来看,该协议处于应用层和传输层之间,依赖于面向连接的可靠的传输协议(如:TCP等)三、实验环境硬件环境:IntelCeleron(R)1.70GHz处理器,256MB内存,10/100兆自适应网卡软件环境:Windows2000/XP使用软件:ApacheFriends1.4.13,OpenVPN-2.0.7,IE浏览器本次实验中,是在WindowsXP下ApacheFriends+OpenVPN的实验环境下完成的。ApacheFriends1.4.13下载地址:Or@202.117.35.170/teacher/open_platform/apache/Windows/xampp-win32-1.4.13.exeOpenVPN2.0.7下载地址:Or@202.117.35.170/teacher/Network/security/openvpn-2.0.9-install.exeApacheFreinds安装注意事项ApacheFriends必须安装任意盘符的根目录下,例如d:\xamppApache+MySQL启动作业为d:\xampp\xampp_start.bat服务器测试地址:目录ApacheFriends启动成功Q&A:我的AF为何不启动?检查原因:在dos下,键入d:\xampp\xampp_start.bat常见原因:C:\netstat–nb检查端口占用80端口被占用(使用控制面板-服务,关闭IIS)配置文件修改有误,改正错误Q&A:我发的中文网页见乱码?请修改C:\xampp\apache\conf\httpd.conf将:AddDefaultCharSet=ISO-1024改为:AddDefaultCharSet=GB2312ApacheFriends(HTTP测试)检查Apachefriends的端口四、安装OpenVPN这是一个虚拟专网工具,能在windows或linux,BSD下制作CA根、服务器、客户端证书。四、安装OpenVPN(续)四、安装OpenVPN(续)安装完毕后,开始-程序-附件-命令提示符,进到openvpn的easy-rsa目录,比如:C:\ProgramFiles\OpenVPN\easy-rsa,输入:init-configvarsclean-all四、安装OpenVPN(续)五、建立CA证书进入目录./openvpn-2.0.7/easy-rsa,编辑vars文件修改参数如下:setKEY_COUNTRY=CNsetKEY_PROVINCE=ShaanxisetKEY_CITY=XiansetKEY_ORG=CTEC@XJTUsetKEY_EMAIL=ctec@mail.xjtu.edu.cn五、建立CA证书(续)五、建立CA证书(续)建立CA证书(续)在工作目录下,(DOS)输入:varsbuild-ca一般在制作证书的过程中会要求输入如下内容:CountryName(2lettercode)[CN]:StateorProvinceName(fullname)[Shaanxi]:LocalityName(eg,city)[Xi’an]:OrganizationName(eg,company)[XJTU]:OrganizationalUnitName(eg,section)[CTEC]:CommonName(eg,yournameoryourserver'shostname)[CTEC@XJTU]:EmailAddress[ctec@mail.xjtu.edu.cn]:CA根证书制作完成!在keys目录下就会产生CA根证书ca.crt和CA的私钥是ca.key建立CA证书(续)CA证书和私钥六、制作服务器证书在工作目录下,输入:build-key-servermyapache注意:这时CommonName(e.g.cxqorCTEC)[]:可以输入服务器的域名或IP,比如202.117.35.112,与httpd.conf和ssl.conf里的设置对应服务器证书制作完成。在keys目录下就会产生server.crt(证书)和server.key(私钥)制作服务器证书过程(一)制作服务器证书过程(二)服务器证书和私钥七、服务器安装证书将服务器的证书和公钥放置到位Apache的配置文件修改配置文件把httpd.conf和ssl.conf中将ServerName后面改为‘ServerName’为主机IP地址(如:202.117.35.112)ssl.conf中的改动的其他配置如下:SSLMutexdefaultSSLCertificateFile/xampp/apache/conf/ssl.crt/myapache.crtSSLCertificateKeyFile/xampp/apache/conf/ssl.key/myapache.keySSLCertificateChainFile/xampp/apache/conf/ssl.crt/ca.crtSSLCACertificateFile/xampp/apache/conf/ssl.crt/ca.crtDocumentRoot/xampp/htdocs测试服务器证书之后以/xampp/xampp_restart.bat命令重新启动apache服务器,此时apache服务器已经支持与SSL相关的服务器证书建议在DOS下启动xampp_start.bat,以便及时观察服务器出错信息,并对配置文件进行调整在浏览器输入并观察证书使用和安装测试服务器证书(续)测试服务器证书(续)将服务器证书存入浏览器安装服务器证书到本地浏览器目录中测试服务器证书(续)服务器证书存入浏览器(续)通过浏览器的“Internet选项-证书-其他人”可以检查保存在浏览器上的服务器证书测试服务器证书(完)保存完毕服务器证书后,再次访问该SSL网页时,不会再出现警告信息。八、制作客户端证书在工作目录下,输入:varsbuild-keyie客户端证书制作完成。在keys目录下就会产生ie.crt(客户端证书)和ie.key(私钥)但是crt的客户端证书是不能使用的,必须把它转化为.pfx格式的文件在命令提示符下,输入:openssl回车,看到openssl对话框,输入下列指令:客户端证书制作过程(一)客户端证书制作过程(二)客户端证书制作过程(三)pkcs12-export-inkeys/ie.crt-inkeykeys/ie.key-outkeys/ie.pfxEnterexportpassword:要求你建立客户端证书的输出密码verifying-Enterexportpassword:再确认一遍在keys目录下就会产生ie.pfx(客户端证书)客户端证书制作过程(四)客户端证书九、客户端证书安装打开internetexplorer(IE),工具-internet选项-内容-证书,点选‘个人’,再点击导入,把客户端证书ie.pfx导入到个人组里(别忘了扩展名是pfx)这里还要输入刚才建立的输出密码接着,点选'受信任的根证书颁发机构',点击导入,把CA根证书ca.crt导入到受信任的根证书颁发机构里客户端证书安装安装安装到浏览器受信任的根证书安装位置根证书安装警告根证书安装到浏览器十、进行测试在地址栏里输入http//127.0.0.1或者IP地址,弹出个窗口要选择个人的数字证书如果服务器证书的commonname填写正确的话,就可以直接进入网站了,看到右下角的小锁头(可靠的SSL128位)测试画面(一)测试画面(二)测试画面(三)其他注意事项各种启动批作业(xampp_start.bat,),在DOS下操作。各种OpenVPN的证书、密钥在DOS下操作熟悉OpenVPN的工作目录熟悉Web服务器配置文件,浏览器的配置操作Q&A服务器证书的作用是什么?用户证书的作用是什么?根证书的作用是什么?