中国移动思科路由器安全配置规范正式下发版教学内容.doc
Good is good, but better carries it.精益求精,善益求善。中国移动思科路由器安全配置规范正式下发版-2008-01-01实施2007-12-13发布中国移动思科路由器安全配置规范SpecificationforCiscoRouterConfigurationUsedinChinaMobile版本号:.网络与信息安全规范编号:【网络与信息安全规范】·【第二层:技术规范·网元类】·【第2501号】中国移动通信集团公司发布-目录1概述11.1适用范围11.2内部适用性说明11.3外部引用说明31.4术语和定义31.5符号和缩略语32思科路由器设备安全配置要求42.1内部适用性安全要求42.2账号管理、认证授权安全要求112.2.1账户112.2.2口令122.2.3授权132.2.4认证132.3日志安全要求142.4IP协议安全要求162.4.1基本协议安全162.4.2路由协议安全222.4.3SNMP协议安全252.4.4MPLS安全272.5其他安全要求27前言本标准由中国移动通信有限公司网络部提出并归口。本标准由标准提出并归口部门负责解释。本标准起草单位:中国移动通信有限公司网络部。本标准解释单位:同提出单位。本标准主要起草人:中国移动集团上海公司刘金根13761080195中国移动集团公司陈敏时139117738021 概述1.1 适用范围本规范适用于中国移动通信网、业务系统和支撑系统的思科路由器。本规范明确了思科路由器安全配置方面的基本要求。1.2 内部适用性说明本规范是在中国移动设备通用设备安全功能和配置规范(以下简称通用规范)各项设备配置要求的基础上,提出的思科路由器安全配置要求。以下分项列出本规范对通用规范设备配置要求的修订情况:设备通用安全配置要求编号采纳意见备注安全要求-设备-通用-配置-1-可选增强要求安全要求-设备-思科路由器-配置-1安全要求-设备-通用-配置-2-可选增强功能安全要求-设备-思科路由器-配置-2安全要求-设备-通用-配置-3-可选完全采纳安全要求-设备-通用-配置-4完全采纳安全要求-设备-通用-配置-5不采纳设备不支持安全要求-设备-通用-配置-6-可选不采纳设备不支持安全要求-设备-通用-配置-7-可选不采纳设备不支持安全要求-设备-通用-配置-9完全采纳安全要求-设备-通用-配置-12不采纳设备不支持安全要求-设备-通用-配置-13-可选不采纳设备不支持安全要求-设备-通用-配置-24-可选增强要求安全要求-设备-思科路由器-配置-7-可选安全要求-设备-通用-配置-14-可选完全采纳安全要求-设备-通用-配置-16-可选完全采纳安全要求-设备-通用-配置-17-可选完全采纳安全要求-设备-通用-配置-19-可选增强要求安全要求-设备-思科路由器-配置-22安全要求-设备-通用-配置-20-可选不采纳设备不支持安全要求-设备-通用-配置-27-可选增强要求安全要求-设备-思科路由器-配置-23本规范新增的安全配置要求,如下:安全要求-设备-思科路由器-配置-3安全要求-设备-思科路由器-配置-4-可选安全要求-设备-思科路由器-配置-5-可选安全要求-设备-思科路由器-配置-6-可选安全要求-设备-思科路由器-配置-8-可选安全要求-设备-思科路由器-配置-9安全要求-设备-思科路由器-配置-10-可选安全要求-设备-思科路由器-配置-11安全要求-设备-思科路由器-配置-12-可选安全要求-设备-思科路由器-配置-13安全要求-设备-思科路由器-配置-14-可选安全要求-设备-思科路由器-配置-15安全要求-设备-思科路由器-配置-16安全要求-设备-思科路由器-配置-17安全要求-设备-思科路由器-配置-18-可选安全要求-设备-思科路由器-配置-19安全要求-设备-思科路由器-配置-20安全要求-设备-思科路由器-配置-21-可选安全要求-设备-思科路由器-配置-24本规范还针对直接引用通用规范的配置要求,给出了在思科路由器上的具体配置方法和检测方法。1.3 外部引用说明中国移动通用安全功能和配置规范1.4 术语和定义BGPRouteflapdamping:由RFC2439定义,当BGP接口翻转后,其他BGP系统就会在一段可配置的时间内不接受从这个问题网络发出的路由信息。符号和缩略语缩写英文描述中文描述2 思科路由器设备安全配置要求直接引用通用规范的配置要求编号:安全要求-设备-通用-配置-3-可选要求内容限制具备管理员权限的用户远程登录。远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到管理员权限账号后执行相应操作。操作指南1参考配置操作Router#configtEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#servicepassword-encryptionRouter(config)#usernamenormaluserpassword3d-zirc0niaRouter(config)#usernamenormaluserprivilege1Router(config)#linevty04Router(config-line)#loginlocalRouter(config-line)#exec-timeout50Router(config-line)#end2补充操作说明设定账号密码加密保存创建normaluser账号并指定权限级别为1;设定远程登录启用路由器账号验证;设定超时时间为5分钟;检测方法1.判定条件I. VTY使用用户名和密码的方式进行连接验证II. 2、账号权限级别较低,例如:I2.检测操作使用showrunning-config命令,如下例:router#showrunning-configBuildingconfiguration.Currentconfiguration:!servicepassword-encryptionusernamenormaluserpassword3d-zirc0niausernamenormaluserprivilege1linevty04loginlocal编号:安全要求-设备-通用-配置-4要求内容对于采用静态口令认证技术的设备,口令长度至少6位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。操作指南1 参考配置操作Router#configureterminalEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#aaanew-modelRouter(config)#aaaauthenticationlogindefaultgrouptacacs+Router(config)#aaaauthenticationenabledefaultgrouptacacs+Router(config)#tacacs-serverhost192.168.6.18Router(config)#tacacs-serverkeyIr31yh8n#w9swDRouter(config)#endRouter#2. 补充操作说明与外部TACACS+server192.168.6.18联动,远程登录使用TACACS+serverya验证;口令强度由TACACS+server控制检测方法1.判定条件此项无法通过配置实现,建议通过管理实现2.检测操作此项无法通过配置实现,建议通过管理实现编号:安全要求-设备-通用-配置-9要求内容在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。操作指南1参考配置操作Router#configtEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#servicepassword-encryptionRouter(config)#usernamenormaluserpassword3d-zirc0niaRouter(config)#usernamenormaluserprivilege1Router(config)#privilegeexeclevel15connectRouter(config)#privilegeexeclevel15telnetRouter(config)#privilegeexeclevel15rloginRouter(config)#privilegeexeclevel15showipaccess-listsRouter(config)#privilegeexeclevel15showaccess-listsRouter(config)#privilegeexeclevel15showloggingRouter(config)#!ifSSHissupported.Router(config)#privilegeexeclevel15sshRouter(config)#privilegeexeclevel1showip2补充操作说明基本思想是创建账号并赋予不同的权限级别,并将各命令绑定在不同的权限级别上;上例操作过程如下:设定账号密码加密保存创建normaluser账号并指定权限级别为1;将connect、telnet、rlogin、showipaccess-lists、showaccess-lists、showlogging、ssh指定仅当账号权限级别为15时才可使用;将showip指定为仅当账号权限级别大于1时才可使用;检测方法1.判定条件I. 用户名绑定权限级别II. 操作命令划分权限级别2.检测操作使用showrunning-config命令,如下例:router#showrunning-configBuildingconfiguration.Currentconfiguration:!usernamenormaluserpassword3d-zirc0niausernamenormaluserprivilege1privilegeexeclevel15connectprivilegeexeclevel15telnetprivilegeexeclevel15rloginprivilegeexeclevel15showipaccess-listsprivilegeexeclevel15showaccess-listsprivilegeexeclevel15showloggingprivilegeexeclevel15sshprivilegeexeclevel1showip编号:安全要求-设备-通用-配置-14-可选要求内容设备应支持远程日志功能。所有设备日志均能通过远程日志功能传输到日志服务器。设备应支持至少一种通用的远程标准日志接口,如SYSLOG、FTP等。操作指南1参考配置操作路由器侧配置:Router#configtEnterconfigurationcommands,oneperline.EndwithCNTL/ZRouter(config)#loggingonRouter(config)#loggingtrapinformationRouter(config)#logging192.168.0.100Router(config)#loggingfacilitylocal6Router(config)#loggingsource-interfaceloopback0Router(config)#exitRouter#showloggingSysloglogging:enabled(0messagesdropped,11flushes,0overruns)Consolelogging:levelnotifications,35messagesloggedMonitorlogging:leveldebugging,35messagesloggedBufferlogging:levelinformational,31messagesloggedLoggingto192.168.0.100,28messagelineslogged.Router#2补充操作说明I. 假设把router日志存储在192.168.0.100的syslog服务器上路由器侧配置描述如下:启用日志记录日志级别设定“information”记录日志类型设定“local6”日志发送到192.168.0.100日志发送源是loopback0配置完成可以使用“showlogging”验证服务器侧配置参考如下:Syslog服务器配置参考:在Syslog.conf上增加一行#Saveroutermessagestorouters.loglocal6.debug/var/log/routers.log创建日志文件#touch/var/log/routers.logII. 如果使用snmp存储日志参考配置如下:Router#configtEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#loggingtrapinformationRouter(config)#snmp-serverhost192.168.0.100trapspublicRouter(config)#snmp-servertrap-sourceloopback0Router(config)#snmp-serverenabletrapssyslogRouter(config)#exitRouter#检测方法1.判定条件I. Sysloglogging和SNMPlogging至少有一个为“enabled”II. Loggingto后面的主机名或IP指向日志服务器III. 通常记录日志数不为02.检测操作使用showlogging命令,如下例:Router#showloggingSysloglogging:enabledConsolelogging:disabledMonitorlogging:leveldebugging,266messageslogged.Traplogging:levelinformational,266messageslogged.Loggingto192.180.2.238SNMPlogging:disabled,retransmissionafter30seconds0messagesloggedRouter#编号:安全要求-设备-通用-配置-16-可选要求内容对于具备TCP/UDP协议功能的设备,设备应根据业务需要,配置基于源IP地址、通信协议TCP或UDP、目的IP地址、源端口、目的端口的流量过滤,过滤所有和业务不相关的流量。操作指南1参考配置操作例如:要配置允许目的为14.1.1.2的所有DNS访问流量Router(config)#access-list140permitudpanyhost14.1.1.2eq53Router(config)#access-list140denyudpanyanylog例如:要配置允许目的为14.1.0.0/16的所有DNS访问流量Router(config)#access-list140permittcpany14.1.0.00.0.255.255Router(config)#access-list140denyipanyanylog2补充操作说明访问控制列表命令格式:I. 标准访问控制列表access-listlist-numberdeny|permitsourcesource-wildcardlogII. 扩展访问控制列表access-listlist-numberdeny|permitprotocolsourcesource-wildcardsource-qualifiersdestinationdestination-wildcarddestination-qualifierslog|log-input检测方法1.判定条件I. 针对每个业务所需通讯,存在一条acl;II. 对于非公共性服务,源IP和目标IP不能含有anyIII. 目标端口明确2.检测操作使用showipaccess-listaccess-list-number|name命令,如下例:Router#showipaccess-listExtendedIPaccesslist101denyudpanyanyeqntppermittcpanyanypermitudpanyanyeqtftppermiticmpanyanypermitudpanyanyeqdomain编号:安全要求-设备-通用-配置-17-可选要求内容对于使用IP协议进行远程维护的设备,设备应配置使用SSH等加密协议。操作指南1参考配置操作I. 配置主机名和域名router#configtEnterconfigurationcommands,oneperline.EndwithCNTL/Z.router(config)#hostnameRouterRouter(config)#ipdomain-nameRouter.domain-nameII. 配置访问控制列表Router(config)#noaccess-list12Router(config)#access-list12permithost192.168.0.200Router(config)#linevty04Router(config-line)#access-class12inRouter(config-line)#exitIII. 配置账号和连接超时Router(config)#servicepassword-encryptionRouter(config)#usernamenormaluserpassword3d-zirc0niaRouter(config)#usernamenormaluserprivilege1Router(config)#linevty04Router(config-line)#loginlocalRouter(config-line)#exec-timeout50IV. 生成rsa密钥对Router(config)#cryptokeygeneratersaThenameforthekeyswillbe:Router.domain-nameChoosethesizeofthekeymodulusintherangeof360to2048foryourGeneralPurposeKeys.Choosingakeymodulusgreaterthan512maytakeafewminutes.Howmanybitsinthemodulus512:2048GeneratingRSAKeys.OKV. 配置仅允许ssh远程登录Router(config)#linevty04Router(config-line)#transportinputsshRouter(config-line)#exitRouter(config)#2补充操作说明配置描述:I. 配置ssh要求路由器已经存在主机名和域名II. 配置访问控制列表,仅授权192.168.0.200访问192.168.0.100sshIII. 配置远程访问里连接超时IV. 生成rsa密钥对,如果已经存在可以使用以前的。默认存在rsa密钥对sshd就启用,不存在rsa密钥对sshd就停用。V. 配置远程访问协议为ssh检测方法1.判定条件I. 存在rsa密钥对II. 远程登录指定ssh协议2.检测操作I. 使用showcryptokeymypubkeyrsa命令,如下例:Router(config)#showcryptokeymypubkeyrsa%Keypairwasgeneratedat:06:07:49UTCJan131996Keyname:Usage:SignatureKeyKeyData:005C300D06092A864886F70D0101010500034B003048024100C5E23B55D6AB2204AEF1BAA54028A69ACC01C5129D99E464CAB820847EDAD9DF0B4E4C73A05DD2BD62A8A9FA603DD2E2A8A6F898F76E28D58AD221B583D7A4710203010001%Keypairwasgeneratedat:06:07:50UTCJan131996Keyname:Usage:EncryptionKeyKeyData:003020174A7D385B1234EF29335FC9732DD50A37C4F4B0FD9DADE748429618D518242BA32EDFBDD34296142ADDF7D3D8084076852F2190A00B43F1BD9A8A26DB07953829791FCDE9A98420F06A82045B90288A26DBC644687789F76EEE21II. 使用showrunning-config命令,如下例:router#showrunning-configBuildingconfiguration.Currentconfiguration:!linevty04transportinputssh2.1 账号管理、认证授权2.1.1 账户编号:安全要求-设备-思科路由器-配置-1要求内容应按照用户分配账号。避免不同用户间共享账号。避免用户账号和设备间通信使用的账号共享。操作指南1参考配置操作Router#configtEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#servicepassword-encryptionRouter(config)#usernameruser1password3d-zirc0niaRouter(config)#usernameruser1privilege1Router(config)#usernameruser2password2B-or-3BRouter(config)#usernameruser2privilege1Router(config)#endRouter#2补充操作说明检测方法1.判定条件I. 配置文件中,存在不同的帐号分配II. 网络管理员确认用户与帐号分配关系明确2.检测操作使用showrunning-config命令,如下例:router#showrunning-configBuildingconfiguration.Currentconfiguration:!servicepassword-encryptionusernameruser1password3d-zirc0niausernameruser1privilege1usernameruser2password2B-or-3Busernameruser2privilege1编号:安全要求-设备-思科路由器-配置-2要求内容应删除与设备运行、维护等工作无关的账号。操作指南1参考配置操作Router#configtEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#nousernameruser32补充操作说明检测方法1.判定条件I. 配置文件存在多帐号II. 网络管理员确认所有帐号与设备运行、维护等工作有关2.检测操作使用showrunning-config命令,如下例:router#showrunning-configBuildingconfiguration.Currentconfiguration:!usernameuser1privilege1passwordpassword1usernamenobodyuseprivilege1passwordpassword12.1.2 口令编号:安全要求-设备-思科路由器-配置-3要求内容静态口令必须使用不可逆加密算法加密,以密文形式存放。如使用enablesecret配置Enable密码,不使用enablepassword配置Enable密码。操作指南1参考配置操作Router#configtEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#enablesecret2-mAny-rOUtEsRouter(config)#noenablepasswordRouter(config)#end2补充操作说明检测方法1.判定条件配置文件无明文密码字段2.检测操作使用showrunning-config命令,如下例:router#showrunning-configBuildingconfiguration.Currentconfiguration:!servicepassword-encryptionenablesecret5$1oxphetTb$rTsF$EdvjtWbi0qA2gusernameciscoadminpassword7Wbi0qA1$rTsF$Edvjt2gpvyhetTb2.1.3 授权2.1.4 认证编号:安全要求-设备-思科路由器-配置-7-可选要求内容设备通过相关参数配置,与认证系统联动,满足帐号、口令和授权的强制要求。操作指南1参考配置操作Router#configureterminalEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#aaanew-modelRouter(config)#aaaauthenticationlogindefaultgrouptacacs+Router(config)#aaaauthenticationenabledefaultgrouptacacs+Router(config)#tacacs-serverhost192.168.6.18Router(config)#tacacs-serverkeyIr31yh8n#w9swDRouter(config)#endRouter#2补充操作说明与外部TACACS+server192.168.6.18联动,远程登录使用TACACS+serverya验证检测方法1.判定条件帐号、口令配置,指定了认证系统2.检测操作使用showrunning-config命令,如下例:router#showrunning-configBuildingconfiguration.Currentconfiguration:!aaanew-modelaaaauthenticationlogindefaultgrouptacacs+aaaauthenticationenabledefaultgrouptacacs+tacacs-serverhost192.168.6.18tacacs-serverkeyIr31yh8n#w9swD2.2 日志安全要求编号:安全要求-设备-思科路由器-配置-4-可选要求内容与记账服务器(如RADIUS服务器或TACACS服务器)配合,设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功,登录时间,以及远程登录时,用户使用的IP地址。操作指南1参考配置操作Router#configureterminalEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#aaanew-modelRouter(config)#aaaaccountingconnectiondefaultstart-stopgrouptacacs+Router(config)#aaaaccountingexecdefaultstart-stopgrouptacacs+Router(config)#endRouter1#2补充操作说明使用TACACS+server检测方法1.判定条件配置了AAA模板的上述具体条目2.检测操作使用showrunning-config命令,如下例:router1#showrunn|includeaaaBuildingconfiguration.Currentconfiguration:!aaanew-modelaaaauthenticationlogindefaultgrouptacacs+aaaauthorizationexecdefaultgrouptacacs+aaasession-idcommon编号:安全要求-设备-思科路由器-配置-5-可选要求内容与记账服务器(如TACACS服务器)配合,设备应配置日志功能,记录用户对设备的操作,如账号创建、删除和权限修改,口令修改,读取和修改设备配置,读取和修改业务用户的话费数据、身份数据、涉及通信隐私数据。记录需要包含用户账号,操作时间,操作内容以及操作结果。操作指南1参考配置操作Router#configureterminalEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#aaanew-modelRouter(config)#aaaaccountingcommands1defaultstart-stopgrouptacacs+Router(config)#aaaaccountingcommands15defaultstart-stopgrouptacacs+Router(config)#endRouter1#2补充操作说明使用TACACS+server检测方法1.判定条件配置了AAA模板的上述具体条目2.检测操作使用showrunning-config命令,如下例:router1#showrunn|includeaaaBuildingconfiguration.Currentconfiguration:!aaanew-modelaaaaccountingcommands1defaultstart-stopgrouptacacs+aaaaccountingcommands15defaultstart-stopgrouptacacs+编号:安全要求-设备-思科路由器-配置-6-可选要求内容开启NTP服务,保证日志功能记录的时间的准确性。操作指南1参考配置操作配置命令如下:Router#configtEnterconfigurationcommands,oneperline.EndwithCNTL/Z.Router(config)#interfaceeth0/0Router(config-if)#nontpdisableRouter(config-if)#exitRouter(config)#ntpserver14.2.9.2sourceloopback0Router(config)#exit2补充操作说明需要到每个端口开启NTP检测方法1.判定条件I. 存在ntpserver配置条目II. 日志记录时间准确2.检测操作I. 使用showrunning-config命令,如下例:router#showrunning-configBuildingconfiguration.Currentconfiguration:!nontpdisablentpupdate-calendarntpserver128.237.32.2ntpserver142.182.31.6II. showlogging|includeNTP000019:Jan2910:57:52.633EST:%NTP-5-PEERSYNC:NTPsyncedtopeer172.25.1.5000020:Jan2910:57:52.637EST:%NTP-6-PEERREACH:Peer172.25.1.5isreachable2.3 IP协议安全要求2.3.1 基本协议安全编号:安全要求-设备-思科路由器-配置-8-可选要求内容配置路由器,防止地址欺骗。操作指南1参考配置操作对向内流量配置:Router(config)#no