教主 2006-9-20 13:13
Cisco路由器的安全配置简易方案
<p>Cisco路由器的安全配置简易方案</p><p>Author: BluShin<br/>Auditor: Amy<br/>E-mail:Yangtonguang@163.com<br/>Version 1.0<br/>Date: 2002-12-15</p><p><br/>一,路由器访问控制的安全配置<br/>1,严格控制可以访问路由器的管理员。任何一次维护都需要记录备案。<br/>2,建议不要远程访问路由器。即使需要远程访问路由器,建议使用访问控制列表和高强度的密码控制。<br/>3,严格控制CON端口的访问。具体的措施有:<br/>A,如果可以开机箱的,则可以切断与CON口互联的物理线路。<br/>B,可以改变默认的连接属性,例如修改波特率(默认是96000,可以改为其他的)。<br/>C,配合使用访问控制列表控制对CON口的访问。<br/>如:Router(Config)#Access-list 1 permit 192.168.0.1<br/> Router(Config)#line con 0<br/> Router(Config-line)#Transport input none<br/> Router(Config-line)#Login local<br/> Router(Config-line)#Exec-timeoute 5 0<br/> Router(Config-line)#access-class 1 in<br/> Router(Config-line)#end<br/>D,给CON口设置高强度的密码。<br/>4,如果不使用AUX端口,则禁止这个端口。默认是未被启用。禁止如:<br/> Router(Config)#line aux 0<br/> Router(Config-line)#transport input none<br/> Router(Config-line)#no exec<br/>5,建议采用权限分级策略。如:<br/>Router(Config)#username BluShin privilege 10 G00dPa55w0rd<br/>Router(Config)#privilege EXEC level 10 telnet<br/>Router(Config)#privilege EXEC level 10 show ip access-list<br/>6,为特权模式的进入设置强壮的密码。不要采用enable password设置密码。而要采用enable secret命令设置。并且要启用Service password-encryption。<br/>7,控制对VTY的访问。如果不需要远程访问则禁止它。如果需要则一定要设置强壮的密码。由于VTY在网络的传输过程中为加密,所以需要对其进行严格的控制。如:设置强壮的密码;控制连接的并发数目;采用访问列表严格控制访问的地址;可以采用AAA设置用户的访问控制等。<br/>8,IOS的升级和备份,以及配置文件的备份建议使用FTP代替TFTP。如:<br/>Router(Config)#ip ftp username BluShin<br/>Router(Config)#ip ftp password 4tppa55w0rd<br/>Router#copy startup-config ftp:<br/>9,及时的升级和修补IOS软件。</p><p>二,路由器网络服务安全配置<br/>1,禁止CDP(Cisco Discovery Protocol)。如:<br/> Router(Config)#no cdp run <br/> Router(Config-if)# no cdp enable<br/>2,禁止其他的TCP、UDP Small服务。<br/> Router(Config)# no service tcp-small-servers<br/> Router(Config)# no service udp-samll-servers<br/>3,禁止Finger服务。<br/> Router(Config)# no ip finger<br/> Router(Config)# no service finger<br/>4,建议禁止HTTP服务。<br/> Router(Config)# no ip http server <br/>如果启用了HTTP服务则需要对其进行安全配置:设置用户名和密码;采用访问列表进行控制。如:<br/>Router(Config)# username BluShin privilege 10 G00dPa55w0rd <br/>Router(Config)# ip http auth local <br/>Router(Config)# no access-list 10<br/>Router(Config)# access-list 10 permit 192.168.0.1 <br/>Router(Config)# access-list 10 deny any <br/>Router(Config)# ip http access-class 10 <br/>Router(Config)# ip http server<br/>Router(Config)# exit <br/>5,禁止BOOTp服务。<br/> Router(Config)# no ip bootp server<br/>禁止从网络启动和自动从网络下载初始配置文件。<br/> Router(Config)# no boot network<br/> Router(Config)# no servic config<br/>6,禁止IP Source Routing。<br/> Router(Config)# no ip source-route<br/>7,建议如果不需要ARP-Proxy服务则禁止它,路由器默认识开启的。<br/> Router(Config)# no ip proxy-arp<br/> Router(Config-if)# no ip proxy-arp<br/>8,明确的禁止IP Directed Broadcast。<br/> Router(Config)# no ip directed-broadcast<br/>9,禁止IP Classless。<br/> Router(Config)# no ip classless<br/>10,禁止ICMP协议的IP Unreachables,Redirects,Mask Replies。<br/> Router(Config-if)# no ip unreacheables<br/> Router(Config-if)# no ip redirects<br/> Router(Config-if)# no ip mask-reply<br/>11,建议禁止SNMP协议服务。在禁止时必须删除一些SNMP服务的默认配置。或者需要访问列表来过滤。如:<br/> Router(Config)# no snmp-server community public Ro<br/> Router(Config)# no snmp-server community admin RW<br/> Router(Config)# no access-list 70<br/> Router(Config)# access-list 70 deny any<br/> Router(Config)# snmp-server community MoreHardPublic Ro 70<br/> Router(Config)# no snmp-server enable traps<br/> Router(Config)# no snmp-server system-shutdown<br/> Router(Config)# no snmp-server trap-anth<br/> Router(Config)# no snmp-server<br/> Router(Config)# end<br/>12,如果没必要则禁止WINS和DNS服务。<br/> Router(Config)# no ip domain-lookup<br/> 如果需要则需要配置:<br/> Router(Config)# hostname Router<br/> Router(Config)# ip name-server 202.102.134.96<br/>13,明确禁止不使用的端口。<br/> Router(Config)# interface eth0/3<br/> Router(Config)# shutdown</p><p>三,路由器路由协议安全配置<br/>1,首先禁止默认启用的ARP-Proxy,它容易引起路由表的混乱。<br/>Router(Config)# no ip proxy-arp 或者<br/>Router(Config-if)# no ip proxy-arp<br/>2,启用OSPF路由协议的认证。默认的OSPF认证密码是明文传输的,建议启用MD5认证。并设置一定强度密钥(key,相对的路由器必须有相同的Key)。<br/> Router(Config)# router ospf 100<br/>Router(Config-router)# network 192.168.100.0 0.0.0.255 area 100<br/>! 启用MD5认证。<br/>! area area-id authentication 启用认证,是明文密码认证。<br/>!area area-id authentication message-digest<br/>Router(Config-router)# area 100 authentication message-digest<br/>Router(Config)# exit<br/>Router(Config)# interface eth0/1<br/>!启用MD5密钥Key为routerospfkey。<br/>!ip ospf authentication-key key 启用认证密钥,但会是明文传输。<br/>!ip ospf message-digest-key key-id(1-255) md5 key<br/>Router(Config-if)# ip ospf message-digest-key 1 md5 routerospfkey<br/>3,RIP协议的认证。只有RIP-V2支持,RIP-1不支持。建议启用RIP-V2。并且采用MD5认证。普通认证同样是明文传输的。<br/>Router(Config)# config terminal<br/>! 启用设置密钥链<br/>Router(Config)# key chain mykeychainname<br/>Router(Config-keychain)# key 1<br/>!设置密钥字串<br/>Router(Config-leychain-key)# key-string MyFirstKeyString<br/>Router(Config-keyschain)# key 2<br/>Router(Config-keychain-key)# key-string MySecondKeyString<br/>!启用RIP-V2<br/>Router(Config)# router rip<br/>Router(Config-router)# version 2<br/>Router(Config-router)# network 192.168.100.0<br/>Router(Config)# interface eth0/1<br/>! 采用MD5模式认证,并选择已配置的密钥链<br/>Router(Config-if)# ip rip authentication mode md5<br/>Router(Config-if)# ip rip anthentication key-chain mykeychainname<br/>4,启用passive-interface命令可以禁用一些不需要接收和转发路由信息的端口。建议对于不需要路由的端口,启用passive-interface。但是,在RIP协议是只是禁止转发路由信息,并没有禁止接收。在OSPF协议中是禁止转发和接收路由信息。<br/>! Rip中,禁止端口0/3转发路由信息<br/>Router(Config)# router Rip<br/>Router(Config-router)# passive-interface eth0/3 <br/>!OSPF中,禁止端口0/3接收和转发路由信息<br/>Router(Config)# router ospf 100<br/>Router(Config-router)# passive-interface eth0/3<br/>5,启用访问列表过滤一些垃圾和恶意路由信息,控制网络的垃圾信息流。<br/>Router(Config)# access-list 10 deny 192.168.1.0 0.0.0.255<br/>Router(Config)# access-list 10 permit any <br/>! 禁止路由器接收更新192.168.1.0网络的路由信息<br/>Router(Config)# router ospf 100<br/>Router(Config-router)# distribute-list 10 in<br/>!禁止路由器转发传播192.168.1.0网络的路由信息<br/>Router(Config)# router ospf 100<br/>Router(Config-router)# distribute-list 10 out<br/>6,建议启用IP Unicast Reverse-Path Verification。它能够检查源IP地址的准确性,从而可以防止一定的IP Spooling。但是它只能在启用CEF(Cisco Express Forwarding)的路由器上使用。<br/>Router# config t<br/>! 启用CEF<br/>Router(Config)# ip cef<br/>!启用Unicast Reverse-Path Verification<br/>Router(Config)# interface eth0/1<br/>Router(Config)# ip verify unicast reverse-path <br/>四,路由器审核安全配置</p><p>五,路由器其他安全配置<br/>1,及时的升级IOS软件,并且要迅速的为IOS安装补丁。<br/>2,要严格认真的为IOS作安全备份。<br/>3,要为路由器的配置文件作安全备份。<br/>4,购买UPS设备,或者至少要有冗余电源。<br/>5,要有完备的路由器的安全访问和维护记录日志。<br/>6,要严格设置登录Banner。必须包含非授权用户禁止登录的字样。<br/>7,IP欺骗得简单防护。如过滤非公有地址访问内部网络。过滤自己内部网络地址;回环地址(127.0.0.0/8);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/8)。<br/>Router(Config)# access-list 100 deny ip 192.168.0.0 0.0.0.255 any log<br/>Router(Config)# access-list 100 deny ip 127.0.0.0 0.255.255.255 any log <br/>Router(Config)# access-list 100 deny ip 192.168.0.0 0.0.255.255 any log<br/>Router(Config)# access-list 100 deny ip 172.16.0.0 0.15.255.255 any log<br/>Router(Config)# access-list 100 deny ip 10.0.0.0 0.255.255.255 any log<br/>Router(Config)# access-list 100 deny ip 169.254.0.0 0.0.255.255 any log<br/>Router(Config)# access-list 100 deny ip 192.0.2.0 0.0.0.255 any log<br/>Router(Config)# access-list 100 deny ip 224.0.0.0 15.255.255.255 any <br/>Router(Config)# access-list 100 deny ip 20.20.20.0 0.0.0.255 any log<br/>Router(Config)# access-list 100 deny ip 204.152.64.0 0.0.2.255 any log<br/>Router(Config)# access-list 100 deny ip 0.0.0.0 0.255.255.255 any log<br/>8,建议采用访问列表控制流出内部网络的地址必须是属于内部网络的。如:<br/>Router(Config)# no access-list 101<br/>Router(Config)# access-list 101 permit ip 192.168.0.0 0.0.0.255 any<br/>Router(Config)# access-list 101 deny ip any any log<br/>Router(Config)# interface eth 0/1<br/>Router(Config-if)# description “internet Ethernet”<br/>Router(Config-if)# ip address 192.168.0.254 255.255.255.0<br/>Router(Config-if)# ip access-group 101 in<br/>9,TCP SYN的防范。如:<br/>A: 通过访问列表防范。<br/>Router(Config)# no access-list 106 <br/>Router(Config)# access-list 106 permit tcp any 192.168.0.0 0.0.0.255 established<br/>Router(Config)# access-list 106 deny ip any any log<br/>Router(Config)# interface eth 0/2<br/>Router(Config-if)# description “external Ethernet”<br/>Router(Config-if)# ip address 192.168.1.254 255.255.255.0<br/>Router(Config-if)# ip access-group 106 in<br/>B:通过TCP截获防范。(这会给路由器产生一定负载)<br/>Router(Config)# ip tcp intercept list 107<br/>Router(Config)# access-list 107 permit tcp any 192.168.0.0 0.0.0.255<br/>Router(Config)# access-list 107 deny ip any any log<br/>Router(Config)# interface eth0<br/>Router(Config)# ip access-group 107 in<br/>10,LAND.C 进攻的防范。<br/>Router(Config)# access-list 107 deny ip host 192.168.1.254 host 192.168.1.254 log<br/>Router(Config)# access-list permit ip any any<br/>Router(Config)# interface eth 0/2<br/>Router(Config-if)# ip address 192.168.1.254 255.255.255.0<br/>Router(Config-if)# ip access-group 107 in<br/>11,Smurf进攻的防范。<br/>Router(Config)# access-list 108 deny ip any host 192.168.1.255 log<br/>Router(Config)# access-list 108 deny ip any host 192.168.1.0 log<br/>12,ICMP协议的安全配置。对于进入ICMP流,我们要禁止ICMP协议的ECHO、Redirect、Mask request。也需要禁止TraceRoute命令的探测。对于流出的ICMP流,我们可以允许ECHO、Parameter Problem、Packet too big。还有TraceRoute命令的使用。<br/>! outbound ICMP Control<br/>Router(Config)# access-list 110 deny icmp any any echo log<br/>Router(Config)# access-list 110 deny icmp any any redirect log<br/>Router(Config)# access-list 110 deny icmp any any mask-request log<br/>Router(Config)# access-list 110 permit icmp any any <br/>! Inbound ICMP Control<br/>Router(Config)# access-list 111 permit icmp any any echo<br/>Router(Config)# access-list 111 permit icmp any any Parameter-problem<br/>Router(Config)# access-list 111 permit icmp any any packet-too-big<br/>Router(Config)# access-list 111 permit icmp any any source-quench<br/>Router(Config)# access-list 111 deny icmp any any log<br/>! Outbound TraceRoute Control<br/>Router(Config)# access-list 112 deny udp any any range 33400 34400 <br/>! Inbound TraceRoute Control<br/>Router(Config)# access-list 112 permit udp any any range 33400 34400 <br/>13,DDoS(Distributed Denial of Service)的防范。<br/>! The TRINOO DDoS system<br/>Router(Config)# access-list 113 deny tcp any any eq 27665 log<br/>Router(Config)# access-list 113 deny udp any any eq 31335 log<br/>Router(Config)# access-list 113 deny udp any any eq 27444 log<br/>! The Stacheldtraht DDoS system <br/>Router(Config)# access-list 113 deny tcp any any eq 16660 log<br/>Router(Config)# access-list 113 deny tcp any any eq 65000 log<br/>! The TrinityV3 System<br/>Router(Config)# access-list 113 deny tcp any any eq 33270 log<br/>Router(Config)# access-list 113 deny tcp any any eq 39168 log<br/>! The SubSeven DDoS system and some Variants<br/>Router(Config)# access-list 113 deny tcp any any range 6711 6712 log<br/>Router(Config)# access-list 113 deny tcp any any eq 6776 log<br/>Router(Config)# access-list 113 deny tcp any any eq 6669 log<br/>Router(Config)# access-list 113 deny tcp any any eq 2222 log<br/>Router(Config)# access-list 113 deny tcp any any eq 7000 log<br/>13,建议启用SSH,废弃掉Telnet。但只有支持并带有IPSec特征集的IOS才支持SSH。并且IOS12.0-IOS12.2仅支持SSH-V1。如下配置SSH服务的例子:<br/>Router(Config)# config t<br/>Router(Config)# no access-list 22<br/>Router(Config)# access-list 22 permit 192.168.0.22<br/>Router(Config)# access-list deny any<br/>Router(Config)# username BluShin privilege 10 G00dPa55w0rd<br/>! 设置SSH的超时间隔和尝试登录次数<br/>Router(Config)# ip ssh timeout 90<br/>Router(Config)# ip ssh anthentication-retries 2<br/>Router(Config)# line vty 0 4<br/>Router(Config-line)# access-class 22 in<br/>Router(Config-line)# transport input ssh<br/>Router(Config-line)# login local<br/>Router(Config-line)# exit<br/>!启用SSH服务,生成RSA密钥对。<br/>Router(Config)# crypto key generate rsa<br/>The name for the keys will be: router.blushin.org<br/>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. <br/>How many bits in the modulus[512]: 2048 <br/>Generating RSA Keys... <br/>[OK] <br/>Router(Config)#<br/>六,路由器高级安全配置<br/>附:路由器安全配置模板(略) </p>
异类风云 2006-9-20 23:21
[em16][em16][em16][em16][em16]