网络安全课设Kerberos实验报告.docx
- 文档编号:29263331
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:20
- 大小:49.38KB
网络安全课设Kerberos实验报告.docx
《网络安全课设Kerberos实验报告.docx》由会员分享,可在线阅读,更多相关《网络安全课设Kerberos实验报告.docx(20页珍藏版)》请在冰豆网上搜索。
网络安全课设Kerberos实验报告
附件《网络安全课程设计》实验报告格式
2012-2013学年第2学期
《网络安全课程设计》实验报告3
实验名称:
完成时间:
实验18安全协议之Kerberos协议
2014-6-4
(练习三)
姓
名:
石心刚
学号
110342124
姓
名:
何伊林
学号
110342106
姓
名:
白冠军
学号
110342101
姓
名:
尹新来
学号
110342136
姓
名:
饶明艺
学号
110342122
指导教师:
崔鸿
班级
110342A
实验效果
实验报告
总评
实验目的
1.了解身份认证的原理及其重要意义
2.学习Kerberos身份认证全过程
3.学会在Linux下配置Kerberos身份认证系统
系统环境
Linux
网络环境
交换网络结构
实验工具
krb5vl.6.2
实验步骤
本练习主机A〜F为一组。
实验角色说明如下:
实验主机
实瞬角色
主机上
主ZK
主机反C
MDC
主机D
TELWET服芻器(朕吐汕*客尸
■-耳
主机E
FTP服务器(
主机F
普通用户(Kertexos^户端)
首先使用“快照X”恢复Linux系统环境。
一.配置主KDC
在此过程中,将使用以下配置参数:
领域名称=CSERVER.NETLAB
DNS域名=cserver.netlab
主KDC=lab
admin主体=admin/admin
admin主体密码:
admin
数据库管理密码:
jlcss
(1)首先为主KDC改名,编辑/etc/sysconfig/network文件,把HOSTNAM改为kdc1,保存后重启系统。
(2)配置/etc/resolv.conf文件使本机找到DNS服务器,修改内容如下。
dam盘1“cserver.zteil&b
nMHfervar1TZ.16.0.254
其中domain后面用来标识DNS域名,nameserver后面则用来标识DNS服务器的IP地址。
在本实验中我们就以“应用服务器”作为DNS服务器,它的全限制域名是lab,IP可以根据实验情况进行调整。
(3)主KDC配置时钟同步服务ntpd。
Kerberos服务对于时间同步的要求是很高的,通过ntpd可以同步Kerberos系统中各台主机的时间。
修改/etc/ntp.conf,把OUTTIMESERVERS里的几行注释掉,然后添加一行。
raitricl172.16.0.02S5.255.255.0zunnodi£ynotraj-
上述内容表示对172.16.0.0网络内主机提供时钟同步服务。
(4)启动ntpd服务,输入:
servicentpdstart,然后将它设为开机自启,输入:
chkconfigntpdon。
(注意:
该服务启动后需要几分钟的时间才可以正常使用)
(5)修改/etc/hosts文件,当本机远程访问其它主机时,会先在此文件中查找其他主
机信息。
修改内容如下:
127.0.0.1
locallioEt.1ocalrilomam
IocrILoet
kdlcL.cserver,ne+lal?
kdcl
(6)修改/etc/krb5.conf,关于每个模块的信息可以参见实验原理。
需要修改的有三
部分,具体如下面信息:
首先在libdefaults里default_realm改为领域名称CSERVER.NETLAB在realms里把kdc后面的值改为主KDQ即本机)信息,把default_realm改为DNS域名lab。
Clibd&fsulis]
=CSE1VER.METLAB
dn,5_l>clup_realm=壬辺
4«kup_kdc-falseti=24h
forware—yes[realms]GS^EVER.NETLAE={
kdc=kdcl.cservtr.netlab:
SS
admi.n_s#rvflr=kdcl.cisrv^rnetlat:
T49deHaul二cserv&r.n&tlab
[domain_reJe]
.cserver.liatlib-CSERVER.BETLABeservtr.n电口也b二CSERVER.NZTLAB
(7)切换至/opt/kerberos/var/krb5kdc目录,打开配置文件kdc.conf,将域名改为对应值(CSERVER.NETLAB
[reaiLiiis]
CSERVIR.BITUL0'f
flrtiit18r_ksy_l5
5uppertsd_e:
rte+yp-dss.3-hiftic-s.lial:
normilarcfoar-hm*cZdes-hmic-shil'n
onm^ldes"clc"m-d51normals~cbc~erc'normaldes."cbc"crc:
v4des"cbe-crc!
i£e3
plJUILI:
U*3vC:
*3vJTTL-|.|:
IV|LJ1_|.Jt7
rootSHostSHguest]#telnot127,0.0.1
vying127.0.0.L…
[onnectedtoHostSB.NetlabC127.0.0.1).
'scapecharacterts]・
■i?
cioraCorerelease5(Bordeaux*
ernel2.6.15'1.2054_FC5onan1680
.ogiri:
uuost
Password
rRu&st(3Hostt5B"_]$
(8)创建数据库。
切换至/opt/kerberos/sbin目录,执行命令:
./kdb5_utilcreate-s,然后输入数据
库管理密码jlcss并确认。
命令执行完毕后,会在/opt/kerberos/var/krb5kdc目录下生成
若干principal文件,它们就是KDC的数据库文件。
(9)修改ACL文件,设置kerberos中各主体的权限。
切换至/opt/kerberos/var/krb5kdc目录,编辑文件kadm5.acl,内容形式如下(具体含义参见Kerberos设置相关文档)。
nQCSEma.rniAE*
hiciecsEmihetlabaimczlkicl/*C5ER¥ER.ffETLAJilNITLAB
*eC5ERV£B.NETLABcil*1/adm1r^CSERVIR.
*/*QCSEEVER.NETLABi*/kdcieCSEK¥ER.BETLAB*-mislift
(No
Infocouldt»mdfor*:
B4teuLd0=50D
butyouEhouidbnrout.)
“i
1mluiJii/lcuiLJi^LlLuiiife(乍1?
丄5赴丄匕idiUeaiLsabl
Ldied)
Pl'Ci
toR(m:
i=GSieniri"Q
1ixh14ddr»is
Fai(>f,■iiAilttrcss
riArj(*
11]
(1
0
n.on.n■111
G.0.0.D:
+
LISTEN
tCD
0
0
Q.0,U,Q;ZL
ot0,0,0:
*
LISTEN
tcp
U
<1
U.0.0.0:
2J
匕0.0.D:
+
LlSTtN-
tcp
0
0
127.0.0.U23
127.0iD*liaoew
ESTABLISHED
5
0
0
12700.1^00093
1270.0.1:
ZJ
ESTABLCSHFD
Ir[
Ci
0
:
;rrrr:
127.nn1eoooo
:
:
:
*
11STEM
tcp
c
Q
:
:
;旳
:
:
:
*
LISTEN
tcp
0
<|
:
;;山
:
;;*
-
!
mmctOHrxctr^R1ft
(10)为主
KDC数据库添加主体。
切换至/opt/kerberos/sbin/目录,执行命令:
./kadmin.local,进入kerberos控制台,
按下面步骤为主KDC数据库添加主体。
1为数据库添加管理主体admin/admin,执行kerberos命令:
addprincadmin/admin,
并输入该管理员密码(这里设为admin)。
2为kadmind服务创建密钥表文件,此命令序列创建包含kadmin和changepw主体项
的特殊密钥表文件kadm5.keytab。
执行kerberos命令:
ktadd-k/opt/kerberos/var/krb5kdc/kadm5.keytabkadmin/adminkadmin/changepw。
3执行kerberos命令:
listprincs,查看主体文件是否添加成功。
4执行kerberos命令:
quit,退出kerberos控制台,返回至sbin目录。
(11)执行命令:
./krb5kdc启动krb5kdc服务;执行命令:
./kadmind,启动kadmind服务。
(12)为使以上两个命令开机自启动,编辑/etc/rc.local文件,追加如下两行内容:
/opt/k电:
rbexos/sbin/lcrb5kdc
/o®t/k电fberoi/sbin/lkadmind.
文徉Q编辑b查看卫
终端■:
!
■标签勁
帮助⑪
£(jE?
faul1:
mi
Rdescription:
Thetelnetserverserves
telnet
sessioils;ltuses\
NunoncryptodusornairiQ/passwordijairsfor
alithoutLcatLon.
icctelnot
flHRS
=REUSE
t_typc
=stream
vait
=no
user
=rout
server
=/usr/shin/in.
Leilieid.
loponfailuye
■4=USERID
dis % =no % s. r/ctcJiinctd・dztelnet* [只读]IL.30IC 1,1 伽 .配置从KDC 在此过程中,将配置两个分别名为kdc2和kdc3的新从KDC此外,还将配置增量传播。 此过程新添加的配置参数: 从KDC=lab和lab (1)首先需要为两台从KDC改名,编辑/etc/sysconfig/network文件,把HOSTNAME 改为kdc2或者kdc3,保存后重启系统。 (2)主、从三台KDC主机都修改/etc/hosts文件。 下面以主KDC为例,第一行为原始标识,后面三行为各KDC标识。 (hosts文件需要修改,把主、从kdc分别写出来,127.0.0.1不变)。 127.0.0.1localhost.locallQinaLJiLoe俎host kdd.cserver.netlatkdul WfJ7kdc2nitlatb血2 必kdc3.cserver,lcdc3 (3)修改从KDC主机的/etc/resolv.conf为与主KDC-致。 然后同步主、从KDC! 的时 间,从KDC执行命令: ntpdate主kdcIP,不然在从KDC访问主KDC数据库时会出现时间不同步错误。 「注」从KDC同步时间后,可能会导致虚拟主机与宿主机系统时间不一致,从而影响实验平台的正常运行。 (4)从KDC参照主KDC修改/etc/krb5.conf文件,但注意要把第二个kdc行设成自己 的主机信息,admin_server设成主KDC [1lLde£anlts]defanlt.realr*=CSERV1R.lITTLABdn_1&olup—r&alm-sedni_lo*kup_kJc-« lickfet_lifttimt=24kfonrwardable=yes [realms] CSIRVEE.1IETLAE={ ide=kdjcl.cservtr.iitlLa'b^SSkdc-kdc^.cserver.netLablSBadjiin_ser7er=kdcl.cserver,netlab;749d*fiTilt_doiiain=CKtTver.n^tlab } [doniaiTL_Fealni] . 文件心编辑旧查看①终端(L标签四帮助助 =曲葩= .禍定] root^IlostCB]#vim.etcold.conf.rool^HostGB/]flsorviuowinotdrestart停止xlnetdi Jfi动xinetd: [root^HosttiB: ']# (5)主KDC进入sbin目录,执行命令: ./kadmin-padmin/admin,输入管理员密码admin,进入kadmin控制台。 首先将主KDC主体添加到数据库中。 执行kadmin命令: addprinc-randkeyhost/kdcl.cserver.netlab 其中randkey表示采用随机密钥,由于KDC用户可以通过管理员admin登录到数据库中, 而不需要用本机的主体登录,所以采用随机密钥,这样可以极大地增加系统安全性。 继续执行kadmin命令: ktaddhost/lab。 通过listprincs命令查看主体文件是否添加成功。 最后执行quit命令退出kadmin控制台。 (6)从KDC以admin用户启动kadmin。 将从KDC主机主体添加到数据库中,执行命令: addprinc-randkey host/kdcXlab(其中kdcX是自己的主机名)。 接下来执行命令: ktaddhost/kdcX.cserver.netlab。 退出kadmin控制台。 (7)所有KDC请求TGT票据,只有在两台KDC都有TGT票据的时候,它们才能正常地进行数据传递。 切换至/opt/kerberos/bin目录,执行命令: ./kinit-k-t/etc/krb5.keytabhost/kdcX.cserver.netlab 其中kinit是获取TGT票据的命令,参数k表示使用密码表文件,参数t表示指明密钥 表文件所在位置,而命令行最后就是用户的主体。 执行命令: klist,查看KDC请求的TGT票据是否成功。 (8)主、从KDC在目录/opt/kerberos/var/krb5kdc下新建文本文件kpropd.acl,用 于主、从KDC之间的数据传递。 所以该文件中应该有所有KDC主机信息 Kost/kdel..n*11ab@CSER.VTR.1TETLAB host/kdcZ.cserv«r.ik^tlabSCSEMR.NTHAE;host/kdc3.cs*rv«rnetlib@CSERYER.NETLAE 文件旧编辑®查看丁终端①标签®帮助也 LM促]「卅宀iL«n定J .rool^lI'jsL6B/_ffvim/etc/xinetd.confrouL^]lcjsl6B/]icexineLdrestart停JhxLnetd: .启就Jxfnetd: [root^lfostfiB/Ifftelnet127.1.2.17TryiRff127.1.2-17... Connected1c127.1.2.17(127.1.2.17)L I;scupechoi'iictcris'.'. ConnectionclosedbyforeiRnhost. [root^HostSB/Jff| 3.配置应用服务器和客户机(主机DE、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-padmin/admin,输入管理员 密码admin,进入kadmin控制台。 为两台应用服务器添加主体,并为其设置一个初始密码。 执行命令: addprinc host/lab(其中hostname指的是分别对应于E、F的主机名),并在 其后输入并确认该主体的密码。 为客户机添加主体,并为其设置一个初始密码,执行命令: addprincclient@CSERVER.NETLAB并在其后输入并确认该主体的密码。 主KDC执行listprincs命令查看主体文件是否添加成功。 将上面设置的这三个主体的密码采用安全方式通知相应主机。 (5)客户机、应用服务器都设置/etc/krb5.conf文件,仅需修改libdefaults、 domain_realm和realms三个模块,其中前两个部分与主KDC一致,realms模块中kdc和 admin_server都填写主KDC的标识。 [1jb e^lni—CSERVIR. dns_lofllnp_r»sin-fals»dns_lo*ku.p_kilc=falstticks=24h =yes. [realms] CSERHKIRTLJ^二[ kdc=kdci.CEanrer.iuetlib: 8S idnin_server=kdcl,cserver.netlab: T49defsult^donain-CE«rv«r.n^tlab } 〔d帅和it』e=alm] eserv«rn«tl&b=CSERV^RHETLAB 5serveritstlib=CSERVER.KETUkE (6)应用服务器需要在本机创建一个加密原密钥的密钥表(keytab)。 在sbin目录下执行命令: ./kadmin-phost/lab,并确认密码, 登录主体数据库。 执行命令: ktaddhost/lab,用以创建一个加密密码的密钥表文 件/etc/krb5.keytab。 执行quit命令,退出kerberos控制台。 4.KDC之间的数据传递 (1)在应用服务器获取密钥表文件后(即完成实验步骤三丨(6)后),主KDC中新建 一个用于数据传播文件slave_datatrans,也就是把整个KDC数据的数据信息打包到一个文 件里,切换至/opt/kerberos/sbin目录,执行命令: ./kdb5_utildump /opt/kerberos/var/krb5kdc/slave_datatrans。 在这一步才进行数据传播,是因为在前面的步骤中主KDC的数据库会被改变,而后面不 会再变了。 (2)在本实验中所用的krb5-1.6.2版本中,需要在所有从KDC上新建一个空的 kerberos数据库,且数据库密码要与主KDC的数据库密码相同。 在sbin目录中执行命令: ./kdb5_utilcreate-s,然后输入数据库管理密码jlcss并确认。 (3)为了实现主KDC到从KDC的kerberos数据传播,需要在所有KDC上建立端口监听。 所有KDC在sbin目录中执行命令: ./kpropd-S,机器就是自动监听传播端口(默认为88)。 (4)手动将主KDC中的数据传递到从KDC中,在sbin目录中执行命令: ./kprop-f/opt/kerberos/var/krb5kdc/slave_datatranskdc2 ./kprop-f/opt/kerberos/var/krb5kdc/slave_datatranskdc3 当出现"databasepropagationtokdc2: SUCCEEDED字样提示信息时,表明数据传递已成功,这时在每个从KDC上都会保存一份主KDC的数据库备份,就算主KDC出现故障,它们也能继续为域内主机提供kerberos服务。 (5)从KDC新建一个数据库备份文件,它用于各KDC之间的鉴别。 在sbin目录中执行 命令: ./kdb5_utilstash,并输入数据库管理密码jlcss确认。 (6)从KDC启动krb5kdc和kadmind,编辑/etc/rc.local使服务开机后自启。 (7)kerberos客户机和应用服务器,修改/etc/krb5.conf文件,把realms模块中kdc 后面的标识修改为给他提供服务的从kdc的标识。 即kdc=kdcXlab(X依从 kdc情况调整)。 (8)应用服务器在本机获取一个身份认证票证(TGT)。 切换至/opt/kerberos/bin目录,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络安全 Kerberos 实验 报告