开发者社区> 网络服务专家> 正文

DNS科普系列: DNS防火墙(DNS Firewall)

简介: DNS防火墙是一种网络安全解决方案,可以防止网络用户和系统链接到已知的恶意网络位置,可以有效的预防威胁发生, 阻止访问受感染的站点,进而防止进一步的威胁。能够主动检测到已被感染的系统,并通过安全报告的形式将此类威胁通知用户。还能够保护用户的网络环境,提高网络安全性。
+关注继续查看

工作中,我们经常会收到五花八门的邮件。

假设某个清晨,刚上班的你,打开邮箱,例行阅读邮件。这时,刚好看到一封未读邮件。这封邮件的正文,演示了一项新的产品功能,而这个功能刚好能解决你所在的部门一个很头疼的问题。迫切需要了解如何解决这个问题的你,点开了这个看似信誉良好的商业网站链接。

然而,这封邮件其实是经过设计的网络钓鱼邮件,邮件中隐藏着恶意软件或链接,当你点击后,可能会打开一个伪装得很深的Google登录表单,它可以记录和窃取你的信息……

1.png
图1. 恶意域名和站点的工作原理

面对威胁重重的网络环境,如何提高网络安全成为了亟待解决的问题。针对互联网上的威胁防护,可以利用DNS防火墙来解决。


什么是DNS防火墙和DNS RPZ?

DNS防火墙是一种网络安全解决方案,可以防止网络用户和系统链接到已知的恶意网络位置。DNS防火墙可以选择性地拦截恶意地址,并且可以有选择地控制哪些域名、IP地址和子网以及名称服务器可以在网络上运行。

DNS RPZ是DNS防火墙策略中的一种。

DNS RPZ拥有开放的、与供应商无关的格式,它允许DNS服务器操作员维护自己的防火墙策略,并与所有内部名称服务器共享它们,或者直接订阅外部防火墙策略,例如商业或合作式的“威胁源”。使用DNS RPZ的名称服务器可以预订一个或多个DNS策略规则集(称为“响应策略区域”)。RPZ规则集中的每个规则都存储在DNS资源记录集(RRset)中,并由“触发-trigger”和“操作-action”组成。

DNS防火墙是如何工作的?

DNS防火墙凭借其背后的大数据平台,实时获取全球情报,并及时向用户提供可靠信息,帮助用户判断当前点击的链接是否为可靠站点。

2.png

图2. DNS防火墙工作原理

现在,我们在回过头来看文章一开始的场景,如果你的电脑里有DNS防火墙的话,事情的发展就会简单很多:当你点击恶意电子邮件的链接时,防火墙可以阻止访问或者将你带入到安全的登录页面,并向你报告危险信息,这样就能避免你的私密信息被窃取,保障网络安全。

使用DNS防火墙,可以做什么?

  • 预防威胁发生

阻止访问受感染的站点,进而防止进一步的威胁。

  • 检测威胁并通知用户

主动检测到已被感染的系统,并通过安全报告的形式将此类威胁通知用户。

  • 保护用户的网络环境,提高网络安全性

当用户访问恶意域名时,防火墙可以将用户定向到安全的登录页面,从而提高网络安全性,并且使用户更多地了解潜伏在互联网中的危害。


参考ISC的相关资料,我们为您提供了几个DNS RPZ的配置示例:

(关于如何配置DNS RPZ的详细过程,请参考ISC网站:https://kb.isc.org/docs/aa-00525

  • 为恶意域名或其子域创建本地DNS “围墙花园(walled garden)”
malicious-domain.com CNAME mywalled-garden.example.com.

*. malicious-domain.com CNAME mywalled-garden.example.com.
  • 将RPZ配置为返回NXDOMAIN,请使用以下命令
malicious-domain.com CNAME .
*.malicious.domain.com CNAME .
  • 创建专门用于邮件的“围墙花园(walled garden)”
malicious-domain.com  MX 0 mywalledgarden-mail.example.com.  malicious-domain.com  A 10.1.1.123  
*.bad.domain.com  MX 0 mywalledgarden-mail.example.com.  *.bad.domain.com  A 10.1.1.123

除此之外,ISC还给出一个删除恶意域名的方法:

DNS防火墙最简单、最常见的删除恶意域名的方法是通过简单地使域名消失而使纯属恶意的域名中毒。所有DNS RPZ规则都表示为资源记录集(RRset),表示“强制域名不存在条件”的方式是添加指向根服务器的CNAME。例如:

$ORIGIN rpz.example.com.

malicious1.org     CNAME .

*.malicious1.org    CNAME .

malicious2.org     CNAME .

*.malicious2.org    CNAME .

需要注意的是:

首先,使恶意域名在响应策略区域内具有相对性。由于在上面的示例中,“.org”后面没有尾随点,因此在扩展后,将在此响应策略区域中创建的实际RRset将是:

malicious1.org.rpz.example.com.         CNAME .
*.malicious1.org.rpz.example.com.       CNAME .
malicious2.org.rpz.example.com.         CNAME .
*.malicious2.org.rpz.example.com.       CNAME .

其次,通常会列出被侵害的域名及其子域名。这是因为恶意域名可能具有或可能具有恶意子域。

在上面的示例中,相对域名malicious1.org和malicious2.org将分别仅匹配真实域名malicious1.org和malicious2.org。相对域名.malicious1.org和.malicious2.org将分别匹配任何一个subdomain.malicious1.org或subdomain.of.malicious2.org。


如需了解DNS防火墙更多的信息,请参考以下资料:

[1] https://kb.isc.org/docs/aa-00519#

[2] https://zvelo.com/using-dns-rpz-to-protect-against-malicious-threats/

[3] https://www.switch.ch/dns-firewall/#tab-b3b9f162-b5d1-11e8-b90c-5254009dc73c-2

[4] https://blogs.cisco.com/security/using-dns-rpz-to-block-malicious-dns-requests

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
10010 0
DNS科普系列: DNS防火墙(DNS Firewall)
DNS防火墙是一种网络安全解决方案,可以防止网络用户和系统链接到已知的恶意网络位置,可以有效的预防威胁发生, 阻止访问受感染的站点,进而防止进一步的威胁。能够主动检测到已被感染的系统,并通过安全报告的形式将此类威胁通知用户。还能够保护用户的网络环境,提高网络安全性。
1065 0
Linux(RHEL7及CentOS7)最简单的firewalld防火墙操作流程
经常看到网上的一些文章,遇到防火墙就关闭,禁用,好low!从Redhat7或者CentOS7开始,系统默认防火墙已经变更为firewalld,本着存在即合理的原则,经过几天的摸索,总结了一个简单的防火墙规则操作流程,跟大家分享一下。
936 0
centos7的防火墙(firewalld)
  Centos7中默认将原来的防火墙iptables升级为了firewalld,firewalld跟iptables比起来至少有两大好处:   1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;   2、firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。
3159 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
13864 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
20692 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18992 0
54
文章
4
问答
来源圈子
更多
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载