老板:楼小楼,现在钓鱼网站太多了,稍不注意就有可能上当,有没有办法预防一下!

楼小楼:老板,这个可以有,咱们的PA防火墙有DNS安全功能,可以针对钓鱼网站进行拦截防护。

老板:搞它……


PA的DNS安全是一种持续化的威胁防护服务,通过利用高级机器学习和预测分析,PA的DNS安全服务可提供实时的DNS请求分析,并允许生成DNS签名,这些签名可用于防御使用C2的DNS和数据窃取的恶意软件。

另外如果要使用DNS安全服务,必须要有有效的威胁防护和DNS安全许可。

话不多说了,我们现在看看如何完成老板的要求

Palo Alto防火墙---DNS安全篇_DNS

依次点击OBJECTS->Security Profiles->Anti-Spyware,这时会看到右侧有两个默认的配置文件,一个是default,一个是strict。

这时,我们可以根据实际情况选择一个配置文件,然后clone一个出来,这里我选择strict,然后进行clone。

Palo Alto防火墙---DNS安全篇_钓鱼网站_02

完成之后如下图所示:

Palo Alto防火墙---DNS安全篇_Palo Alto防火墙_03

这就是我们clone之后的配置文件,点击strict-1进行编辑

Palo Alto防火墙---DNS安全篇_Palo Alto防火墙_04

为了管理和维护在这里建议为配置文件起一个名字,完成之后点击“DNS Policies"标签,下面框中是关于DNS安全服务可以支持检测的威胁类别,此次我们只是针对钓鱼网站,也就是箭头指的部分,在Policy Action那列的动作是default(block),其实在这里也有其它操作如下:

Palo Alto防火墙---DNS安全篇_安全_05

当然我们这里为了阻止,所以用block,完成之后点击OK

此时我们只是完成了这个配置文件的定义,我们需要在策略中调用它,如下:

Palo Alto防火墙---DNS安全篇_钓鱼网站_06

找到我们上网的那条策略,点击它进行编辑,在Action标签中进行如上所示的配置,完成之点击OK,最后commit一下配置。

我们用PA提供的钓鱼网站测试域名进行测试

Palo Alto防火墙---DNS安全篇_钓鱼网站_07

在电脑浏览器中输入测试域名,然后到PA防火墙中查看日志如下:

Palo Alto防火墙---DNS安全篇_安全_08

通过日志我们可以看到访问的具体时间、类型、访问的域名及执行的动作等等,在这里执行的动作是drop。

其实到这里老板交待的任务已经完成了,但是我们在前面提到过针对钓鱼网站可以执行的动作还有其它两种,allow咱们就不说了,就说一下这个sinkhole,这个sinkhole必须配合下面的sinkhole地址来使用,我们现在修改一下,如下图所示:

Palo Alto防火墙---DNS安全篇_安全_09

我们将sinkhole的地址改成了127.0.0.1,然后点击OK,commit一下配置文件。再进行一下测试,测试结果如下图:

Palo Alto防火墙---DNS安全篇_Palo Alto防火墙_10

在这里可以看到,当我们访问这个钓鱼网站的时候,结果直接解析成了sinkhole设置的地址,相当于重定向了。再次查看防火墙日志如下:

Palo Alto防火墙---DNS安全篇_安全_11

通过日志可以看到此时执行的就是sinkhole操作了。

好了关于DNS安全就说到这里,有兴趣的可以自己动手测试一下!