S遭攻击致无法上网,网络通信受阻,需及时排查修复
DNS被攻击不能上网的详细分析与解决方案
DNS被攻击的常见形式
(一)DDoS攻击
- 原理:分布式拒绝服务(DDoS)攻击是通过控制大量的僵尸主机向目标DNS服务器发送海量的查询请求,使服务器资源耗尽,无法正常响应合法的查询请求,攻击者利用木马程序控制了数千台甚至数万台计算机,同时向DNS服务器发送大量域名解析请求,就像成千上万的人同时涌向一个狭窄的通道,导致通道堵塞,正常的用户无法通过。
- 影响:这种攻击会导致DNS服务器瘫痪,网络中的设备无法获取域名对应的IP地址,从而不能访问互联网,整个网络可能会变得极其缓慢,甚至出现大面积的无法上网情况。
(二)DNS劫持
- 原理:攻击者通过非法手段篡改DNS服务器的记录或者用户的本地DNS设置,将用户原本要访问的正常网站域名解析到恶意的IP地址,用户本来想访问银行官网,但是被劫持后,域名被解析到一个伪造的银行网站,这个网站看起来和真实银行网站一模一样,但目的是窃取用户的账号和密码等敏感信息。
- 影响:用户会被引导到虚假的网站,不仅无法正常访问目标网站,还可能会遭受个人信息泄露、财产损失等风险,由于DNS解析被篡改,网络通信也会受到严重影响。
(三)缓存投毒
- 原理:攻击者在DNS服务器的缓存中植入虚假的解析记录,当用户查询某个域名时,DNS服务器会直接从缓存中返回已经被污染的记录,而不去向权威DNS服务器进行查询,这就好比在图书馆的索引系统中放入了错误的书籍位置信息,读者根据这个错误信息找不到正确的书籍。
- 影响:会导致用户访问到错误的网站,并且这种攻击比较隐蔽,因为缓存中的记录在一定时间内会被多次使用,很难被及时发现。
判断DNS是否被攻击的方法
(一)网站访问异常
异常情况 | 可能原因 |
---|---|
输入正确网址后,页面显示“无法访问此网站” | 可能是DNS服务器无法解析该域名,有可能是DNS被攻击导致服务器瘫痪或者域名被劫持后指向不存在的地址 |
跳转至与目标网站毫无关联的页面 | 很可能是DNS劫持,域名被解析到恶意网站的IP地址 |
部分网站无法访问,但其他网站正常 | 可能是针对性的DNS攻击,如缓存投毒只影响了特定域名的解析 |
(二)网络提示错误
错误提示 | 含义 |
---|---|
“DNS解析错误” | 表示设备在尝试将域名转换为IP地址时遇到问题,可能是DNS服务器无法正常工作或者返回了错误的解析结果,有可能是DNS被攻击 |
“服务器连接失败” | 虽然网络连接正常,但无法连接到目标服务器,可能是DNS解析出的IP地址错误或者服务器本身因为DNS攻击而无法响应 |
(三)网络速度下降
- 如果平时网络流畅,突然出现访问某些网站加载缓慢,甚至图片、视频无法加载的情况,有可能是DNS被污染,因为DNS解析延迟,设备需要花费更长时间来获取正确的服务器地址,从而导致数据传输受阻。
解决DNS被攻击不能上网的方法
(一)更换DNS服务器
- 操作步骤(以Windows系统为例):
- 打开“控制面板”,找到“网络和Internet选项”。
- 在“网络和共享中心”中,点击左侧的“更改适配器设置”。
- 右键单击正在使用的网络连接(如“本地连接”或“无线网络连接”),选择“属性”。
- 在网络连接属性窗口中,双击“Internet协议版本4(TCP/IPv4)”。
- 在“常规”选项卡下,选择“使用下面的DNS服务器地址”,然后输入可靠的公共DNS服务器地址,例如谷歌的DNS服务器地址(主DNS为8.8.8.8,副DNS为8.8.4.4),或者阿里云的DNS服务器地址(主DNS为223.5.5.5,副DNS为223.6.6.6),点击“确定”保存设置。
- 原理:公共DNS服务器通常具有更强的抗攻击能力和更稳定的性能,当原来的DNS服务器受到攻击时,更换为公共DNS服务器可以绕过被攻击的服务器,让设备能够正常进行域名解析。
(二)清除DNS缓存
- 操作步骤(不同系统):
- Windows系统:打开命令提示符(快捷键:Win + R,输入“cmd”并回车),在命令提示符中输入“ipconfig /flushdns”,然后按回车键,这个命令会清除本地计算机上存储的DNS缓存信息。
- Mac系统:打开“终端”(可以在“应用程序 实用工具”中找到),输入“sudo killall HUP mDNSResponder”命令,然后输入管理员密码并回车,这个命令会让Mac系统重新加载DNS缓存。
- Linux系统:对于使用systemd的Linux系统,打开终端,输入“sudo systemdresolve flushcaches”命令来清除DNS缓存。
- 原理:DNS缓存中可能存储了被攻击后的错误解析记录,清除缓存可以让设备在下次查询域名时重新向DNS服务器获取正确的解析结果。
(三)检查和修复HOSTS文件
- 操作步骤(以Windows系统为例):
- 打开记事本程序,以管理员身份运行(右键单击记事本图标,选择“以管理员身份运行”)。
- 在记事本中,点击“文件” “打开”,然后导航到“C:\Windows\System32\drivers\etc\”目录,找到“hosts”文件并打开。
- 检查文件中是否有异常的域名和IP地址映射条目,如果有被恶意添加的条目,将其删除,如果看到一行代码是“127.0.0.1 example.com”(假设example.com是被恶意劫持的域名),将其删除后保存文件。
- 原理:HOSTS文件可以手动指定域名和IP地址的映射关系,如果这个文件被恶意软件篡改,可能会导致域名解析错误,通过检查和修复这个文件,可以消除因本地文件被篡改而导致的DNS解析问题。
(四)使用加密的DNS协议
- 操作步骤(以浏览器为例):
一些现代浏览器支持DNS over HTTPS(DoH)或DNS over TLS(DoT)协议,用户可以在浏览器的设置中查找相关的DNS选项,并启用这些加密协议,在Chrome浏览器中,可以安装支持DoH或DoT的扩展程序,然后在扩展程序的设置中配置使用的加密DNS服务器。
- 原理:加密的DNS协议可以防止DNS查询信息在传输过程中被劫持或篡改,通过将DNS查询包裹在加密的HTTPS或TLS协议中,只有合法的接收方才能解密并处理查询请求,从而保证DNS解析的安全性。
相关问题与解答
(一)问题
如何预防DNS被攻击?
(二)解答
- 使用可靠的DNS服务器:优先选择知名的公共DNS服务器或者自己搭建安全的私有DNS服务器,公共DNS服务器通常有专业的安全团队进行维护,能够更好地抵御攻击。
- 定期更新设备和软件:包括操作系统、网络设备(如路由器)的固件以及安全软件,更新可以修复已知的安全漏洞,减少被攻击的风险,及时安装操作系统的安全补丁可以防止攻击者利用系统漏洞来篡改DNS设置。
- 加强网络安全意识:不要随意点击可疑的链接或下载不明来源的软件,这些可能会携带恶意软件,进而攻击DNS系统。