网络安全课设Kerberos实验报告.docx

上传人:b****5 文档编号:29263331 上传时间:2023-07-21 格式:DOCX 页数:20 大小:49.38KB
下载 相关 举报
网络安全课设Kerberos实验报告.docx_第1页
第1页 / 共20页
网络安全课设Kerberos实验报告.docx_第2页
第2页 / 共20页
网络安全课设Kerberos实验报告.docx_第3页
第3页 / 共20页
网络安全课设Kerberos实验报告.docx_第4页
第4页 / 共20页
网络安全课设Kerberos实验报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

网络安全课设Kerberos实验报告.docx

《网络安全课设Kerberos实验报告.docx》由会员分享,可在线阅读,更多相关《网络安全课设Kerberos实验报告.docx(20页珍藏版)》请在冰豆网上搜索。

网络安全课设Kerberos实验报告.docx

网络安全课设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口4匚

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目录,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1