防止恶意攻击

DNS全称DomainNameSystem域名解析系统,通俗地说,DNS就是帮助用户在Internet上寻找名称与IP对应的解析服务。为了更方便使用网络资源,DNS服务提供一种将电脑或服务名称对应到关联该名称IP位址的方法。名称一定比枯燥的IP地址更容易了解和记忆。大多数使用者喜欢使用易记的名称例如www.51cto.com)来寻找网络中像是邮件服务器或网页服务器,而不是使用IP地址。当使用者在应用程式中输入易记的DNS名称时,DNS服务会将此名称解析成它的数值位址。
 
DNS解析是Internet绝大多数应用的实际定址方式;它的出现完美的解决了企业服务与企业形象结合的问题,企业的DNS名称是Internet上的身份标识,是不可重覆的唯一标识资源,Internet的全球化使得DNS名称成为标识企业的最重要资源。
 
然而重要的资源就可能引起有心人士的关心,随着Internet上DNS攻击事件的发生,DNS的安全问题也成为大家关心的焦点,常见的方式为:
 
1、针对DNS系统的恶意攻击:发动DNS DDOS攻击造成DNS名称解析瘫痪。
 
2、DNS名称劫持:修改注册讯息、劫持解析的结果。
 
当DNS服务器遭遇DNSSpoofing恶意攻击时,不管是正常DNS查询封包或非正常的封包都经由UDPPort53进到内部的DNS服务器,DNS服务器除了要处理正常封包外,还要处理这些垃圾封包,当每秒的封包数大到一定的量时,DNS服务器肯定无法处理了,此时正常的封包请求,也一定无法得到正常的回应,当查询网站的IP无法被回应时,用户当然连接不到网站看不见网页,如果是查询邮件服务器时,那邮件也无法被寄出,重要的资料也无法被顺利的传递了,因此,维护DNS服务的正常运作就是一件非常重要的工作。
 
针对以上的问题AX有一个解决方式,就是DNS应用服务防火墙,AX在这问题有三个有力的方法,可以有效的缓解这些攻击所造成的影响,
 
1、首先将非DNS协定的封包过滤Malformed Query Filter)
 
2、再来将经由DNS服务器查询到的讯息做缓存DNS Cache)
 
3、如果真的遇到大量的正常查询、AX可以启动每秒的连线控制Connection Rate
Limit)
 
Malformed Query Filter:  
这种非正常的封包通常都是用来将对外网络的频宽给撑爆,当然也会造成DNS服务器的忙碌,所以AX在第一线就将这类的封包过滤,正确的封包传递到后方的服务器,不正常的封包自动过滤掉避免服务器的负担。
 
DNS Cache:  
当DNS查询的回应回到AX时,AX可以预先设定好哪些Domain要Cache哪些不需要Cache,如果有Cache,当下一个同样的查询来到AX时,AX就能从Cache中直接回应,不需要再去DNS服务器查询,一方面减轻了DNS服务器的负担,另一方面也加快了回应的速度。
 
再者,当企业选用此功能时更能仅设定公司的Domain做Cache,而非关此Domain的查询一律不Cache或者拒绝回应,这样更能有效的保护企业的DNS服务器。
 
而ISP之类需提供大量查询的服务,更适合使用此功能,为DNS服务提供更好更快的回应。
 
Connection RateLimit:  
当查询的流量大到一定的程度时,例如同一个Domain每秒超过1000个请求,此时在AX上可以启动每秒的连线控制,控制进入到后端DNS服务器的查询量,超过的部分直接丢弃,更严格的保护DSN服务器的资源。
 
相信许多人期待在日新月异的网际网络中看到创新的网络技术,并能提供更好的网络应用服务。而确保DNS服务的不间断持续运作并让DNS服务所提供的资讯是正确的,这也是一切网络应用服务的基础。
 
本文提及DNS防火墙应用服务功能,除了希望提醒读者DNS服务的重要外,亦希望读者对DNS的安全性上有所认知,进而知道如何保护DNS服务器,并在防止被恶意攻击上提供一些有效的帮助。

DNS bind 介绍

1,DNS:

Domain Name Service,协议(C/S, 53/udp, 53/tcp);应用层协议
客户端与服务器之间是UDP协议,服务器与服务器之间是TCP协议

2,BIND:

Bekerley Internat Name Domain, ISC
(www.isc.org)
实现DNS协议的软件

3,本地名称解析配置文件:
etc/hosts

注意:本地host解析优先于DNS服务器解析

%WINDOWS%/system32/drivers/etc/hosts (window host 文件位置)

1.1.1.1 www.magedu.com (window host 文件格式)
1.2.2.2 www.apple.com
4,DNS查询类型:

递归查询:主机向DNS服务器请求的时候使用递归查询
迭代查询:DNS服务器向根服务器请求的时候是迭代查询,根服务器——顶级域名服务器——名称服务器

名称服务器:域内负责解析本域内的名称的主机;
根服务器:13组服务器

5,解析类型:

正向解析:FQDA –> IP
反向解析:IP –> FQDA
注意:正反向解析是两个不同的名称空间,是两棵不同的解析树,互不影响。
FQDN: Full Qualified Domain Name
例如:www.magedu.com.

6,DNS服务器的类型:

主DNS服务器:
维护所负责解析的域内解析库服务器;解析库由管理维护;

辅助DNS服务器:
从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库;

缓存DNS服务器:

转发器:

7,一次完整的查询请求经过的流程:

Client –> hosts文件 –> DNS Service
Local Cache –> DNS Server (recursion) –> Server Cache –>
iteration(迭代) –> 根服务器 –> 顶级域名服务器 –> 名称服务器

解析答案:
肯定答案 否定答案:请求的条目不存在等原因导致无法返回结果;
权威答案
非权威答案

8,DNS服务器之间数据同步:

区域传送
全量传送:传送整个解析库,只在第一次从服务器向主服务器请求数据时
增量传送:传递解析库变化的那部分内容,主服务器数据更新时

9,区域解析库:由众多RR组成:

资源记录:Resource Record, RR
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX

SOA:Start Of
Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录;
A:internet Address,作用,FQDN –> IP
AAAA: FQDN –> IPv6
PTR: 反向解析 :PoinTeR,IP –> FQDN
NS: Name Server,专用于标明当前区域的DNS服务器
CNAME:Canonical Name,别名记录
MX: Mail eXchanger,邮件交换器

10,资源记录定义的格式:

语法:

name   [TTL]   IN  rr_type     value

注意:
(1) TTL可从全局继承;
(2) @可用于引用当前区域的名字;
(3)
同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应;
(4)
同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机而已;

发表评论

电子邮件地址不会被公开。 必填项已用*标注