域名劫持,又称DNS劫持,是网络攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名,解析到错误的地址,从而达到用户无法访问目标网站的目的。
域名劫持,一方面影响用户的访问体验,用户被链接到假冒的网站上,进而无法正常浏览网页;另一方面,用户可能被诱导至冒牌网站进行登录等操作,导致泄露隐私信息。
一、域名劫持的原理:
域名解析的作用是,把网络地址(域名,以一个字符串的形式),对应到真实的计算机能够识别的网络地址(即IP地址,比如216.239.53.99这样的形式),以便于计算机能够进一步通信,传递网址和内容等。
由于域名劫持往往只能在“特定的、被劫持的网络范围内”进行,所以在此范围外的域名服务器(DNS)则能够返回正常的IP地址,而高级用户可以在网络设置,把DNS指向这些正常的域名服务器,以实现对网址的正常访问。所以域名劫持通常相伴的措施是,封锁正常DNS的IP。
如果知道该域名的真实IP地址,则可以直接用此IP代替域名,进行访问,从而绕开域名劫持。
二、域名劫持的过程:
由于域名劫持只能在特定的网络范围内进行,所以范围外的域名服务器(DNS)能返回正常IP地址。攻击者正是利用这一点在范围内封锁正常DNS(域名系统)的IP地址,使用域名劫持技术,通过冒充原域名以e-mail(电子邮件)的方式修改公司的注册域名记录,或将域名转让到其他组织,通过修改注册信息后,在所指定的DNS服务器加进该域名记录,让原域名指向另一个IP的服务器,这样就能让多数用户无法正确访问到目标网站,或者使得某些用户直接访问到了恶意指定的域名地址。
其实施步骤如下:
1、 获取劫持域名注册信息:首先攻击者会访问域名查询站点,通过make changes(做出更改)功能,输入要查询的域名,以取得该域名注册信息。
2、 控制该域名的e-mail(电子邮件)帐号:此时攻击者会利用社会工程学或暴力破解学进行该e-mail(电子邮件)密码破解;有能力的攻击者,将直接对该e-mail(电子邮件)进行入侵行为,以获取所需信息。
3、 修改注册信息:当攻击者破获了e-mail(电子邮件)后,会利用相关的make changes(做出更改)功能修改该域名的注册信息,包括“拥有者信息,DNS服务器信息”等。
4、 使用e-mail(电子邮件)收发确认函:此时的攻击者,会赶在信件帐号的真正拥有者之前,截获网络公司回馈的网络确认注册信息更改件,并进行回件确认,随后网络公司将再次回馈成功修改信件,此时攻击者就成功劫持了该域名。
三、域名劫持的后果:
1、 用户对正常域名的访问,可能会被引到入侵者所设置的挂马、钓鱼网站的页面。
2、 攻击者如果将DNS(域名系统)的域名查询,重定向到恶意DNS(域名系统)服务器。那么被劫持域名的“域名解析”,就完全处于攻击者的控制之下。
四、如何防止域名被劫持?
1、 准备两个以上的域名,一旦黑客进行DNS攻击,用户还可以访问另一个域名。
2、 手动修改DNS:
在地址栏中输入:http://192.168.1.1 (如果页面不能显示,可尝试输入:http://192.168.0.1)。
填写你路由器的用户名和密码,路由器初始用户名为“admin”,密码也是“admin”,如果你进行修改过,则填写修改后的用户名和密码,然后点击“确定”。
在“DHCP服务器—DHCP”服务中,填写主DNS服务器为更可靠的“114.114.114.114”地址,备用DNS服务器为“8.8.8.8”,点击保存即可。
3、 修改路由器密码:
在地址栏中输入:http://192.168.1.1 (如果页面不能显示,可尝试输入:http://192.168.0.1)
填写你路由器的用户名和密码,路由器初始用户名为“admin”,密码也是“admin”,如果你进行修改过,则填写修改后的用户名和密码,然后点击“确定”。
填写正确后,会进入路由器密码修改页面,在“系统工具——修改登录口令”页面即可完成修改。
五、不管你使用哪种DNS(域名系统),请遵循以下最佳惯例:
1、 通过在不同的网络上运行分离的域名服务器,来取得冗余性。
2、 将外部和内部域名服务器分开,并使用转发器。外部域名服务器,应当接受来自几乎任何地址的查询,但是转发器则不接受。它们应当被配置为只接受来自内部地址的查询。关闭外部域名服务器上的递归功能(从根服务器开始向下定位DNS记录的过程)。这可以限制哪些DNS服务器与Internet(互联网)联系。
3、 可能时,限制动态DNS更新。
4、 将区域传送,仅限制在授权的设备上。
5、 利用事务签名,对区域传送和区域更新进行数字签名。
6、 隐藏运行在服务器上的BIND版本。
7、 删除运行在DNS服务器上的不必要服务,如:FTP(文件传输协议)、telnet(远程终端协议)和HTTP(超文本传输协议)。
8、 在网络外围和DNS服务器上,使用防火墙服务,将访问限制在那些DNS功能需要的端口/服务上。