第七讲、网络基础设施安全(4)域名系统安全目录7.1局域网和VLAN7.2远程访问(拨号)7.3路由系统安全7.4网络管理系统安全7.5域名系统安全7.5域名服务系统安全•DNS基础•DNS风险•DNS安全管理政策•DNS安全技术措施DNS基础•域名服务是最重要的基础设施之一•分布式数据库,域名IP地址“”educomgovorgcnjpedu.cncom.cnorg.cntsinghua.edu.cnpku.edu.cncs.tsinghua.edu.cnmath.tsinghua.edu.cn…域名解析的过程Resolver,Primary&secondaryDNSPrimaryDNSSecondaryDNSresolverresolverUDPport53UDPport53UDPport53TCPport53DNS数据流masterCachingforwarderresolverZoneadministratorZonefileslavesDynamicupdates主要风险•缓冲区溢出漏洞允许远程控制•域名欺骗(DNSSpoofing)•利用区传输造成DNS信息泄密•针对域名服务的拒绝服务(DOS)攻击•无访问控制的递规查询造成流量的增加•未经授权的更新DATAProtectionServerProtectionDNS隐患ZonefileslavesmasterCachingforwarderresolverZoneadministratorDynamicupdatesCachepollutionbyDataspoofingUnauthorizedupdatesCorruptingdataImpersonatingmasterCacheimpersonation常用软件及新的特性•BIND—BerkeleyInternetNameDomain•WindowsNT/2k•动态更新,DHCP•通知,Primary-Secondary缓冲区溢出漏洞•CERT®AdvisoryCA-1999-14MultipleVulnerabilitiesinBIND(8.2.2以前)–thenxtbug–Vulnerability#2:thesigbug–Vulnerability#3:theso_lingerbug–Vulnerability#4:thefdmaxbug–Vulnerability#5:themaxdnamebug–Vulnerability#6:thenaptrbug•tsigbug•域名欺骗(DNSSpoofing)•劫持域名查询请求,假冒DNS的响应•污染DNS的缓冲区(DNScachepoisoning)•侵入操作系统,修改DNS数据文件DNSCachePollution攻击目标DNSDNS.hacker.com=1.2.3.4Victim=4.3.2.1DNS区传输信息泄密DNSDoS•伪造源地址查询STdnsdnsdnsdnsQueryfromTResponsetoT对查询请求无限制地响应•递规查询•转发(Forwarder)dnsdnsInternetDNS管理策略•谁来管理域名服务器?•如何增加新的DNS记录?•多久备份一次?•多久更新杀毒软件?DNS安全技术措施•版本更新和补丁•防止单点故障•专用DNS服务器•限制区传输•谨慎使用动态更新•限制使用递规查询•查询限制•反欺骗措施:IDPool•不以Root运行named,chroot•转发(forwarder)DNSBIND版本•当前常见的版本–4.9.8:•–8.2.3:•–9.1.0(推荐使用):••不同版本的漏洞信息–防止单点故障•不要把所有的域名服务器放置在同一子网•不将所有的域名服务器放在同一个路由器之后•所有的域名服务器不使用同一条线路•备份域名服务器•运行不同的操作系统平台专用的DNS服务器•不要运行其他应用•配置防火墙,过滤其他不必要的流量•从外部执行一次端口扫描,检查是否只提供了UDP53和TCP53端口限制区传输•减轻服务器负载•防止黑客列举区(zone)中的信息–确定目标•Mailservers•Nameservers–获取主机的统计信息•Howmanyhostsyouhave•Whatmakesandmodelsyouhave•Whattheirnamesare(valuableifyounamethemafterpeopleorprojects)限制区传输—BIND8配置•allow-transfersubstatement:options{allow-transfer{206.168.119.178;};};•or,specifictoazone:zone“verisign.com”{typemaster;file“db.verisign.com”;allow-transfer{206.168.119.178;};};限制区传输—BIND8配置•注意,Secondary也要配置•Nslookup的ls命令•Dig的axfr选项限制区传输—用TSIG认证•会话签名•BIND8.2andlater•在主域名服务器和从域名服务器上配置密钥,然后要求域名服务器通信时进行签名限制区传输—用TSIG认证(Cont.)•主域名服务器的named.conf:keyhuskymo-tornado.{algorithmhmac-md5;secret“mZiMNOUYQPMNwsDzrX2ENw==”;};zone“verisign.com”{typemaster;file“db.verisign.com”;allow-transfer{keyhuskymo-tornado;};};•这一配置要求对来自206.168.119.178的域名服务器域传输请求使用TSIG密钥huskymo-tornado.进行签名限制区传输—用TSIG认证(Cont.)•从域名服务器的named.conf:keyhuskymo-tornado.{algorithmhmac-md5;secret“mZiMNOUYQPMNwsDzrX2ENw==”;};server208.8.5.250{transfer-formatmany-answers;keys{huskymo-tornado.;};};zone“verisign.com”{typeslave;file“bak.verisign.com”;allow-transfer{none;};};限制动态更新•动态更新既有用又有害–有时甚至可以添加、删除纪录•如果使用动态更新,必须限制其范围–单另的IP地址–一系列TSIG密钥•如果使用IP地址进行限制,必须确保进行了anti-spoofing设置–在borderrouter或者–堡垒主机避免地址假冒•可以对任何地址进行递归查询,将使域名服务器易于遭到地址假冒攻击–入侵者可以查询它们所控制域内机器的情况–这样本机将可能接受那些虚假的数据•对策:–只必要时开启递归查询–限制来源IP–限制递归查询的来源IP防止假冒•BIND8可以使用use-id-pool来使报文的ID随机化,这样假冒会更困难options{directory“/var/named”;use-id-poolyes;};•BIND9缺省使用这一特性关闭GlueFetching•当域名服务器没有A记录时,会返回NS纪录,这就称作GlueFetching–有可能会被欺骗进行假冒回答•关闭GlueFetching–服务器不会进行解析请求–不会产生cache•BIND4.9配置optionsno-recursionoptionsno-fetch-glue•BIND8配置options{recursionno;fetch-glueno;};•BIND9语法同BIND8,不过BIND9缺省关闭fetchglueDNS服务器的访问控制•BIND8后可以设置:aclinternal{206.168.119.176/29;};options{directory“/var/named”;allow-query{internal;};};zone“verisign.com”{typemaster;file“db.verisign.com”;allow-query{any;};};DNS服务器的访问控制•BIND8.2.1之后可以限制接受递归查询的IP地址范围aclinternal{206.168.119.178/29;};options{directory“/var/named”;allow-recursion{internal;};};zone“verisign.com”{typemaster;file“db.verisign.com”;};防火墙与DNS配置转发DNS•options{forwarders{192.249.249.1;192.249.249.3;};forwardonly;};DNS安全技术措施-总结•版本更新和打补丁•防止单点故障•专用DNS服务器•限制区传输•谨慎使用动态更新•限制使用递规查询•查询限制•反欺骗措施:IDPool•不以Root运行named,chroot•转发(forwarder)DNS作业•分别从局域网交换系统、路由系统、域名系统与网络管理系统讨论,网络基础设施存在哪些安全威胁,如何从技术上和管理上防范这些威胁?