Cisco路由器的安全配置简易方案
Author: BluShin Auditor: Amy E-mail:Yangtonguang@163.com Version 1.0 Date: 2002-12-15
一,路由器访问控制的安全配置 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/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)。 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)# 六,路由器高级安全配置 附:路由器安全配置模板(略) |