《第14章 IOS安全.pptx》由会员分享,可在线阅读,更多相关《第14章 IOS安全.pptx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第十四章第十四章 IOS 安全安全密密码与与访问console控制台密控制台密码Console控制台是我们访问路由器第一个关口,也是防御攻击的第一道防线。可以防止别人非法的通过console直接接线的方式访问路由器,同时也可以防止由于管理员突发事件离开路由器控制台,别人可以趁机偷窥的机会。Console控制台密码的配置:Router(config)#line console 0Router(config-line)#login /开启console登录密码验证。必须配置了控制台口令才能启用Router(config-line)#password 0 SpecifiesanUNENCRYPTED
2、passwordwillfollow 7 SpecifiesaHIDDENpasswordwillfollow?默认是0,表示0后面的口令是明文。7表示后面跟的是加密过的密码序列。但是,这种加密方式容易被破解。这种无序的密码口令来自:Router(config)#service password-encryption当使用了该命令后,IOS会对所有的明文口令进行简单的vigenere加密。在配置中会发现开始配置的明文口令hlsz变成了060E033256,我们将该密码序列复制到7后面即可。密密码与与访问特特权密密码 通过了控制台口令进入的是路由器的用户模式思科对ios的默认权限分配是16个级别
3、,要对路由器真正实现管理,必须等拥有足够高的权限,这个也必须得用密码进行限制。下面是两种配置方法:Router(config)#enable password ciscoenablepasswordcisco/该方式保存的配置文件Router(config)#enable secret hlsz enablesecret5$1$r3pX$mmV.4Z0Uu0y/pQ5eOoBkC0/该方式保存的配置文件显然用enable secret hlsz 更加安全,它的安全性比service password-encryption更高。Router(config)#enable secret level
4、 2 cuit /设置权限级别为2的口令。注意此时的权限为默认的15Router#enable 2Router#/从级别15的环境下向级别2转化,不需要密码Routerenable 2 /测试用权限为2的登陆Password:/输入cuitRouter#输入几个命令Router#show run%Invalid input detected at marker./由于未对该权限下赋予可执行的命令,此时不可执行该命令Router(config)#privilege exec level 2 show run /赋予该权限下的命令Router#sh run /再次测试,发现该命令已可以使用Buil
5、ding configuration密密码与与访问远程登程登录密密码 远程登录主要使用在跨越网段较远的地方,通过互联网这个载体,运用telnet或者ssh的方式登录到目标设备上,对目标设备进行操作。确保R1到R2路由可达R1#ping 10.1.1.2Sending5,100-byteICMPEchosto10.1.1.2,timeoutis2seconds:!开启被Telnet的功能R2(config)#line vty 0 4 /VTY的0到4号口打开,允许远程访问R2(config-line)#passwordjyj/配置远程登录密码R2(config-line)#login /启用te
6、lnet口令此时R1已经能telnet上R2,但是虽然能登陆到R2,却进入不了R2的特权模式。配置特权密码R2(config)#enable password ciscoR2(config)#Z测试R1#10.1.1.2Password:/这里输入”jyj”R2enablePassword:/这里输入“cisco”R2#/登陆成功密密码与与访问基于角色的基于角色的CLI思科的用户权限默认分16个级别,0只有几条命令,15级别拥有所有命令,级别1到14默认是一样的权限。如果给一个级别的权限进行授权高级别会自然继承低级别的权限,属于同一个级别的用户如果不经过授权,会拥有一样的权限,比较僵化。cis
7、co开发出了一种类似于windows的用户权限分配方式,就是所谓基于角色的。Router(config)#aaa new-model /要配置基于角色的view,必须要激活AAARouter(config)#parser view hlsz/创建角色hlszRouter(config-view)#secret cisco/设置口令Router(config)#parser view cuit/创建角色cuitRouter(config-view)#secretcisco/设置口令Router(config)#parser view hlszRouter(config-view)#command
8、s exec include showrun/对该角色赋予权限showrunRouter#enable view hlsz/以该角色身份登陆Password:/输入ciscoRouter#show run /有showrun的权限Buildingconfiguration.Router#conf t /没有conft的权限%Invalidinputdetectedatmarker.Router(config)#parser view cuitRouter(config-view)#commands exec include configt/对该角色赋予权限conftRouter#enable
9、view cuit/以该角色登陆Password:/输入ciscoRouter#show ru /无showrun的权限%Invalidinputdetectedatmarker.Router#conf t /有conft权限Router(config)#密密码与与访问基于角色的基于角色的CLI我们可以设置这样一个角色,他可以拥有其他几个用户的整合权限。这样的角色被称之为超级view。Router(config)#parser view cciesuperview /创建了一个超级用户叫superviewRouter(config-view)#secretciscoRouter(config-
10、view)#viewhlsz/继承了hlsz的权限*Mar103:23:06.183:%PARSER-6-SUPER_VIEW_EDIT_ADD:viewhlszaddedtosuperviewccie.Router(config-view)#viewcuit/继承了cuit的权限*Mar103:23:09.339:%PARSER-6-SUPER_VIEW_EDIT_ADD:viewcuitaddedtosuperviewccie.Router#enable view cciePassword:Router#showrun/具有showrun权限Buildingconfiguration.Ro
11、uter#conft/具有conft权限Router(config)#AAAAAA是认证(Authentication)、授权(Authorization)、审计(Accounting)的简写,3A是非常系统和全面的对用户活动和网络使用资源情况安全的描述。AAA从三个方面体现了我们对网络资源的管理和监控。你是你是谁?是否有?是否有资格格访问网网络设备和和网网络资源源你能做什么?你你能做什么?你对网网络设备或者网或者网络资源有什么源有什么样的的访问权利利认证(Authentication)你做了些什么?你你做了些什么?你对网网络设备输入了入了哪些命令?或者你的流量和哪些命令?或者你的流量和访问时
12、间是多少是多少授授权(Authorization)审计(Accounting)AAA认证对用户网络身份的确认,看看这个id是否是被允许的访问用户。Router(config)#aaa new-model/全局启用AAARouter(config)#aaa authentication login default local /指明认证的方式default是一个默认的名字,而且这个名字就叫默认(default),它会在你所有的登录接口上启用也可以用另外的名字,用另外的名字将不会在每个登陆接口上启用,需要手动设置。Router(config)#aaa authentication loginhls
13、zlocal/关键词local指明认证用的数据库是本地数据库,就是用户名和密码在本地定义Router(config)#line console 0Router(config-line)#login authenticationhlsz/如果要在console控制台启用这个认证必须得在console控制台应用这个认证方式列表。Router(config)#usernameciscopassword cisco/定义一个本地用户名和密码Username:ciscoPassword:/输入ciscoRouter/通过AAA的方式成功登录到路由器AAA认证在包含了ACS服务器后重新设计一下R2的AAA
14、配置:R2配置:R2(config)#aaanew-modelR2(config)#aaaauthenticationlogindefaultgrouptacacs+这次我们没有用本地认证,我们使用了tacacs+方式,用ACS服务器进行认证r2(config)#tacacs-serverhost11.1.1.1/指定了ACS服务器的ip地址r2(config)#tacacs-serverkeycisco/指定验证对方用的key对ACS服务器进行配置:1在在ACS上配置用户名和密码上配置用户名和密码:点击左侧菜单中的user setup,然后在user的空白处,填入新增加的用户名ccna,然后
15、点击ADD/Edit按钮,在password处输入密码ccna,再确认输一次。数据库默认是ACS Internal Database,不要改变,其他的也不用理会。2设置设置AAA服务器的客户端服务器的客户端:点击左侧导航栏中的Network Cconfiguration按钮在AAA clients的下面点击Add Entry,增加一个新的客户端。分别输入客户端主机名R2(这个随便起),ip地址 11.1.1.254,还有认证key cisco,认证方式我们选择TACACS+(Cisco IOS)。3重新启动一下重新启动一下ACS的服务的服务AAA授授权用户一旦认证成功之后,他可以做什么事情,我
16、们可以在acs上对用户的权限进行赋予和限制点击,然后点击,后点击右上角JumpToTACACS+在AAA客户端上配置授权:r2(config)#aaaauthorizationexechlszgrouptacacs+r2(config)#linevty04r2(config-line)#authorizationexechlsz在ACS服务器上做授权:1勾选shell和privilege前面的选项框。并在privilege后面的框里面输入特权级别数字151AAA审计审计,就是用户都做哪些操作,登录了多长时间,用的网络流量是多少。在r2上开启审计r2(config)#aaaaccountingc
17、ommands14hlszstart-stopgrouptacacs+r2(config)#linevty04r2(config-line)#accountingcommands14hlsz在r1上访问登录:r1#telnet10.1.1.2Trying10.1.1.2.OpenUsername:ccnaPassword:在ACS上查看审计点击,然后,点击TACACS+Administration,然后点击Tacacs+Administrationactive.csv选项,即可看到审计信息。管理安全管理安全telnettelnet的传输是明文的,也就是说,我们可以用简单的抓包工具来偷窥我们的密
18、码。作为一个专业的网络工程师,是不能随便用telnet这个协议的,你可以使用更安全的SSH协议,或者请对telnet的通信用IPSEC进行加密保护。管理安全管理安全SSH与telnet先比,ssh整个的工作过程更加复杂,并且不同厂家的实现方式也有差别,SSH使用tcp的端口号22,SSH利用公钥认证体系来生成一个共享密码,这个密码用来加密数据,这样用户名和口令就能被保护,不会向telnet那样被窃听了。R2上开启SSHr2(config)#ip domain-name key generate rsa /产生RSA密钥对r2(config)#line vty 0 4r2(config-line
19、)#transport input sshr2(config-line)#login local /在linevty下激活SSHr2(config)#username ccna passwordccna/配置一个本地用户名和密码测试r1#ssh-c 3des-lccna10.1.1.2Password:r2SSH参数解释:r1#ssh?-c选择加密算法-l使用这个用户名-m选择HMAC算法-o指定选项-p连到这个端口-v制定ssh协议版本WORDip地址或者主机名管理安全管理安全日志日志日志就是记录,就是我们在操作系统的过程中,系统有必要做出一些提示或者警告,或者把一些调试的信息可以保存记录起
20、来,以供日后查看调用分析等开启日志功能:r1(config)#logging host 11.1.1.1/定义日志服务器的地址r1(config)#logging trapdebugging/定义的是日志的级别测试:r1#debug ip icmp ICMPpacketdebuggingisonr1#ping11.1.1.1Typeescapesequencetoabort.Sending5,100-byteICMPEchosto11.1.1.1,timeoutis2seconds:!Successrateis100percent(5/5),round-tripmin/avg/max=4/17
21、/40msr1#*Mar121:48:28.906:ICMP:echoreplyrcvd,src11.1.1.1,dst11.1.1.254去日志服务器上能查看到debug日志消息。VPN IPSEC VPN包含的种类很多,并不一定要加密,像我们学习过的帧中继,它也是VPN。MPLSVPN,它是从虚拟路由器的角度来看的,一个路由器里面有不同的路由表,每个VPN客户有他独特的路由表。而IPSECVPN是从加密的角度来看的,可以放心选择公共线路,数据是加密的。从安全行的角度来看,特别像专线(PN),所以也是VPN的一种。IPSEC三大三大协议IKEESPAH认证对方和自方和自动协商加密密商加密密钥
22、包含包含协商一个安全商一个安全通行通道和通行通道和协商商IPSEC SA两个两个阶段段对数据包数据包进行行验证认证、加、加密数据密数据VPN IPSEC用公开密用公开密码进行加密,用私有密行加密,用私有密码进行解密行解密私有密私有密码由公开密由公开密码经过算法算法产生,生,解决了密解决了密码的的传递问题加解密的速度非常慢加解密的速度非常慢公钥加密加密方和解密方的密加密方和解密方的密钥是相同的是相同的加解密速度快,是加解密速度快,是现在数据主流的加密方式在数据主流的加密方式DES,3DES,AES对称加密VPN IPSEC单向向计算不能逆向运算算不能逆向运算适合做完整性适合做完整性验证HASH算
23、法通通过两个两个对等体之等体之间的公的公钥等数据的交等数据的交换,利用数学,利用数学算法可以在两端得出相同的密算法可以在两端得出相同的密钥。这个密个密钥再作再作为密密钥的种子得出其他用途的密的种子得出其他用途的密钥DH算法VPN IPSEC制定IKE阶段1的策略:r1(config)#cryptoisakmppolicy10r1(config-isakmp)#authenticationpre-share/认证方式r1(config-isakmp)#encryption3des/加密算法r1(config-isakmp)#hashshar1(config-isakmp)#group2r1(co
24、nfig-isakmp)#lifetime7200/安全参数的生存时间r1和和r2两边的两边的IKE阶段阶段1的策略要相同的策略要相同配置预共享密钥:r1(config)#cryptoisakmpkey0ciscoaddress12.1.1.2r2(config)#cryptoisakmpkey0ciscoaddress12.1.1.1配置IPSEC转换集:r1(config)#cryptoipsectransform-sethlszesp-3desesp-sha-hmacr2(config)#cryptoipsectransform-sethlszesp-3desesp-sha-hmac创建
25、感兴趣数据流:r1(config)#access-list100permitiphost1.1.1.1host2.2.2.2r2(config)#access-list100permitiphost2.2.2.2host1.1.1.1创建加密图:把需要的一些配置集中把需要的一些配置集中来来r1(config)#cryptomapcuit1ipsec-isakmpr1(config-crypto-map)#setpeer12.1.1.2r1(config-crypto-map)#settransform-sethlszr1(config-crypto-map)#matchaddress100r1
26、和和r2两边的两边的IKE阶段阶段1的策略要相同的策略要相同把加密图应用到接口:r1(config)#interfacefastEthernet0/0r1(config-if)#cryptomapcuitr1和和r2两边的两边的IKE阶段阶段1的策略要相同的策略要相同测试:r1#ping2.2.2.2sourceloopback0Typeescapesequencetoabort.Sending5,100-byteICMPEchosto2.2.2.2,timeoutis2seconds:Packetsentwithasourceaddressof1.1.1.1.!VPN SSLVPNSSLVP
27、N不需要安装客户端,现在电脑上的浏览器都默认支持SSLVPN。SSLVPN工作在应用层和传输层之间,它特别适合于web的应用。IPSEC工作在网络层。协议分为两部分:HandshakeProtocol和RecordProtocol。HandshakeProtocol用来协商密钥,RecordProtocol则定义了传输的格式。用用户在在浏览器的地址器的地址栏里里输入入https:/HTTP层将用将用户需求翻需求翻译成成HTTP请求求SSL层借助下借助下层协议的的信道安全的的的信道安全的协商出一份商出一份加密密加密密钥,并用此密,并用此密钥来加密来加密HTTP请求求TCP层与与webserver
28、的的443端口建立端口建立连接,接,传递SSL处理后的数据理后的数据VPN SSLVPN SSL客户端(也是TCP的客户端)在TCP链接建立之后,发出一个ClientHello来发起握手,这个消息里面包含了自己可实现的算法列表和其它一些需要的消息,SSL的服务器端会回应一个ServerHello,这里面确定了这次通信所需要的算法,然后发过去自己的证书(里面包含了身份和自己的公钥)。Client在收到这个消息后会生成一个秘密消息,用SSL服务器的公钥加密后传过去,SSL服务器端用自己的私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信了。VPN SSLVPN配置认证:gateway(c
29、onfig)#aaanew-modelgateway(config)#aaaauthenticationloginwebvpnlocalgateway(config)#usernamecuitpasswordcuit配置哪个接口开启webvpn服务:gateway(config)#webvpngatewaytestgatewaygateway(config-webvpn-gateway)#ipaddress10.1.1.254port443gateway(config-webvpn-gateway)#inservice这步配置完成后,这步配置完成后,ssl网关会生成一个自签名的证书网关会生成一个自签名的证书创建webvpn上下文:gateway(config)#webvpncontextc1gateway(config-webvpn-context)#gatewaytestgatewaydomainoagateway(config-webvpn-context)#aaaauthenticationlistwebvpngateway(config-webvpn-context)#inservice在客户端浏览器上测试本章小本章小结THANK YOU!THANK YOU!