网络安全课设Kerberos实验报告.doc_第1页
网络安全课设Kerberos实验报告.doc_第2页
网络安全课设Kerberos实验报告.doc_第3页
网络安全课设Kerberos实验报告.doc_第4页
网络安全课设Kerberos实验报告.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附件 网络安全课程设计实验报告格式2012-2013学年第2学期网络安全课程设计实验报告3实验名称:实验18 安全协议之Kerberos协议 完成时间: 2014-6-4(练习三) 姓 名: 石心刚 学号:110342124 姓 名: 何伊林 学号:110342106 姓 名: 白冠军 学号:110342101 姓 名: 尹新来 学号:110342136 姓 名: 饶明艺 学号:110342122 指导教师: 崔鸿 班级:110342A 实验效果实验报告总评实验目的 1.了解身份认证的原理及其重要意义2.学习Kerberos身份认证全过程3.学会在Linux下配置Kerberos身份认证系统系统环境 Linux 网络环境 交换网络结构实验工具 krb5 v1.6.2实验步骤 本练习主机AF为一组。实验角色说明如下: 首先使用“快照X”恢复Linux系统环境。一配置主KDC 在此过程中,将使用以下配置参数: 领域名称 = CSERVER.NETLAB DNS 域名 = lab 主KDC = lab admin 主体 = admin/admin admin主体密码:admin 数据库管理密码:jlcss (1)首先为主KDC改名,编辑/etc/sysconfig/network文件,把HOSTNAME改为kdc1,保存后重启系统。 (2)配置/etc/resolv.conf文件使本机找到DNS服务器,修改内容如下。 其中domain后面用来标识DNS域名,nameserver后面则用来标识DNS服务器的IP地址。在本实验中我们就以“应用服务器”作为DNS服务器,它的全限制域名是lab,IP可以根据实验情况进行调整。 (3)主KDC配置时钟同步服务ntpd。Kerberos服务对于时间同步的要求是很高的,通过ntpd可以同步Kerberos系统中各台主机的时间。修改/etc/ntp.conf,把OUT TIMESERVERS里的几行注释掉,然后添加一行。 上述内容表示对网络内主机提供时钟同步服务。 (4)启动ntpd服务,输入:service ntpd start,然后将它设为开机自启,输入:chkconfig ntpd on。(注意:该服务启动后需要几分钟的时间才可以正常使用) (5)修改/etc/hosts文件,当本机远程访问其它主机时,会先在此文件中查找其他主机信息。修改内容如下: (6)修改/etc/krb5.conf,关于每个模块的信息可以参见实验原理。需要修改的有三部分,具体如下面信息:首先在libdefaults里default_realm改为领域名称CSERVER.NETLAB;在realms里把kdc后面的值改为主KDC(即本机)信息,把default_realm改为DNS域名lab。 (7)切换至/opt/kerberos/var/krb5kdc目录,打开配置文件kdc.conf,将域名改为对应值(CSERVER.NETLAB)。 (8)创建数据库。 切换至/opt/kerberos/sbin目录,执行命令:./kdb5_util create -s,然后输入数据库管理密码jlcss并确认。命令执行完毕后,会在/opt/kerberos/var/krb5kdc目录下生成若干principal文件,它们就是KDC的数据库文件。 (9)修改ACL文件,设置kerberos中各主体的权限。 切换至/opt/kerberos/var/krb5kdc目录,编辑文件kadm5.acl,内容形式如下(具体含义参见Kerberos设置相关文档)。 (10)为主KDC数据库添加主体。 切换至/opt/kerberos/sbin/目录,执行命令:./kadmin.local,进入kerberos控制台,按下面步骤为主KDC数据库添加主体。 为数据库添加管理主体admin/admin,执行kerberos命令:addprinc admin/admin,并输入该管理员密码(这里设为admin)。 为kadmind服务创建密钥表文件,此命令序列创建包含kadmin和changepw主体项的特殊密钥表文件kadm5.keytab。执行kerberos命令:ktadd -k /opt/kerberos/var/krb5kdc/kadm5.keytab kadmin/admin kadmin/changepw。 执行kerberos命令:listprincs,查看主体文件是否添加成功。 执行kerberos命令:quit,退出kerberos控制台,返回至sbin目录。 (11)执行命令:./krb5kdc启动krb5kdc服务;执行命令:./kadmind,启动kadmind服务。 (12)为使以上两个命令开机自启动,编辑/etc/rc.local文件,追加如下两行内容:二配置从KDC 在此过程中,将配置两个分别名为kdc2和kdc3 的新从KDC。此外,还将配置增量传播。 此过程新添加的配置参数:从KDC = lab和lab。 (1)首先需要为两台从KDC改名,编辑/etc/sysconfig/network文件,把HOSTNAME改为kdc2或者kdc3,保存后重启系统。 (2)主、从三台KDC主机都修改/etc/hosts文件。下面以主KDC为例,第一行为原始标识,后面三行为各KDC标识。(hosts 文件需要修改,把主、从kdc分别写出来,不变)。 (3)修改从KDC主机的/etc/resolv.conf为与主KDC一致。然后同步主、从KDC的时间,从KDC执行命令:ntpdate 主kdcIP,不然在从KDC访问主KDC数据库时会出现时间不同步错误。 注 从KDC同步时间后,可能会导致虚拟主机与宿主机系统时间不一致,从而影响实验平台的正常运行。 (4)从KDC参照主KDC修改/etc/krb5.conf文件,但注意要把第二个kdc行设成自己的主机信息,admin_server设成主KDC。 (5)主KDC进入sbin目录,执行命令:./kadmin -p admin/admin,输入管理员密码admin,进入kadmin控制台。 首先将主KDC主体添加到数据库中。执行kadmin命令: addprinc -randkey host/lab 其中randkey表示采用随机密钥,由于KDC用户可以通过管理员admin登录到数据库中,而不需要用本机的主体登录,所以采用随机密钥,这样可以极大地增加系统安全性。 继续执行kadmin命令:ktadd host/lab。 通过listprincs命令查看主体文件是否添加成功。 最后执行quit命令退出kadmin控制台。 (6)从KDC以admin用户启动kadmin。 将从KDC主机主体添加到数据库中,执行命令:addprinc -randkey host/kdcX.lab(其中kdcX是自己的主机名)。 接下来执行命令:ktadd host/kdcX.lab。 退出kadmin控制台。 (7)所有KDC请求TGT票据,只有在两台KDC都有TGT票据的时候,它们才能正常地进行数据传递。 切换至/opt/kerberos/bin目录,执行命令: ./kinit -k -t /etc/krb5.keytab host/kdcX.lab 其中kinit是获取TGT票据的命令,参数k表示使用密码表文件,参数t表示指明密钥表文件所在位置,而命令行最后就是用户的主体。 执行命令:klist,查看KDC请求的TGT票据是否成功。 (8)主、从KDC在目录/opt/kerberos/var/krb5kdc下新建文本文件kpropd.acl,用于主、从KDC之间的数据传递。所以该文件中应该有所有KDC主机信息三配置应用服务器和客户机(主机D、E、F) (1)应用服务器和客户机也需要修改主机名,按照主、从KDC改名的方法,将它们分别改名为telnet_server、ftp_server和client,并重启系统。 (2)应用服务器和客户机修改/etc/hosts文件,使它包含系统中所有KDC和其它服务器及客户机的信息。(配置方法参见步骤二(2))。 (3)应用服务器和客户机修改/etc/resolv.conf文件,使之与主KDC一致。然后应用服务器和客户机同步主KDC的时间,并执行命令:ntpdate 主kdcIP。 (4)主KDC为客户机添加主体,并更新从KDC数据库。 切换至/opt/kerberos/sbin目录,执行命令:./kadmin -p admin/admin,输入管理员密码admin,进入kadmin控制台。 为两台应用服务器添加主体,并为其设置一个初始密码。执行命令:addprinc host/lab(其中hostname指的是分别对应于E、F的主机名),并在其后输入并确认该主体的密码。 为客户机添加主体,并为其设置一个初始密码,执行命令:addprinc clientCSERVER.NETLAB,并在其后输入并确认该主体的密码。 主KDC执行listprincs命令查看主体文件是否添加成功。 将上面设置的这三个主体的密码采用安全方式通知相应主机。 (5)客户机、应用服务器都设置/etc/krb5.conf文件,仅需修改libdefaults、domain_realm和realms三个模块,其中前两个部分与主KDC一致,realms模块中kdc和 admin_server都填写主KDC的标识。 (6)应用服务器需要在本机创建一个加密原密钥的密钥表(keytab)。 在sbin目录下执行命令:./kadmin -p host/lab,并确认密码,登录主体数据库。 执行命令:ktadd host/lab,用以创建一个加密密码的密钥表文件/etc/krb5.keytab。 执行quit命令,退出kerberos控制台。四KDC之间的数据传递 (1)在应用服务器获取密钥表文件后(即完成实验步骤三(6)后),主KDC中新建一个用于数据传播文件slave_datatrans,也就是把整个KDC数据的数据信息打包到一个文件里,切换至/opt/kerberos/sbin目录,执行命令:./kdb5_util dump /opt/kerberos/var/krb5kdc/slave_datatrans。 在这一步才进行数据传播,是因为在前面的步骤中主KDC的数据库会被改变,而后面不会再变了。 (2)在本实验中所用的krb5-1.6.2版本中,需要在所有从KDC上新建一个空的kerberos数据库,且数据库密码要与主KDC的数据库密码相同。在sbin目录中执行命令: ./kdb5_util create -s,然后输入数据库管理密码jlcss并确认。 (3)为了实现主KDC到从KDC的kerberos数据传播,需要在所有KDC上建立端口监听。所有KDC在sbin目录中执行命令:./kpropd -S,机器就是自动监听传播端口(默认为88)。 (4)手动将主KDC中的数据传递到从KDC中,在sbin目录中执行命令: ./kprop -f /opt/kerberos/var/krb5kdc/slave_datatrans kdc2 ./kprop -f /opt/kerberos/var/krb5kdc/slave_datatrans kdc3 当出现“database propagation to kdc2:SUCCEEDED”字样提示信息时,表明数据传递已成功,这时在每个从KDC上都会保存一份主KDC的数据库备份,就算主KDC出现故障,它们也能继续为域内主机提供kerberos服务。 (5)从KDC新建一个数据库备份文件,它用于各KDC之间的鉴别。在sbin目录中执行命令:./kdb5_util stash,并输入数据库管理密码jlcss确认。 (6)从KDC启动krb5kdc和kadmind,编辑/etc/rc.local使服务开机后自启。 (7)kerberos客户机和应用服务器,修改/etc/krb5.conf文件,把realms模块中kdc后面的标识修改为给他提供服务的从kdc的标识。即kdc = kdcX .lab (X依从kdc情况调整)。 (8)应用服务器在本机获取一个身份认证票证(TGT)。 切换至/opt/kerberos/bin目录,执行命令: ./kinit -k -t /etc/krb5.keytab host/lab。 (9)应用服务器和客户机在本机新建一个用户client。 执行命令:useradd client -G root和passwd client,用户口令为主KDC传送过来的密码。 (10)客户机申请TGT证书。 执行命令:su client,切换当前用户为client。 切换至/opt/kerberos/bin/目录,执行命令:./kinit,并输入密码,从本机获取一个身份认证票证(TGT)。五Kerberos化的Telnet (1)Telnet应用服务器修改ktelnet的配置文件:/etc/xinetd.d/ekrb5-telnet,以实现利用kerberos v5实现加密的telnet通信。修改方法是:将disable = yes一行的yes改为no。 (2)执行命令service xinetd restart重启xinetd服务。(3)客户机执行命令:telnet 服务器名称,提示服务器拒绝非加密的连接,如图18-3-1所示。图18-3-1 Telnet服务器拒绝非加密连接 (4)客户机执行命令:telnet -afx telnet服务器主机名称。 客户机首先把自己的TGT票据根据发送给KDC服务器申请获取访问Telnet服务器的权限,KDC对TGT审核之后,会把Telnet服务器票证颁发给客户机。客户机收到服务器票证后,再把它发送给Telnet服务器。Telnet服务器会首先检查客户机发送过来的服务器票证的正确性,然后检查票证中指明的主体(client)在本机是否存在。如果全部通过,会取出服务器票证中的时间戳,用自己的密钥加密后,发回给客户机。客户机收到数据包后,进行解密(KDC在服务器票证中已经告诉客户机应用服务器的密钥了),查看时间戳与当前时间的间隔,如果间隔很短,则认定应用服务器的身份为正确的。这时Kerberos认证过程就成功了。 成功的Kerberos化的Telnet连接应该如图18-3-2所示,客户机根本不需要输入用户名和密码,就可以登录到Telnet服务器了。图18-3-2 kerberos化Telnet成功登录 (5)为客户机提供Kerberos服务的从KDC查看自己的Kerberos日志,执行命令:tail /var/log/krb5kdc.log,TGS_REQ请求记录类似图18-3-3所示,该记录的含义是:客户机向KDC申请获取访问Telnet服务器(host/telnet服务器主机名称

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论