路由器的安全配置 中国科技网工作交流会 2010年4月16日 何群辉
概述 路由器的安全目标 路由器安全策略的基础 可实施的路由器安全配置
路由器的安全目标 防止对路由器的未经授权的访问 防止对网络的未经授权的访问 防止网络数据窃听 防止欺骗性路由更新
路由器安全策略的基础 找出需要保护的网络资源 确定危险之处 限制访问范围 确定安全措施的代价 物理安全
可实施的路由器安全配置 路由器访问安全 路由器网络服务安全配置 访问控制列表和过滤 路由的安全配置 日志和管理
路由器访问安全 ——物理运行环境的安全性 合适的温度和湿度 不受电磁干扰 使用UPS电源供电等
路由器访问安全 交互式访问控制 风险描述 被攻击者利用进行Dos,消耗掉所有的VTYs 风险等级 高 安全措施 仅允许的ip地址范围可以利用ip access-class限制访问VTY 利用exec-timeout命令,配置VTY的超时 安全措施存在的风险 网管员登录路由器不够灵活 使用命令集 ip access-list standard 1-99(标准列表) line vty 0 4 access-class 标准列表号 in exec-timeout 时间值
路由器访问安全 ——交互式访问控制 使用实例: 路由器访问安全 ——交互式访问控制 使用实例: #仅允许159.226.58.0这一个C的地址、159.226.1.0 32个地址通过vty登录路由器 cisco>enable password:输入enable口令 cisco#config t cisco(config)#ip access-list standard 99 #先一个标准控制列表# cisco(config-std-nacl)#permit 159.226.58.0 0.0.0.255 cisco(config-std-nacl)#permit 159.226.1.0 0.0.0.31 cisco(config-std-nacl)#deny any cisco(config-std-nacl)#exit cisco(config)#line vty 0 4 #在虚拟终端应用控制列表# cisco(config-line)#access-class 99 in cisco(config-line)#exec-timeout 5 #超过5分钟后,无任何操作,就取消该连接会话 cisco(config-line)#exit cisco#write #保存配置
路由器访问安全 本地口令安全配置 风险描述 加密算法弱的话,口令容易被破解 风险等级 高 安全措施 设定一个长口令 使用enable secret 命令 使用service password-encryption(密码加密服务) 安全措施存在的风险 使用命令集 全局配置 enable secret service password-enacryption
路由器访问安全 —本地口令安全配置 使用实例: #设置一个enable口令,同时启用密码加密服务 路由器访问安全 —本地口令安全配置 使用实例: #设置一个enable口令,同时启用密码加密服务 cisco>enable #没配置特权密码时,输入enable,直接进入特权配置模式# cisco#config t cisco(config)# enable secret 密码 cisco(config)# service password-enacryption
路由器网络服务安全配置 基于TCP和UDP协议的小服务 风险描述 如echo服务,容易被攻击者利用它来发数据包,好像是路由器本身发送的数据包 风险等级 中 安全措施 禁用这些小服务 安全措施存在的风险 使用命令集 全局配置 no service tcp-small-servers no service udp-small-servers
路由器网络服务安全配置 password:输入enable口令 cisco#config t 使用实例: #如果发现在路由器上启用了这些小服务,就可以通过这些命令禁止,一般来说现在的路由器设备和三层交换机都默认不启用这些小服务。 cisco>enable password:输入enable口令 cisco#config t cisco(config)#no service tcp-small-servers cisco(config)#no service udp-small-servers
路由器网络服务安全配置 Finger、NTP、CDP等服务 风险描述 风险等级 安全措施 安全措施存在的风险 使用命令集 中 安全措施 禁用Finger和CDP服务 如启用NTP服务,需加认证 安全措施存在的风险 使用命令集 no service finger ntp authenticate ntp authentication-key number md5 key ntp trusted-key number ntp server ip address key number no cdp run(全局配置) no cdp enable(端口配置)
路由器网络服务安全配置 使用实例: #如路由器启用了finger服务,可用下列命令禁用finger服务 cisco>enable password:输入enable口令 cisco#config t cisco(config)#no service finger #禁止CDP(Cisco Discovery Protocol ) cisco(config)#no cdp #全局模式配置禁止cdp
路由器网络服务安全配置 #ntp的认证配置 分中心核心设备配置: cisco(config)#ntp authenticate cisco(config)# ntp authentication-key 10 md5 ntp密码 #定义的认证串并将其赋值 # 所级路由器配置: cisco(config)# ntp authenticate cisco(config)# ntp authentication-key 10 md5 ntp密码 cisco(config)#ntp trusted-key 10 cisco(config)#ntp server 分中心核心设备loopback地址 key 10
访问控制列表和过滤 防止外部对内部进行IP地址欺骗 风险描述 外部网络的非法用户将自己的IP地址改成内部网络的合法IP地址,从而获得局域网的非法访问权限。 风险等级 中 安全措施 利用控制列表禁止源地址为内部地址的数据包 使用ip verify unicast reverse-path丢弃欺骗性数据包 安全措施存在的风险 使用ip verify unicast reverse-path对路由器的性能影响较大,最好是用在外部连入路由器的状态,并且把内存加大些,否则可能会死机 使用命令集 ip access-list (全局配置) ip access-group(端口配置) ip cef (全局配置) ip verify unicast reverse-path(端口配置)
访问控制列表和过滤 ——防止外部IP地址欺骗 使用实例: #防止外部对内部159.226.1.0一个C地址进行ip地址欺骗 cisco(config)#ip access-list extended 101 #定义扩展列表号 cisco(config-ext-nacl)#deny ip 159.226.1.0 0.0.0.255 any cisco(config-ext-nacl)#permint any any cisco(config-ext-nacl)#exit cisco(config)#interface GigabitEthernet0/1 (外口端口号) cisco(config-if)#ip access-group 101 in #在外口的in方向上应用该扩展列表
访问控制列表和过滤 ——防止外部IP地址欺骗 使用实例: cisco(config)#ip cef #启用快速交换 cisco(config)#interface g0/0 (外口端口) cisco(config-if)# ip verify unicast reverse-path acl #在接口上启用Unicast RPF,ACL为可选项 注意:对路由器的性能影响较大,最好是用在外部连入路由器的状态,并且把内存加大些,否则可能会死机的。
访问控制列表和过滤 ——防止外部的非法探测 访问控制列表和过滤 ——防止外部的非法探测 风险描述 非法访问者对内部网络发起攻击前,往往会用ping或其他命令探测网络,了解网络的结构及相关信息。 风险等级 低 安全措施 用控制列表阻止用ping和traceroute探测 安全措施存在的风险 使用命令集 ip access-list interface g0/0 ip access-group 102 out(端口配置)
访问控制列表和过滤 ——防止外部的非法探测 访问控制列表和过滤 ——防止外部的非法探测 使用实例: cisco(config)#ip access-list extended 102 cisco(config-ext-nacl)#deny icmp any any echo #阻止ping探测网络 cisco(config-ext-nacl)#deny icmp any any time-exceeded #阻止阻止答复输出,不阻止探测进入 cisco(config-ext-nacl)#permint any any cisco (config-ext-nacl)#exit cisco(config)#interface g0/0 #在外口上应用该列表 cisco(config-if)#ip access-group 102 out
访问控制列表和过滤 防止遭受蠕虫、震荡波等病毒的攻击 阻止对关键端口的非法访问 针对sql-slammer、Netbios_Worm.Dvldr_蠕虫的访问列表 风险描述 防止遭受蠕虫、震荡波等病毒的攻击 风险等级 高 安全措施 使用控制列表保护关键端口 安全措施存在的风险 使用命令集 ip access-list (全局配置) interface g0/0 ip access-group 150 in(端口配置)
访问控制列表和过滤 ——阻止对关键端口的非法访问 访问控制列表和过滤 ——阻止对关键端口的非法访问 使用实例: cisco(config)#ip access-list extended 150 cisco(config-ext-nacl)#deny deny tcp any any eq 135 #禁止使用RPC远程过程调用服务端口 cisco(config-ext-nacl)#deny deny tcp any any eq 139 #禁止使用对外提供共享服务端口 cisco(config-ext-nacl)#deny deny udp any any eq 135 cisco(config-ext-nacl)#deny deny tcp any any eq 137 #禁止提供名称服务端口 cisco(config-ext-nacl)#deny deny tcp any any eq 138 #禁止提供名称服务端口 cisco(config-ext-nacl)#permint any any cisco (config-ext-nacl)#exit cisco(config)#interface g0/0 #在外口上应用该列表 cisco(config-if)#ip access-group 150 in
访问控制列表和过滤 ——针对sql-slammer、Netbios_Worm.Dvldr_蠕虫的访问列表 使用实例: cisco(config)#ip access-list extended 150 cisco(config-ext-nacl)#deny deny udp any any eq 1434 #用于控制slammer worm cisco(config-ext-nacl)#deny deny tcp any any eq 445 #用于控制蠕虫的扫描和感染 cisco(config-ext-nacl)#deny deny tcp any any eq 5554 #防止震荡波病毒攻击 cisco(config-ext-nacl)#deny deny tcp any any eq 9996 #防止震荡波病毒攻击 cisco(config-ext-nacl)#deny deny tcp any any eq 5800 #用于防止受感染的系统被远程控制 cisco(config-ext-nacl)#deny deny tcp any any eq 5900 #用于防止受感染的系统被远程控制 cisco(config-ext-nacl)#deny 250 any any # 防止Dvldr32蠕虫攻击 cisco(config-ext-nacl)#deny 0 any any #用于控制ip 协议为0的流量 cisco(config-ext-nacl)#permint any any cisco (config-ext-nacl)#exit cisco(config)#interface g0/0 #在外口上应用该列表 cisco(config-if)#ip access-group 150 in
路由的安全 防止Icmp 重定向攻击 禁止使用源路由 防止本网络做为中间代理 风险描述 风险等级 中 安全措施 使用命令集 攻击者通过发送错误的重定向信息给末端主机,从而导致末端主机的错误路由 源路由选择使入侵者可以为内部网的数据报指定一个非法的路由 攻击者可能会盗用内部IP地址进行非法访问 风险等级 中 安全措施 禁止外部用户使用ICMP重定向 禁止使用源路由 ARP命令将固定IP地址绑定到某一MAC地址 设置禁止直接广播 使用命令集 no ip redirects (端口配置) no ip source-route (全局配置) arp 固定IP地址 MAC地址 arpa (全局配置) no ip directed-broadcast (端口配置)
路由的安全 使用实例: cisco(config)#arp 159.226.0.6 xxxx.xxxx.xxxx arpa #mac地址绑定 cisco(config)# no ip source-route #禁止使用源路由 cisco(config)#interface g0/0 cisco(config-if)# no ip directed-broadcast #端口上设置禁止发送广播包 cisco(config)# no ip redirects #禁止使用IP重定向
日志和管理 日志的保存和管理 记录用户登录、权限变化、配置改变及系统状态变化的信息,有利于排障和审核 低 风险描述 记录用户登录、权限变化、配置改变及系统状态变化的信息,有利于排障和审核 风险等级 低 安全措施 推荐保存到日志服务器或更改本地缓存日志的大小 安全措施存在的风险 使用命令集 全局配置 logging syslog服务器IP地址 logging source-interface logging buffered 日志缓存大小
日志和管理 使用实例: #指定日志服务器 cisco(config)#logging syslog 159.226.8.181 cisco(config)#logging source-interface Loopback 0 #定义本地缓存大小 cisco(config)#logging buffered 1000000
路由管理服务的安全配置 ip access-list interface g0/0 ip access-group 150 in 风险描述 大部分管理员喜欢使用public和private设置只读字串和读写字串 ,利用这两个口令可以获取该路由器的几乎一切信息 风险等级 中 安全措施 ACL规则限定只能从合适的主机或网络接受访问所在设备的SNMP请求 只配置只读 安全措施存在的风险 使用命令集 ip access-list interface g0/0 ip access-group 150 in snmp-server community
路由管理服务的安全配置—续 使用实例: cisco(config)#ip access-list extended 150 cisco(config-ext-nacl)# permit udp 159.226.0.0 0.0.255.255 any eq 161 log cisco(config-ext-nacl)#permint any any cisco (config-ext-nacl)#exit cisco(config)#interface g0/0 #在外口上应用该列表 cisco(config-if)#ip access-group 150 in #启用只读(RO)SNMP的能力 cisco(config)#snmp-server community secert RO
谢谢!