![]() |
|
Spaces home ★滔滔不绝★PhotosProfileFriendsMore ![]() | ![]() |
|
★滔滔不绝★连涛 Tao Lian
May 05 用policy-map封杀msn 7.51. Using ACL block relavent port to msn, such tcp/udp 1836, etc. 2. But, as we all know, msn 7.5 can use http(tcp 80 port) go through firewall. There are some sample of msn http header Here is the first request and response in a notification server session:
Here is the first request in a switchboard server session:
Here is a message polling the server for queued messages, and finding none:
Here is a message closing the session from the client side:
April 12 Cisco路由器的安全配置简易方案一,路由器访问控制的安全配置 1,严格控制可以访问路由器的管理员。任何一次维护都需要记录备案。 2,建议不要远程访问路由器。即使需要远程访问路由器,建议使用访问控制列表和高强度的密码控制。 3,严格控制CON端口的访问。具体的措施有: A,如果可以开机箱的,则可以切断与CON口互联的物理线路。 B,可以改变默认的连接属性,例如修改波特率(默认是96000,可以改为其他的)。 C,配合使用访问控制列表控制对CON口的访问。 如:Router(Config)#Access-list 1 permit 192.168.0.1 Router(Config)#line con 0 Router(Config-line)#Transport input none Router(Config-line)#Login local Router(Config-line)#Exec-timeoute 5 0 Router(Config-line)#access-class 1 in Router(Config-line)#end D,给CON口设置高强度的密码。 4,如果不使用AUX端口,则禁止这个端口。默认是未被启用。禁止如: Router(Config)#line aux 0 Router(Config-line)#transport input none Router(Config-line)#no exec 5,建议采用权限分级策略。如: Router(Config)#username BluShin privilege 10 G00dPa55w0rd Router(Config)#privilege EXEC level 10 telnet Router(Config)#privilege EXEC level 10 show ip access-list 6,为特权模式的进入设置强壮的密码。不要采用enable password设置密码。而要采用enable secret命令设置。并且要启用Service password-encryption。 7, 控制对VTY的访问。如果不需要远程访问则禁止它。如果需要则一定要设置强壮的密码。由于VTY在网络的传输过程中为加密,所以需要对其进行严格的控制。 如:设置强壮的密码;控制连接的并发数目;采用访问列表严格控制访问的地址;可以采用AAA设置用户的访问控制等。 8,IOS的升级和备份,以及配置文件的备份建议使用FTP代替TFTP。如: Router(Config)#ip ftp username BluShin Router(Config)#ip ftp password 4tppa55w0rd Router#copy startup-config ftp: 9,及时的升级和修补IOS软件。 二,路由器网络服务安全配置 1,禁止CDP(Cisco Discovery Protocol)。如: Router(Config)#no cdp run Router(Config-if)# no cdp enable 2,禁止其他的TCP、UDP Small服务。 Router(Config)# no service tcp-small-servers Router(Config)# no service udp-samll-servers 3,禁止Finger服务。 Router(Config)# no ip finger Router(Config)# no service finger 4,建议禁止HTTP服务。 Router(Config)# no ip http server 如果启用了HTTP服务则需要对其进行安全配置:设置用户名和密码;采用访问列表进行控制。如: Router(Config)# username BluShin privilege 10 G00dPa55w0rd Router(Config)# ip http auth local Router(Config)# no access-list 10 Router(Config)# access-list 10 permit 192.168.0.1 Router(Config)# access-list 10 deny any Router(Config)# ip http access-class 10 Router(Config)# ip http server Router(Config)# exit 5,禁止BOOTp服务。 Router(Config)# no ip bootp server 禁止从网络启动和自动从网络下载初始配置文件。 Router(Config)# no boot network Router(Config)# no servic config 6,禁止IP Source Routing。 Router(Config)# no ip source-route 7,建议如果不需要ARP-Proxy服务则禁止它,路由器默认识开启的。 Router(Config)# no ip proxy-arp Router(Config-if)# no ip proxy-arp 8,明确的禁止IP Directed Broadcast。 Router(Config)# no ip directed-broadcast 9,禁止IP Classless。 Router(Config)# no ip classless 10,禁止ICMP协议的IP Unreachables,Redirects,Mask Replies。 Router(Config-if)# no ip unreacheables Router(Config-if)# no ip redirects Router(Config-if)# no ip mask-reply 11,建议禁止SNMP协议服务。在禁止时必须删除一些SNMP服务的默认配置。或者需要访问列表来过滤。如: Router(Config)# no snmp-server community public Ro Router(Config)# no snmp-server community admin RW Router(Config)# no access-list 70 Router(Config)# access-list 70 deny any Router(Config)# snmp-server community MoreHardPublic Ro 70 Router(Config)# no snmp-server enable traps Router(Config)# no snmp-server system-shutdown Router(Config)# no snmp-server trap-anth Router(Config)# no snmp-server Router(Config)# end 12,如果没必要则禁止WINS和DNS服务。 Router(Config)# no ip domain-lookup 如果需要则需要配置: Router(Config)# hostname Router Router(Config)# ip name-server 202.102.134.96 13,明确禁止不使用的端口。 Router(Config)# interface eth0/3 Router(Config)# shutdown 三,路由器路由协议安全配置 1,首先禁止默认启用的ARP-Proxy,它容易引起路由表的混乱。 Router(Config)# no ip proxy-arp 或者 Router(Config-if)# no ip proxy-arp 2,启用OSPF路由协议的认证。默认的OSPF认证密码是明文传输的,建议启用MD5认证。并设置一定强度密钥(key,相对的路由器必须有相同的Key)。 Router(Config)# router ospf 100 Router(Config-router)# network 192.168.100.0 0.0.0.255 area 100 ! 启用MD5认证。 ! area area-id authentication 启用认证,是明文密码认证。 !area area-id authentication message-digest Router(Config-router)# area 100 authentication message-digest Router(Config)# exit Router(Config)# interface eth0/1 !启用MD5密钥Key为routerospfkey。 !ip ospf authentication-key key 启用认证密钥,但会是明文传输。 !ip ospf message-digest-key key-id(1-255) md5 key Router(Config-if)# ip ospf message-digest-key 1 md5 routerospfkey 3,RIP协议的认证。只有RIP-V2支持,RIP-1不支持。建议启用RIP-V2。并且采用MD5认证。普通认证同样是明文传输的。 Router(Config)# config terminal ! 启用设置密钥链 Router(Config)# key chain mykeychainname Router(Config-keychain)# key 1 !设置密钥字串 Router(Config-leychain-key)# key-string MyFirstKeyString Router(Config-keyschain)# key 2 Router(Config-keychain-key)# key-string MySecondKeyString !启用RIP-V2 Router(Config)# router rip Router(Config-router)# version 2 Router(Config-router)# network 192.168.100.0 Router(Config)# interface eth0/1 ! 采用MD5模式认证,并选择已配置的密钥链 Router(Config-if)# ip rip authentication mode md5 Router(Config-if)# ip rip anthentication key-chain mykeychainname 4, 启用passive-interface命令可以禁用一些不需要接收和转发路由信息的端口。建议对于不需要路由的端口,启用passive- interface。但是,在RIP协议是只是禁止转发路由信息,并没有禁止接收。在OSPF协议中是禁止转发和接收路由信息。 ! Rip中,禁止端口0/3转发路由信息 Router(Config)# router Rip Router(Config-router)# passive-interface eth0/3 !OSPF中,禁止端口0/3接收和转发路由信息 Router(Config)# router ospf 100 Router(Config-router)# passive-interface eth0/3 5,启用访问列表过滤一些垃圾和恶意路由信息,控制网络的垃圾信息流。 Router(Config)# access-list 10 deny 192.168.1.0 0.0.0.255 Router(Config)# access-list 10 permit any ! 禁止路由器接收更新192.168.1.0网络的路由信息 Router(Config)# router ospf 100 Router(Config-router)# distribute-list 10 in !禁止路由器转发传播192.168.1.0网络的路由信息 Router(Config)# router ospf 100 Router(Config-router)# distribute-list 10 out 6,建议启用IP Unicast Reverse-Path Verification。它能够检查源IP地址的准确性,从而可以防止一定的IP Spooling。但是它只能在启用CEF(Cisco Express Forwarding)的路由器上使用。 Router# config t ! 启用CEF Router(Config)# ip cef !启用Unicast Reverse-Path Verification Router(Config)# interface eth0/1 Router(Config)# ip verify unicast reverse-path 四,路由器审核安全配置 五,路由器其他安全配置 1,及时的升级IOS软件,并且要迅速的为IOS安装补丁。 2,要严格认真的为IOS作安全备份。 3,要为路由器的配置文件作安全备份。 4,购买UPS设备,或者至少要有冗余电源。 5,要有完备的路由器的安全访问和维护记录日志。 6,要严格设置登录Banner。必须包含非授权用户禁止登录的字样。 7, IP欺骗得简单防护。如过滤非公有地址访问内部网络。过滤自己内部网络地址;回环地址(127.0.0.0/;RFC1918私有地址;DHCP自定义地 址(169.254.0.0/16);科学文档作者测试用地址(192.0.2.0/24);不用的组播地址(224.0.0.0/4);SUN公司的古 老的测试地址(20.20.20.0/24;204.152.64.0/23);全网络地址(0.0.0.0/。 Router(Config)# access-list 100 deny ip 192.168.0.0 0.0.0.255 any log Router(Config)# access-list 100 deny ip 127.0.0.0 0.255.255.255 any log Router(Config)# access-list 100 deny ip 192.168.0.0 0.0.255.255 any log Router(Config)# access-list 100 deny ip 172.16.0.0 0.15.255.255 any log Router(Config)# access-list 100 deny ip 10.0.0.0 0.255.255.255 any log Router(Config)# access-list 100 deny ip 169.254.0.0 0.0.255.255 any log Router(Config)# access-list 100 deny ip 192.0.2.0 0.0.0.255 any log Router(Config)# access-list 100 deny ip 224.0.0.0 15.255.255.255 any Router(Config)# access-list 100 deny ip 20.20.20.0 0.0.0.255 any log Router(Config)# access-list 100 deny ip 204.152.64.0 0.0.2.255 any log Router(Config)# access-list 100 deny ip 0.0.0.0 0.255.255.255 any log 8,建议采用访问列表控制流出内部网络的地址必须是属于内部网络的。如: Router(Config)# no access-list 101 Router(Config)# access-list 101 permit ip 192.168.0.0 0.0.0.255 any Router(Config)# access-list 101 deny ip any any log Router(Config)# interface eth 0/1 Router(Config-if)# description “internet Ethernet” Router(Config-if)# ip address 192.168.0.254 255.255.255.0 Router(Config-if)# ip access-group 101 in 9,TCP SYN的防范。如: A: 通过访问列表防范。 Router(Config)# no access-list 106 Router(Config)# access-list 106 permit tcp any 192.168.0.0 0.0.0.255 established Router(Config)# access-list 106 deny ip any any log Router(Config)# interface eth 0/2 Router(Config-if)# description “external Ethernet” Router(Config-if)# ip address 192.168.1.254 255.255.255.0 Router(Config-if)# ip access-group 106 in B:通过TCP截获防范。(这会给路由器产生一定负载) Router(Config)# ip tcp intercept list 107 Router(Config)# access-list 107 permit tcp any 192.168.0.0 0.0.0.255 Router(Config)# access-list 107 deny ip any any log Router(Config)# interface eth0 Router(Config)# ip access-group 107 in 10,LAND.C 进攻的防范。 Router(Config)# access-list 107 deny ip host 192.168.1.254 host 192.168.1.254 log Router(Config)# access-list permit ip any any Router(Config)# interface eth 0/2 Router(Config-if)# ip address 192.168.1.254 255.255.255.0 Router(Config-if)# ip access-group 107 in 11,Smurf进攻的防范。 Router(Config)# access-list 108 deny ip any host 192.168.1.255 log Router(Config)# access-list 108 deny ip any host 192.168.1.0 log 12, ICMP协议的安全配置。对于进入ICMP流,我们要禁止ICMP协议的ECHO、Redirect、Mask request。也需要禁止TraceRoute命令的探测。对于流出的ICMP流,我们可以允许ECHO、Parameter Problem、Packet too big。还有TraceRoute命令的使用。 ! outbound ICMP Control Router(Config)# access-list 110 deny icmp any any echo log Router(Config)# access-list 110 deny icmp any any redirect log Router(Config)# access-list 110 deny icmp any any mask-request log Router(Config)# access-list 110 permit icmp any any ! Inbound ICMP Control Router(Config)# access-list 111 permit icmp any any echo Router(Config)# access-list 111 permit icmp any any Parameter-problem Router(Config)# access-list 111 permit icmp any any packet-too-big Router(Config)# access-list 111 permit icmp any any source-quench Router(Config)# access-list 111 deny icmp any any log ! Outbound TraceRoute Control Router(Config)# access-list 112 deny udp any any range 33400 34400 ! Inbound TraceRoute Control Router(Config)# access-list 112 permit udp any any range 33400 34400 13,DDoS(Distributed Denial of Service)的防范。 ! The TRINOO DDoS system Router(Config)# access-list 113 deny tcp any any eq 27665 log Router(Config)# access-list 113 deny udp any any eq 31335 log Router(Config)# access-list 113 deny udp any any eq 27444 log ! The Stacheldtraht DDoS system Router(Config)# access-list 113 deny tcp any any eq 16660 log Router(Config)# access-list 113 deny tcp any any eq 65000 log ! The TrinityV3 System Router(Config)# access-list 113 deny tcp any any eq 33270 log Router(Config)# access-list 113 deny tcp any any eq 39168 log ! The SubSeven DDoS system and some Variants Router(Config)# access-list 113 deny tcp any any range 6711 6712 log Router(Config)# access-list 113 deny tcp any any eq 6776 log Router(Config)# access-list 113 deny tcp any any eq 6669 log Router(Config)# access-list 113 deny tcp any any eq 2222 log Router(Config)# access-list 113 deny tcp any any eq 7000 log 13,建议启用SSH,废弃掉Telnet。但只有支持并带有IPSec特征集的IOS才支持SSH。并且IOS12.0-IOS12.2仅支持SSH-V1。如下配置SSH服务的例子: Router(Config)# config t Router(Config)# no access-list 22 Router(Config)# access-list 22 permit 192.168.0.22 Router(Config)# access-list deny any Router(Config)# username BluShin privilege 10 G00dPa55w0rd ! 设置SSH的超时间隔和尝试登录次数 Router(Config)# ip ssh timeout 90 Router(Config)# ip ssh anthentication-retries 2 Router(Config)# line vty 0 4 Router(Config-line)# access-class 22 in Router(Config-line)# transport input ssh Router(Config-line)# login local Router(Config-line)# exit !启用SSH服务,生成RSA密钥对。 Router(Config)# crypto key generate rsa The name for the keys will be: router.blushin.org Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys .Choosing a key modulus greater than 512 may take a few minutes. How many bits in the modulus[512]: 2048 Generating RSA Keys... [OK] Router(Config)# April 10 CISCO-学习笔记-VPN一、 IKE协商的阶段简单描述: IKE协商可以和TCP的三次握手来类比,只不过IKE协商要比TCP的三次握手要复杂一些,IKE协商采用的UDP报文格式,默认端口是500,在主模式下,一个正常的IKE协商过程需要经过9个报文的来回,才最终建立起通信双方所需要的IPSec SA,然后双方利用该SA就可以对数据流进行加密和解密。下面结合简单描述一下协商的过程。 假设A和B进行通信,A作为发起方,A发送的第一个报文内容是本地所支持的IKE的策略(即下面所提到的Policy),该policy的内容有加密算法、hash算法、D-H组、认证方式、SA的生存时间等5个元素。这5个元素里面值得注意的是认证方式,目前采用的主要认证方式有预共享和数字证书。在简单的VPN应用中,一般采用预共享方式来认证身份。在本文的配置中也是以预共享为例来说明的。可以配置多个策略,对端只要有一个与其相同,对端就可以采用该policy,并在第二个报文中将该policy发送回来,表明采用该policy为后续的通信进行保护。第三和第四个报文是进行D-H交换的D-H公开值,这与具体的配置影响不大。在完成上面四个报文交换后,利用D-H算法,A和B就可以协商出一个公共的秘密,后续的密钥都是从该秘密衍生出来的。第五和第六个报文是身份验证过程,前面已经提高后,有两种身份验证方式——预共享和数字证书,在这里,A将其身份信息和一些其他信息发送给B,B接受到后,对A的身份进行验证,同时B将自己的身份信息也发送给A进行验证。采用预共享验证方式的时候,需要配置预共享密钥,标识身份有两种方式,其一是IP地址,其二是主机名(hostname)。在一般的配置中,可以选用IP地址来标识身份。完成前面六个报文交换的过程,就是完成IKE第一阶段的协商过程。如果打开调试信息,会看到IKE SA Establish(IKE SA已经建立),也称作主模式已经完成。 IKE的第二阶段是快速模式协商的过程。该模式中的三个报文主要是协商IPSec SA,利用第一阶段所协商出来的公共的秘密,可以为该三个报文进行加密。在配置中,主要涉及到数据流、变换集合以及对完美前向保护(PFS)的支持。在很多时候,会发现IKE SA已经建立成功,但是IPSec SA无法建立起来,这时最有可能的原因是数据流是否匹配(A所要保护的数据流是否和B所保护的数据流相对应)、变换集合是否一致以及pfs配置是否一致。 二、 IKE、IPSec配置基本步骤 1.配置IKE 策略(policy) policy就是上图中的IKE策略。Policy里面的内容有hash算法、加密算法、D-H组、生存时间。可以配置多个policy,只要对端有一个相同的,双方就可以采用该policy,不过要主要policy中的认证方式,因为认证方式的不同会影响后续的配置不同。一般采用预共享(preshare)。在目前的安全路由器和VPN3020上的实现上都有默认的配置选项,也就是说如果你新增加一条策略后,即使什么都不配置,退出后,也会有默认值的。 2.配置预共享密钥(preshare) 在配置预共享密钥的时候,需要选择是IP地址还是Hostname来标识该密钥,如果对端是IP地址标识身份,就采用IP地址来标识密钥;如果对端是Hostname来标识身份,则采用hostname来标识密钥。 3.配置本端标识(localid) 本端标识有IP地址和Hostname,在安全路由器上,默认的是用IP地址来标识。即不配置本端标识,就表示是用IP地址来标识。 以上三个步骤就完成IKE的配置,以下是IPSec的配置: 4.配置数据流(access-list) 很容易理解,部署任何VPN都需要对数据流所限制,不可能对所有的数据流都进行加密(any to any)。配置好数据流后,在加密映射(map)中引用该数据流。 5.配置变换集合(transform-set) 变换集合是某个对等方能接受的一组IPSec协议和密码学算法。双方只要一致即可。注意,在VPN3020和带加密模块的安全路由器上支持国密办的SSP02算法。 6.配置加密映射(map) 为IPSec创建的加密映射条目使得用于建立IPSec安全联盟的各个部件协调工作,它包括以下部分: l 所要保护的数据流(引用步骤4所配置的数据流) l 对端的IP地址(这个是必须的,除非是动态加密映射,见本文后面的章节) l 对所要保护的数据流采用什么加密算法和采用什么安全协议(引用步骤5所配置的变换集合) l 是否需要支持PFS(双方要一致) l SA的生存时间(是可选的,不配置的话有默认值) 7.应用(激活)加密映射 在安全路由器上是将该加密映射应用到接口上去,而在VPN3020上是激活(active)该map。 三、 动态加密映射技术 目前,安全路由器系列和VPN系列均支持动态加密映射。什么是动态加密映射?动态加密映射所应用的环境是什么呢?我们可以从以下的一个案例中来说明动态加密映射的概念。如下图: 在上图的网络拓扑中,MP803接入Internet的并不是宽带接入(固定IP地址),而是在通过电信ADSL拨号来获取到IP地址,不是固定的IP地址。这时候,对于上端MP2600A来说,就存在问题了,回想一下前面所描述的配置步骤,在步骤六中配置加密映射的时候,需要配置对端的peer IP地址,这时候怎么办呢?或许您想到——那我每次拨号获取到IP地址后,再在两端来配置IPSec——这种解决办法是OK的,只要客户或者您自己容忍每次MP803重新拨号后,您重新去更改配置。显然,这样方法充其量只能用来测试的。 动态加密映射就是用来解决这类问题的。顾名思义,动态加密映射,就是说,在配置加密映射的时候,不需要配置对端的peer IP地址。目前,安全路由器和VPN系列都支持动态加密映射,但由于两者实现上的差异,导致他们在配置动态加密映射的时候存在一些不同,在后文的实际配置案例中会讲到。 四、 NAT穿越略述 NAT穿越是指在两台VPN网关之间的还存在NAT设备,从原理来说,NAT和IPSec存在一定的矛盾。主要体现两点:NAT更改了IP数据包的IP源地址或者目的地址,这与IPSec协议中的AH认证头协议存在不可调和的矛盾,因此如果IPSec报文需要穿越NAT设备的话,在配置变换集合的时候就不能选用AH协议(目前,由于ESP协议也提供验证功能,AH使用很少);第二点是NAT设备的端口地址转换是针对TCP/UDP/ICMP等协议。对于ESP协议,没有相应的处理机制。具体详细资料请查看IETF的草案。此外,NAT穿越目前还没有国际标准,公司在国内率先实现了NAT穿越功能。目前,公司的安全路由器、VPN3020等都已经实现了NAT穿越。 NAT穿越对于路由器和VPN3020上的配置没有任何的改变。目前,公司的北京办和总部的互联的两台路由器建立隧道就是穿越了NAT。 五、 实际配置案例 案例1:路由器与路由器互通 网络拓扑如图所示: 网络拓扑1 需求:两台MP2600路由器,都有固定的公网IP地址,现在需要构建VPN,保护在两台路由器后面的网络。使PC1能够访问到PC2。 规划:使用IKE自动协商密钥,policy的参数设置,加密算法为des、验证算法为sha方式为预共享、D-H组为group 1;身份标识为IP地址,以IP地址作来标识预共享密钥;变换集合参数设置,隧道模式为tunnel、协议-算法为esp-des、esp-md5;不启用pfs;在配置注意,避免配置所要保护的数据流为any到any。首先是在实际使用过程中,不会有这样的需求,其次,这样会让很多本来不需要加密的通信无法通信。 具体配置脚本: ======================================================= MP2600A ======================================================= MP2600A#sh running-config Building Configuration...done Current configuration... version 2.24.8 hostname MP2600A enable password [WOWWWNXSX encrypt no service password-encrypt no service enhanced-secure ip tcp timestamp //步骤4:配置访问列表,定义所要保护的数据流。 ip access-list extended 1001 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 exit //步骤5:配置变换集合,定义数据加密所使用的算法和安全协议 crypto ipsec transform-set tr1 esp-des esp-md5-hmac mode tunnel exit //步骤六:配置加密映射,将各种组件联系在一起 crypto map map1 1 ipsec-isakmp match address 1001 //引用步骤4所配置的数据流 set peer 2.2.2.2 set transform-set tr1 //引用步骤5所配置的变化集合 set security-association lifetime seconds 28800 set security-association lifetime kilobytes 4608000 exit interface loopback0 exit interface fastethernet0 ip address 1.1.1.3 255.255.255.0 //步骤七:将加密映射应用到接口上去. crypto map map1 exit interface ethernet0 ip address 192.168.1.1 255.255.255.0 exit ip route 0.0.0.0 0.0.0.0 1.1.1.1 //步骤1:配置IKE的policy crypto isakmp policy 1 encryption des hash sha authentication pre-share group 1 lifetime 86400 exit //步骤2:配置预共享密钥,此处配置的是对端VPN网关的IP地址. crypto isakmp key maipu address 2.2.2.2 ======================================================= MP2600B ======================================================= MP2600B#sh running-config Building Configuration...done Current configuration... version 2.24.8 hostname MP2600B user faint password 0 faint enable password [WOWWWNXSX encrypt no service password-encrypt no service enhanced-secure ip tcp timestamp //该数据流与MP2600A的数据流相对应。 ip access-list extended 1001 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 exit crypto ipsec transform-set tr1 esp-des esp-md5-hmac mode tunnel exit crypto map map1 1 ipsec-isakmp match address 1001 set peer 1.1.1.3 set transform-set tr1 set security-association lifetime seconds 28800 set security-association lifetime kilobytes 4608000 exit interface loopback0 exit interface fastethernet0 ip address 2.2.2.2 255.255.255.0 crypto map map1 exit interface ethernet0 ip address 192.168.2.1 255.255.255.0 exit interface serial0 physical-layer sync encapsulation hdlc exit interface serial2 physical-layer sync encapsulation hdlc exit ip route 0.0.0.0 0.0.0.0 2.2.2.1 //与MP2600A的policy至少有一个相同 crypto isakmp policy 1 encryption des hash sha authentication pre-share group 1 lifetime 86400 exit crypto isakmp key maipu address 1.1.1.3 路由器上的调试命令: 如果是telnet登录到路由器上,执行ter monitor命令。然后打开调试开关 debug crypto isakmp normal就能够看到IKE的协商过程和调试信息,从调试信息中可以获取到协商到那个阶段,由于那些问题而协商失败。 以下是两端成功的协商信息。 注意:如果中途协商失败,两端需要执行clear crypto sa命令来清除当前SA的状态以便于重新协商。 几个与IPSec相关的show命令: show crypto isakmp policy:查看路由器上已经配置了那些policy; show crypto isakmp connection <Number>:查看路由器上已经存在的isakmp 连接数; show crypto isakmp identity:查看路由器上的身份标识方式; show crypto ipsec sa;查看路由器上已经存在的IPSec SA;该命令比较重要,有时候通过该命令来判断IPSec SA是否已经建立成功。 Show crypto ipsec transform-set:查看路由器上已经配置的变换集合。 案例2:路由器与路由器之动态加密映射 网络拓扑如图所示: 网络拓扑2 下面简单说明其配置步骤: IKE的配置与前述的配置步骤一样,主要是IPSec的配置有些差异。动态加密映射是不需要配置所要保护的数据流。因此,步骤四:配置变换集合;步骤五:配置动态加密映射(在路由器上的命令是:crypto dynamic-map);步骤六:配置一个静态加密映射,将其与动态加密映射关联起来;步骤七:在接口上应用步骤六中配置的静态加密映射,此处不能也无法应用动态加密映射; 配置规划:MP803所挂接的局域网当需要和总部通信的时候(源:192.168.2.0/24;目的:192.168.1.0/24),应该走VPN隧道,这也是我们要保护的数据流,对于其他的数据流,例如局域网中的主机上网的数据流,应该是走NAT(源:192.168.2.0/24;目的:any),很明显,这两个数据流是包含的关系,路由器的处理顺序是先进行NAT转换,到了接口后再匹配VPN隧道。因此在配置NAT的数据流的时候,先要deny掉该上总部内网的数据流。 具体配置脚本: ================================================================= MP803:ADSL拨号,同时实现上网和走NAT ================================================================= hostname MP803 enable password [WOWWWNXSX encrypt no service password-encrypt no service enhanced-secure ip tcp timestamp //定义要保护的数据流 ip access-list extended 1001 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 exit //定义该数据流走NAT上网,为了避免走内网的数据流也“上网”去了, //先deny该数据流 ip access-list extended 1002 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 permit ip 192.168.2.0 0.0.0.255 any exit dialer-list 1 protocol ip permit //配置NAT ip nat inside source list 1002 interface dialer0 overload crypto isakmp policy 1 encryption des hash sha authentication pre-share group 2 lifetime 28800 exit crypto isakmp key maipu address 1.1.1.3 crypto ipsec transform-set tr1 esp-des ah-md5-hmac mode tunnel exit crypto map map1 1001 ipsec-isakmp match address 1001 set peer 1.1.1.3 set transform-set tr1 set security-association lifetime seconds 28800 set security-association lifetime kilobytes 4608000 exit interface loopback0 exit //拨号配置,map是应用到本虚拟接口 interface dialer0 ip address negotiated dialer pool 1 dialer-group 1 encapsulation ppp ppp pap sent-username 01234mp@169 password 01234mp mtu 1492 ip nat outside crypto map map1 exit interface fastethernet0 ip address 192.168.2.1 255.255.255.0 ip nat inside exit //物理接口配置 interface atm0 pvc 1/33 encapsulation aal5snap pppoe-client dial-pool-number 1 no ip route-cache no cdp enable exit ip route 0.0.0.0 0.0.0.0 dialer0 ======================================================= MP2600A:配置动态加密映射 ======================================================= MP2600A#sh running-config Building Configuration...done Current configuration... version 2.24.8 hostname MP2600A enable password [WOWWWNXSX encrypt no service password-encrypt no service enhanced-secure ip tcp timestamp //步骤四:配置变换集合,定义数据加密所使用的算法和安全协议 crypto ipsec transform-set tr1 esp-des esp-md5-hmac mode tunnel exit //步骤五:配置动态加密映射 crypto dynamic-map dmap1 1 ipsec-isakmp set transform-set tr1 set security-association lifetime seconds 28800 set security-association lifetime kilobytes 4608000 exit //步骤六:配置静态加密映射,与该动态加密映射关联起来 crypto map map1 1 ipsec-isakmp dynamic-map dmap1 interface fastethernet0 ip address 1.1.1.3 255.255.255.0 //步骤七:将静态加密映射应用到接口上去. crypto map map1 exit interface ethernet0 ip address 192.168.1.1 255.255.255.0 exit ip route 0.0.0.0 0.0.0.0 1.1.1.1 //步骤1:配置IKE的policy crypto isakmp policy 1 encryption des hash sha authentication pre-share group 1 lifetime 86400 exit //步骤2:配置预共享密钥,由于下端是动态IP地址,因此配置地址为any //删除该预共享密钥的命令是no crypto isakmp key hostname any crypto isakmp key maipu any 注意:在完成配置,进行数据流触发的时候,需要注意的是要保证ADSL拨号能够获取到IP地址,在下端路由器上能够ping通上端路由器。 案例3:VPN与VPN互通 网络拓扑如图所示: 网络拓扑3 需求:两台VPN3020,都有固定的公网IP地址,现在需要构建VPN,保护在两台VPN3020后面的网络。使PC1能够访问到PC2。 规划:使用IKE自动协商密钥,policy的参数设置,加密算法为des、验证算法为md5,认证方式为预共享、D-H组为group 1;身份标识为IP地址,以IP地址作来标识预共享密钥;变换集合参数设置,隧道模式为tunnel、协议-算法为esp-des、esp-md5;启用pfs,group组为group2。 配置注意事项: ü 避免配置所要保护的数据流为any到any。首先是在实际使用过程中,不会有这样的需求,其次,这样会让很多本来不需要加密的通信无法通信。并且,VPN3020上目前也不支持配置的数据流为any到any。 ü VPN3020本身带有FW520的所有功能,其默认转发策略是deny,因此,需要打开其策略。避免内网的数据无法通过VPN访问外面。 ü 由于VPN3020实现上的一个缺陷,使得在每次更改接口的IP地址的时候,需要重起IPSec服务(不是重起设备),而重起IPSec服务会造成有关IPSec的配置都丢失,因此,或者在配置好接口地址后,重起IPSec的服务,进行IPSec的配置;或者将IPSec的配置copy到记事本上,然后重起IPSec服务后,粘贴进去。 ü 配置完成或者更改后,需要激活加密映射(用active map命令) 具体配置脚本: ================================================= VPN_A ================================================= Building configuration... ! system setting configure terminal hostname VPN_A enable password 0 mpsec mode route interface trusted ip 192.168.1.1/255.255.255.0 interface untrusted ip 1.1.1.3/255.255.255.0 ip route 0.0.0.0/0.0.0.0 1.1.1.1 service sshd web port 443 web idle enable web idle 999 service web end ! log config configure log logging user stop logging delete all end ! firewall config configure firewall firewall log start dnat policy permit snat policy permit ldnat policy permit access-list policy input permit //默认转发策略是permit access-list policy forward permit access-list policy output permit srr filter enable end ! vpn config configure vpn //启动IPSec服务 service ipsec //进入ipsec模式 ipsec //步骤四:配置访问列表,定义要保护的数据流 access-list add ac1 permit protocol ip 192.168.1.0/255.255.255.0 192.168.2.0/255.255.255.0 commit //步骤五:配置变换集合,定义所使用的加密算法和安全协议 transform add tr1 tunnel esp-des esp-md5-hmac //步骤六:配置加密映射,将各个组件组合在一起。 map add map1 untrusted isakmp match /ac1 //引用步骤四中的定义的数据流 transform tr1 //引用步骤五中的定义的变换集合 peer 2.2.2.2 life time 28800 life bytes 4608000 pfs 2 //配置支持完美前向保护 commit exit //进入IKE模式 ike //步骤一:配置IKE的policy policy add 1 authentication pre-share encryption des hash md5 group 2 lifetime 28800 commit //步骤二:配置预共享密钥 key preshare ip 2.2.2.2 keystring maipu //步骤三:配置本地标识 localid ip 1.1.1.3 exit //步骤七;启用该map active map map1 end ! user config -----以下的配置略 ================================================= VPN_B ================================================= Building configuration... ! system setting configure terminal hostname VPN_B enable password 0 mpsec mode route interface trusted ip 192.168.2.1/255.255.255.0 interface untrusted ip 2.2.2.2/255.255.255.0 ip route 0.0.0.0/0.0.0.0 2.2.2.1 service sshd web port 443 web idle enable web idle 999 service web end ! log config configure log logging user stop logging delete all end ! firewall config configure firewall firewall log start dnat policy permit snat policy permit ldnat policy permit access-list policy input permit access-list policy forward permit access-list policy output permit srr filter enable end ! vpn config configure vpn service ipsec ipsec //步骤四:配置访问列表,定义要保护的数据流,与VPN_A所定义的数据流相对应 access-list add ac1 permit protocol ip 192.168.2.0/255.255.255.0 192.168.1.0/255.255.255.0 commit transform add tr1 tunnel esp-des esp-md5-hmac map add map1 untrusted isakmp match /ac1 transform tr1 peer 1.1.1.3 life time 28800 life bytes 4608000 pfs 2 commit exit ike policy add 1 authentication pre-share encryption des hash md5 group group_modp1024 lifetime 28800 commit //步骤二:配置预共享密钥 key preshare ip 1.1.1.3 keystring maipu localid ip 2.2.2.2 exit active map map1 end ! user config -----以下的配置略 VPN3020上的调试命令: 目前,VPN3020上没有给用户使用的调试命令,只能通过一些show信息来查看IKE协商的情况。 show ipsec sa:查看已经建立的IPSec SA信息 show ipsec status:查看当前的IPSec 的状态,如果IPSec SA已经建立,有IPSec SA establish的信息。 案例4:VPN与VPN、路由器之动态加密映射 网络拓扑如图所示: 需求:中心是一台VPN3020,有两个网点其中一台是vpn3020(或者是vpn3005,两者的配置是一样的),另一个网点是mp803路由器。接入都是动态接入,电信ADSL接入。MP803可以直接拨号,而VPN3020(或者VPN3005)只有以太口,因此,前面要放置一台ADSL modem,才能够进行PPPoE拨号。现在要求是两个网点所挂接两个网络能够访问中心VPN3020后面所挂接的网络(PC2)。 规划:一些具体的IKE、IPSec协商的参数在这里略去。这里重点说明中心VPN(VPN_A)上面的规划,中心可以只配置一个动态的map,数据流源地址为192.168.1.0/24,目的地址为any(注意,不要配置成any 到any),下端的VPN_B的数据流为源地址为192.168.2.0/24 目的地址为192.168.1.0/24;下端的MP803的数据流为源地址为192.168.3.0/24,目的地址为192.168.1.0/24。 具体配置脚本: ================================================================= MP803:ADSL拨号,同时实现上网和走NAT ================================================================= hostname MP803 enable password [WOWWWNXSX encrypt no service password-encrypt no service enhanced-secure ip tcp timestamp //定义要保护的数据流 ip access-list extended 1001 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 exit //定义该数据流走NAT上网,为了避免走内网的数据流也“上网”去了, //先deny该数据流 ip access-list extended 1002 deny ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 permit ip 192.168.3.0 0.0.0.255 any exit dialer-list 1 protocol ip permit //配置NAT ip nat inside source list 1002 interface dialer0 overload crypto isakmp policy 1 encryption des hash sha authentication pre-share group 2 lifetime 28800 exit crypto isakmp key maipu address 1.1.1.3 crypto ipsec transform-set tr1 esp-des esp-md5-hmac mode tunnel exit crypto map map1 1001 ipsec-isakmp match address 1001 set peer 1.1.1.3 set transform-set tr1 set security-association lifetime seconds 28800 set security-association lifetime kilobytes 4608000 exit interface loopback0 exit //拨号配置,map是应用到本虚拟接口 interface dialer0 ip address negotiated dialer pool 1 dialer-group 1 encapsulation ppp ppp pap sent-username 01234mp@169 password 01234mp mtu 1492 ip nat outside crypto map map1 exit interface fastethernet0 ip address 192.168.3.1 255.255.255.0 ip nat inside exit //物理接口配置 interface atm0 pvc 1/33 encapsulation aal5snap pppoe-client dial-pool-number 1 no ip route-cache no cdp enable exit ip route 0.0.0.0 0.0.0.0 dialer0 ================================================================= VPN_B:PPPoE拨号,同时实现上网和走NAT ================================================================= configure terminal hostname VPN_B enable password 7 Z2wdXYed9yoyw mode route interface trusted ip 192.168.2.1/255.255.255.0 service sshd web port 443 web idle enable web idle 10 service web end ! log config configure log logging user stop logging delete all logging user delete all end ! firewall config configure firewall firewall log start dnat policy permit snat policy permit ldnat policy permit //对于走VPN的数据流,避免让其走SNAT出去 snat add any 192.168.2.0/24 192.168.1.0/24 any filter /snat1 log permit //对于其他的数据流,都让其走SNAT出去 snat add masquerade pppoe 192.168.2.0/24 any /snat2 log access-list policy input permit access-list policy forward permit access-list policy output permit access-list state input enable access-list state forward enable access-list state output enable srr filter enable end ! vpn config configure vpn service ipsec //启动service dynamic,表示本端为动态获取IP地址 service dynamic interface ppp ipsec //定义所要保护的数据流 access-list add /ac1 permit protocol ip 192.168.2.0/255.255.255.0 192.168.1.0/255.255.255.0 commit //定义变换集合 transform add tr1 tunnel esp-des esp-md5-hmac //配置加密映射,注意此处选择关键字是dynamic map add map1 dynamic isakmp //引用所定义的访问列表 match /ac1 //引用所定义的变换集合 transform tr1 peer 1.1.1.3 life time 86600 life bytes 4608000 pfs 2 commit exit ike //定义IKE的policy policy add 1 authentication pre-share encryption des hash sha group 2 lifetime 28800 commit //配置预共享密钥 key preshare ip 1.1.1.3 keystring maipu exit //激活map active map map1 end ----中间的配置略 ! pppoe client config configure pppoeclient //绑定到出口,即从那个接口进行拨号 bind untrusted //配置上端需要认证的用户名和密码 authuser test_name pass test_name //开始进行拨号,完成该命令后用show ip route或者show interface //能够看到PPP链路已经建立成功 pppoe start end ---后面的配置略 ================================================================= VPN_A:中心的VPN ================================================================= ! system setting configure terminal hostname VPN_A enable password 0 mpsec mode route interface trusted ip 192.168.1.1/255.255.255.0 interface untrusted ip 1.1.1.3/255.255.255.0 ip route 0.0.0.0/0.0.0.0 1.1.1.1 service sshd web port 443 web idle enable web idle 999 service web end ! log config configure log logging user stop logging delete all end ! firewall config configure firewall firewall log start dnat policy permit snat policy permit ldnat policy permit access-list policy input permit //默认转发策略是permit access-list policy forward permit access-list policy output permit srr filter enable end ! vpn config configure vpn //启动IPSec服务 service ipsec //进入ipsec模式 ipsec //步骤四:配置访问列表,定义要保护的数据流 access-list add ac1 permit protocol ip 192.168.1.0/255.255.255.0 any commit //步骤五:配置变换集合,定义所使用的加密算法和安全协议 transform add tr1 tunnel esp-des esp-md5-hmac //步骤六:配置加密映射,将各个组件组合在一起。 map add map1 untrusted isakmp //引用步骤四中的定义的数据流 match /ac1 //引用步骤五中的定义的变换集合 transform tr1 peer 0.0.0.0 life time 28800 life bytes 4608000 //配置完美前向保护 pfs 2 commit exit //进入IKE模式 ike //步骤一:配置IKE的policy policy add 1 authentication pre-share encryption des hash md5 group 2 lifetime 28800 commit //步骤二:配置预共享密钥 key preshare ip 0.0.0.0 keystring maipu //步骤三:配置本地标识 localid ip 1.1.1.3 exit //步骤七;启用该map active map map1 end ! user config -----以下的配置略 配置总结 常见的配置失误: 1. 现象:一端发起协商后,另一端没有任何响应。 可能的原因: ü 检查发起协商的数据流是否匹配所定义的要保护的数据流; ü 检查路由器上是否有默认路由或者到远端局域网段的路由; ü 检查加密映射(map)是否已经应用到接口上去; ü 检查两端的peer地址是否配置正确,确保两个VPN网关本身能够互通; ü 检查预共享密钥是否已经配置; ü 如果发起协商的一端是路由器,对端是VPN3020,检查是否配置了crypto isakmp peer ip-address A.B.C.D,该命令的含义是以野蛮模式发起协商,而目前VPN3020上尚不支持野蛮模式。 ü 如果其中有台VPN设备是VPN3020,确保在配置的时候是先配置了接口地址,然后启动service ipsec命令的,见案例3中的配置注意事项。 2. 现象:IKE SA(又称第一阶段主模式)协商不成功 可能的原因: ü 检查两端是否有一致的policy,如果规划使用预共享认证方式,确保双方一致的policy中的认证方式为预共享; ü 预共享密钥是否配置是否一致; 3. 现象:IKE SA协商成功了,但是快速模式协商不成功,IPSec SA无法建立 可能的原因: ü 两端的是否有一致的变化集合; ü 两端的所要保护的数据流是否相对应; ü 两端的完美前向保护参数(pfs)是否一致; 4. 现象:IPSec SA已经建立成功,但是两边的局域网中两台主机不通。 可能的原因:(这时候已经与IPSec本身没有多大关系了) ü 主机上是否已经配置网关,该网关指向路由器的一个接口; ü 检查两台主机上是否启用了防火墙过滤之类的软件; ü 数据流在Internet上是否已经穿越了NAT(基本可以从路由器出口的地址是否为公网地址来确定) February 08 My new domain nameJust got a new domain name registered. I am thinking to start some computing project and put all related info on my new website www.elian.co.uk. Any suggestions??
|
||||||||||||||||||
|
|