DNS 管理实务课件_第1页
DNS 管理实务课件_第2页
DNS 管理实务课件_第3页
DNS 管理实务课件_第4页
DNS 管理实务课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DNS管理实务课件目录DNS简介DNS原理DNS服务器架设与维护DNS安全与除错DNS进阶议题2DNS简介3DNS简介-为什么需要DNS?Internet透过IP来代表网络上的各台设备IP由一串数字组成,难以记忆为了方便记忆,透过有意义的文字来代表0V.S..tw

早期网域名称透过hosts档管理(超大本黄页)/etc/hosts数量庞大且频繁异动->难以扩展/难以维护如何解决?使用DNS

许多服务得要仰赖DNSVirtualHostingCDN...4DNS简介-什么是DNS?DNS(DomainNameService)网域名称服务分散式的数据库由世界各地不同的DNS服务器所组成每台服务器负责不同的部份

提供IP与名称的对应资料查询每一笔纪录称为一个RR(ResourceRecord)其他功能提供电子邮件的路由信息(MX)

可以透过多台服务器来提高可用性每台服务器提供相同资料如果一台故障,就能够透过其他台查询5常见的RR种类们SOAStartofauthorityNSNameserver(delegationrecord)AAddress(IPv4)AAAAAddress(IPv6)PTRPointer(reverselookup)MXMailexchangeDNS简介-DNS命名空间(DNSNameSpace)(1/2)所有DNS名称的集合透过"."(Dot)分隔形成阶层式/树状的架构(类似计算机的档案系统)树状结构的最上层称为Root,底下每个节点都是一个Domain,可向下分Sub-domainRoot的下一层称为TopLevelDomain(TLD)ccTLD(CountryCodeTLD):.tw.us....gTLD:.com.net.gov…域名(DomainName)自Root开始,由右往左扩展(不包含root).tw如果包含Root则称为FQDN(Fully-qualifieddomainname).tw.不区分大小写,名称绝不重复www.NcT.tw长度限制Label长度须小于63

个字符FQDN长度小于255

个字符6www.nctu.edu.tw.LabelFQDN由右往左DomainNameDNS简介-DNS命名空间(DNSNameSpace)(2/2)7.(root)twuseducomnctuDomainSubdomainwww.tw.edu.tw..tw..tw.FQDNDNS简介-DNSZone回忆:DNS是一个分散式数据库究竟谁负责哪个部份的资料?Zone每台DNS服务器的最小管理单位一台DNS服务器可以管理多个Zone跟Domain一样吗?Zone可以包含其Sub-domain如何区分Zone的范围?授权(Delegation)Sub-domain经过Delegation后,就会离开Zone的范围,将管辖权交给其他服务器8DNS简介-授权(Delegation)将自己所管辖的区域(Zone)切割给其他人管理一但一台DNS服务器被授权某个Sub-domain

则此DNS服务器就具有权威性(Authortative)上层不再管理

注册新的网域(DomainRegistration)付钱之后获得某个网域的授权9DNS原理10DNS原理-DNS协定11通常使用TCP/UDP53Port,其中又以UDP53Port为主若使用UDP,则最大的封包大小为512bytes(除非使用EDNS0)定义多个DNS操作Query:用户查询DNS纪录Response:服务器回答DNS纪录ZoneTransfer:服务器之间同步资料Notification:通知其他服务器更新资料DynamicUpdates:动态域名更新DNS原理-DNSQuery(1/4)用户使用应用程序应用程序透过Resolver向DNS服务器进行查询并且得到所要的信息两种查询方式递回查询(Recursivequery)Resolver与DNS服务器之间的查询方式问问题之后,只接受有(正确找到资料)或没有资料(找不到名称)迭代查讯(Iterative)DNS服务器之间的查询方式如果被问的服务器没有答案,则回传权威服务器(AuthoritativeServer)的位址,由客户端自己去问该台服务器12DNS原理-DNSQuery(2/4)

13DNS原理-DNSQuery(3/4)

真实案例询问.au

的位址14DNS原理-DNSQuery(4/4)依据查询的类型又可以大致分为正解(ForwardLookup)DomainName->IP(又称为Forwardmapping)例如:.tw->27反解(ReverseLookup)用IP来反查DomainName,IP->DomainName(又称为Reversemapping)透过特殊的

这个TLD(这被归类为InfrastructuregTLD)进行查询例如查询27所对应的域名16.->.注意:"16".与我们域查询的IP是颠倒的,为什么?正解与反解资料不必然要相同如果有架设邮件服务器请小心!15DNS原理-DNS服务器分类(1/2)分类上,大致可分为三种主要名称服务器(Primary/MasterServer)由自己的档案系统中取得所管理的Zone的资料

次要名称服务器(Secondary/SlaveServer)从其他台名称服务器(通常是Master)中取得所管理的Zone的资料

快取名称服务器(Cache-onlyServer)将客户查询过得DNS服务器记起来,不管理Zone加速查询时间,节省频宽每笔资料超过活命时间(Time-to-live)就会被清除快取分为Positivecache(有问到资料的)跟Negativecache(问不到资料)16DNS原理-DNS服务器分类(2/2)对于一个Zone来说,其所有DNS服务器资料应该要同步不同部会导致如何同步?分享档案系统(Sharedfilesystem),象是NFS之类的手动修改每台服务器的资料(累死)把Zone资料放进共享的数据库(SharedDatabase)使用ZoneTransfer(Master/Slaveserver间同步就是这样做)

对于授权(Delegation)与查询(Query)来说,没有主要次要之分一个Zone可以授权给多台DNS服务器管理这些DNS服务器地位平等,不论他是Master还是Slave17DNS架设与维护18DNS架设与维护-第一次登入DNSServer19透过SSH登入DNSServer连线工具Putty(https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe)预设账号dnsman预设密码Dn$m4n

登入后立即修改密码求求你,密码不要太简单(至少8位,有英文大小写数字符号空格)$passwd($符号代表shellprompt,不用输入)

如果想要建立自己的账号$sudouseradd[你的使用者名称]-s/bin/bash-Gsudo-m-d/home/[你的使用者名称]$sudopasswd[你的使用者名称]DNS架设与维护-安装相关套件更新套件库$sudoapt-getupdate安装套件Bind9$sudoapt-getinstall-ybind9设定开机时启动服务$sudosystemctlenablebind9立即启动服务$sudosystemctlstartbind9dpkg-l|grepbindsystemctlstatusbind920DNS架设与维护-相关目录与设定档

/etc/bindBind9的设定档都放在这儿/etc/bind/named.confBind9启动设定档,所有设定档的源头,别碰它/etc/bind/named.root还记得root网域吗?这就是根网域的位址,别碰它/etc/bind/named.conf.default-zones预设的Zone,别碰它/etc/bind/named.conf.options所有全域的选项都放在这里/etc/bind/named.conf.local你要加的设定都放这里/var/cache/bind预设的相对目录路径21DNS架设与维护-设定档语法

named.conf中包含以下几种陈述(statements)includeoptionsserverkeyaclzoneviewcontrolsloggingtrusted-keys注解//Comment每个设定的尾巴都要加上分号;22DNS架设与维护-位址比对清单(AddressMatchList)

可以包含IPaddress,例如:7IPaddress/CIDRMask,例如:140.113/16先前定义的ACL加密金钥利用!反向FirstMatch范例{!;1.2.3/24;};{128.138/16;198.11.16/24;204.228.69/24;;};23DNS架设与维护-存取控制acl

语法aclacl_name{address_match_list};预设ACLany,localnets,localhost,none范例

aclCSnets{

140.113.235/24;140.113.17/24;140.113.209/24;140.113.24/24;

};

aclNCTUnets{

140.113/16;10.113/16;140.126.237/24;

};

allow-transfer{localhost;CSnets;NCTUnets};24DNS架设与维护-全域设定options

编辑/etc/bind/named.conf.options

aclCampus{140.113/16;};

options{

version"";//拿掉版本号

listen-onport53{any;};//Listen在所有IPv4

listen-on-v6port53{any;};//Listen在所有IPv6

allow-query{any;};//允许所有人向我发送Query

recursiontrue;//开启递回查询

allow-recursion{localhost;Campus;};//限制递回查询

};sudorndcreload25DNS架设与维护-区域宣告zone(1/3)

用来宣告其为AuthoritativeZone语法

zone".tw"{

typemaster|slave|stub;

file"path”;//Zone数据库档案

masters{ip_addr;ip_addr;};

allow-query{address_match_list}; [all]

allow-transfer{address_match_list}; [all]

allow-update{address_match_list}; [empty]

};26DNS架设与维护-区域宣告zone(2/3)

MasterServer范例

aclTrusted_slaves{0;2001:288:4000:66::70;};zone".tw"IN{

typemaster;

file"master/.tw.hosts";

allow-query{any;};

allow-transfer{localhost;Trusted_slaves;};

allow-update{none;};

};27DNS架设与维护-区域宣告zone(3/3)

SlaveServer范例

zone".tw"IN{

typeslave;

file"slave/.tw.hosts";

masters{07;};

allow-query{any;};

allow-transfer{localhost;CS-DNS-Servers;};

};28DNS架设与维护-Zone数据库(1/13)存在于MasterServer纯文字档内容有两种ResourceRecord(RR)真正储存资料的部份Parser指令用来修改或管理RR29DNS架设与维护-Zone数据库(2/13)Parser指令必须要在第一栏必须要自己独立一行$ORIGINfqdn补充fqdn使其成为FQDN$INCLUDEfile-name引入档案$TTLdefault-ttl设定RR预设的存活时间$GENERATEstart-stop/[step]lhstyperhs用来产生一系列类似的RRtype仅支援CNAME,PTR,NSRR30DNS架设与维护-Zone数据库(3/13)ResourceRecord(RR)格式

[name][ttl][class]typedataname:名称,可以是相对或是绝对(FQDN)ttl:这条RR的存活时间,以秒为单位class:网络类型,99.99%都是IN特殊字符;注解@目前的domainname()让data部份可以分散到很多行*Wildcard字符,只能用在name31DNS架设与维护-Zone数据库(4/13)ResourceRecord(RR)种类32DNS架设与维护-Zone数据库(5/13)SOA:StartofAuthority定义DNSZone的权威性,每个Zone只能有一个SOA格式

[zone]INSOA[server-name][administrator’smail](serial,refresh,retry,expire,negativettl)范例

$TTL3600;

$ORIGIN.tw.

@INSOA.tw..tw.(

2007052102;serialnumber

1D;refreshtimeforslaveserver

30M;retry

1W;expire

2H);negativecachettl每次更新Zone数据库,serialnumber都要递增!!!否则Slave无法同步33DNS架设与维护-Zone数据库(6/13)NS:NameServer用来宣告Zone的AuthoritativeServer通常置于SOARR后面每一笔NSRR除了在自己的Zonefile里宣告,也需要在上层宣告范例

$TTL3600;

$ORIGIN.tw.

@INSOA.tw..tw.(

2007052102;serialnumber

1D;refreshtimeforslaveserver

30M;retry

1W;expire

2H);negativecachettl

INNS.tw.

INNS.tw.34DNS架设与维护-Zone数据库(7/13)ARecord:Address提供Hostname至IP之对照范例

$ORIGIN.tw.

@INNS.tw.

INNS.tw.

dnsINA07

dns2INA03

wwwINA1135DNS架设与维护-Zone数据库(8/13)AAAARecord:AddressIPv6提供Hostname至IPv6之对照范例

$ORIGIN.tw.

@INNS.tw.

INNS.tw.

dnsINAAAA3ffe::bbb:93:536DNS架设与维护-Zone数据库(9/13)

PTR:Pointer用于反查IP与Hostname之对应利用特别的gTLD:范例

$ORIGIN235.113.140..

@INSOA.tw..tw.(

2007052102;serial

1D;refreshtimeforsecondaryserver

30M;retry

1W;expire

2H);minimum

INNS.tw.

INNS.tw.

37$ORIGIN.40INPTR.tw.40INPTR.tw.DNS架设与维护-Zone数据库(10/13)

PTR:Pointer(IPv6)使用gTLDPTRRecordfor2404:6800:4008:800::2003$ORIGIN.....

@INSOA.tw..tw.(

2007052102;serial

1D;refreshtimeforsecondaryserver

30M;retry

1W;expire

2H);minimum

INNS.tw.

INNS.tw.

38...INPTR.tw.DNS架设与维护-Zone数据库(11/13)

MX:Mailexchanger提供邮件服务器路由信息范例

$TTL3600;

$ORIGIN.tw.

@INSOA.tw..tw.(

2007052102;serialnumber

1D;refreshtimeforslaveserver

30M;retry

1W;expire

2H);negativecachettl

INNS.tw.

INNS.tw.

INMX1.tw.

INMX5.tw.

csmx1INA04

csmx2INA0539DNS架设与维护-Zone数据库(12/13)

CNAME:CanonicalName为一个Host增加别名不应拿来做Load-balance用途范例

wwwINA3

INA7

penghu-clubINCNAMEwww

KingINCNAMEwww

R21601INA1

supermanINCNAMEr2160140DNS架设与维护-Zone数据库(13/13)

GlueRecord如果你的DNSServer位址也在同个Domain里的话

必须透过GlueRecord,让别人能够从上层找到你例如:

$ORIGIN.

@INNS.

这样的情况下我要怎么找到.在哪里?在Parent加上

.INNS.

.INA2341DNS架设与维护-Master/Slave更新同步流程(1/2)Master修改完成,重启并送出notify给slave(s).Slave查询master的SOA记录Master送回SOA记录.Slave比对查询得到的serial与本机的serial,若不大于本机,结束流程.若serial大于本机,Slave送出zonetransfer要求(AXFR/IXFR).Master回应zonetransfer请求,送回结果.Slave完成更新.42DNS架设与维护-Master/Slave更新同步流程(2/2)43DNS安全与除错44DNS安全与除错-DNS常见的攻击模式45DNS放大攻击(DNSAmplificationAttack)伪造来源IP发送大量DNSRequest,使得被害人收到大量DNSReplyDNSRequest(35bytes)->DNSReply(3500bytes),流量放大100倍

区域转送攻击(ZoneTransferAttack)利用Zonetransfer列举组织网域与服务器信息

快取中毒攻击(CachePoisoningAttack)假冒查询回应来感染DNS服务器的快取DNS安全与除错-DNS常见的攻击模式46DNS放大攻击(DNSAmplificationAttack)DNS安全与除错-DNS常见的攻击模式47DNS放大攻击(DNSAmplificationAttack)避免自己成为放大攻击的帮凶,避免OpenRecursion关闭recursion功能,或是限制recursion的对象

options{

recursionoff;//直接关闭recursion

};

或者

options{

recursionon;

allow-recursion{trusted;};//只允许trustedACL清单中的人进行recursion

};DNS安全与除错-DNS常见的攻击模式48区域转送攻击(ZoneTransferAttack)避免泄漏组织网域的完整数据库限制可以执行zonetransfer的对象

zone".tw"IN{

typemaster;

file"master/.tw.hosts";

allow-query{any;};

allow-transfer{localhost;slaves;};//只允许我认可的slaveserver执行zonetransfer

allow-update{none;};

};DNS安全与除错-DNS常见的攻击模式49快取中毒攻击(CachePoisoningAttack)目前较好的解法是开启DNSSEC验证DNS安全与除错-值得留意的安全相关参数50功能设定描述说明allow-queryoptions,zone谁能够询问allow-transferoptions,zone谁能够进行区域传送allow-updatezone谁能够动态更新blackholeoptions忽略哪个服务器的请求bogusserver哪些服务器不该被询问versionoptions版本号DNS安全与除错-纪录档(1/2)名词解释Channel讯息要送到哪里?例:syslog,file或是/dev/nullCategory讯息的分类Facility在Syslog中为Log的来源Severity严重性51DNS安全与除错-纪录档(2/2)52DNS安全与除错-纪录档logginglogging描述

logging{

channelsecurity-log{

file"/var/named/security.log"versions5size10m;

severityinfo;

print-severityyes;

print-timeyes;

};

channelquery-log{

file"/var/named/query.log"versions20size50m;

severityinfo;

print-severityyes;

print-timeyes;

};53categorydefault{default_syslog;default_debug;};categorygeneral{default_syslog;};categorysecurity{security-log;};categoryclient{query-log;};categoryqueries{query-log;};categorydnssec{security-log;};};DNS进阶议题54DNS进阶议题-Non-byteboundary(1/3)55有时候被分配到的网段可能不是完整的ClassC例如将/24切成四段,分别交给不同人管理~3.4~27.28~91.92~55.怎么办?DNS进阶议题-Non-byteboundary(2/3)56方法一

$GENERATE0-63$.3.168.192..INNS.

$GENERATE64-127$.3.168.192..INNS.

$GENERATE128-191$.3.168.192..INNS.

$GENERATE192-255$.3.168.192..INNS.搭配zone

zone“92.”{

typemaster;

file“named.rev.”;

};编辑named.rev.

@INSOA..(1;3h;1h;1w;1h)

INNSDNS进阶议题-Non-byteboundary(3/3)57方法二

$ORIGIN3.168.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论