【51CTO.com 独家特稿】去年的DNS漏洞造成的危害至今仍历历在目。其实不只是DNS,几乎对于所有与网络相关的软件,人们似乎总在发现漏洞、打补丁、更新的怪圈中循环,没完没了。今天和大家看一种被许多专业人士看好的安全的DNS服务-OpenDNS。
OpenDNS是一种免费的DNS服务,它准许在整个网络上进行内容过滤并提供更快的Web浏览。防护钓鱼攻击、活动日志等是这种服务所提供的一些特性。本文将探讨如何配置路由器和OpenDNS服务,目的是使用户在看了本文之后能够体验更安全、更快速、更可靠的互联网。
初识OpenDNS
由于DNS要把域名转换为IP地址,所以这种服务的速度和可靠性对快速而连续的Web冲浪极为关键。OpenDNS可提供极为迅速的DNS服务,同时又可以提供绝对的零宕机时间。强化的DNS服务器,如OpenDNS可以提供控制和管理互联网浏览的某些方面,或控制整个本地网络。
OpenDNS有一个内容过滤特性,在这里用户可以选择所禁止的站点类型(如成人站点、钓鱼网站、社交网站等)。此外,用户还可以阻止或放行特定的域。在DNS级别上过滤数据通信可使用户将其运用到本地网络的所有计算机上,这就不需要在每一台计算机上都安装和管理基于软件的过滤方案了。另外,别忘了,它是免费的!
OpenDNS服务可记录DNS的使用,使用户可以知道Web浏览的多少以及用户是否在设法访问被阻止的网站。这种服务还准许用户创建自己的“域名”,即被称之为用于快速访问站点的快捷方式。例如,用户可以增加一个词“mail”作为指向http://mail.yahoo.com的快捷方式。在本地网络上的任何用户都可以在其浏览器的地址栏内键入这个词来访问雅虎的邮件服务。
它提供的另外一种特性是对用户所键入信息的纠正。如果用户在浏览器内键入了sohu.cm,而不是sohu.com。这种服务将自动地添加字母“o”。在用户确实搞错了某个URL时,或者在一个网站关闭时,或者当用户在地址栏输入了一个搜索词时,将出现该服务的搜索引擎。这正是该网站赚钱的方式,即从用户在使用其搜索引擎时所看到的广告中来获取利润。
用户可一直使用该服务,即使没有申请账户,仍可以利用其快速而可靠的域名解析服务。不过,要设置网络使用内容过滤或快捷方式,用户必须创建一个账户并设置自己的网络,本文将讨论这些问题。
改变路由器使用OpenDNS服务
用户可以分别改变计算机的DNS服务器设置,也可以如我们所讨论的,即在路由器上改变设置,这样就可以使所有的计算机都使用OpenDNS服务。默认情况下,除非告诉它使用别的DNS服务器,否则路由器就使用ISP的DNS服务器。因此,配置网络使用该项服务需要在路由器基于Web的配置程序中输入两个服务器的IP地址,一是208.67.222.222, 二是 208.67.220.220。如下图1所示,这些设置一般出现在路由器的互联网连接或广域网设置中:
图1 |
小提示:
在将这些设置运用到路由器之后,在计算机转向OpenDNS服务之前可能需要花费几分钟时间。OpenDNS的网站上提供了针对各种路由器的按部就班的操作指南。如果用户需要帮助,可以在浏览器中键入http://www.opendns.com,单击“Start Using it Now”链接,单击路由器链接,然后按照屏幕提示操作即可。
#p#
创建一个OpenDNS账户
虽然我们已经转而使用OpenDNS服务器,但内容过滤和多数其它的功能在我们创建一个OpenDNS账户并配置其设置之前是无法工作的。为创建一个OpenDNS账户,用户可以在网页下部找到一个“Continue to Step 2”按钮。如下图2和3所示:
图2 |
图3 |
将自己的网络添加到OpenDNS
为了让自己的网络可以使用OpenDNS,我们需要将网络添加到OpenDNS的账户中。在面板上,单击“Networks”选项卡。这时互联网连接的IP地址就会自动地添加到IP地址的字段中,如图4所示:
图4 |
在单击了添加网络的这个按钮之后,用户会收到一个提示,提醒你输入网络名称。用户还需要指明是否正在使用动态IP地址的互联网连接。如果用户用的是动态的IP地址,就可以下载OpenDNS的更新程序来使网络的IP设置拥有最新的IP地址。
在下面的文章中,笔者将会为互联网连接设置多个方面的数据,如动态地址、配置内容过滤及其它设置,防止用户绕过OpenDNS服务器,并在多个网络中运行。
#p#
使用动态的IP地址
如前文所述,如果用户的互联网连接拥有一个动态的IP地址,而不是静态的地址,就必须使OpenDNS保持当前地址的最新。许多小型企业的互联网连接都拥有动态的地址。用户可以在某台计算机上安装OpenDNS Updater等软件客户端或使用内置的客户端来将IP地址的变化发送给OpenDNS。在用户的IP地址发生变化时,如果某个客户端并没有设置好,那么用户网络的多数功能将无法运行。
在多数情况下,下载并安装OpenDNS Updater是很简单的事情。不过,从长远来看,为此配置路由器是有好处的。用户不必担心某台PC关机及客户端软件无法发送更新。因为用户的路由器总能发送更新。此外,如果你重新格式化并重装了Windows系统,但你仍有可能忘记重装客户端的更新软件。如下图5所示:
图5 |
如果你的路由器并不支持SSL更新,就可以设置路由器将IP地址更新发送给DNS-O-Matic(http://www.dnsomatic.com/),这是OpenDNS所提供的一种免费的服务,它并不要求SSL更新。DNS-O-Matic可以使用SSL连接转发更新。
通过向服务发送更新,用户还可以用它将互联网连接的IP地址更新给多种服务。如果用户拥有自己的Web服务器或某种运行在网络(在这个网络上用户保持主机名随着IP地址的更新)上的服务。如果用户正管理着多个OpenDNS网络,还可以配置服务来处理多个IP地址。后文将有讨论。
配置OpenDNS并为动态连接配置更新客户端
在配置软件或路由器更新客户端时,要保证用户在OpenDNS面板上启用了网络的动态连接特性。如果在添加了网络后用户并没有这样做,可以单击“Setting”选项卡中左侧的“Advanced Settings”链接,选中“Enable Dynamic IP Update”复选框,单击“Apply”。
如果用户喜欢用软件客户端来更新,就可以下载OpenDNS Updater。在安装好后,打开程序,并输入OpenDNS用户名、口令和网络标签等内容。
为配置路由器实施更新,登录到其Web配置状态,找到动态DNS设置,如下图6所示:
图6 |
Server:一定要输入updates.opendns.com
Host Name:输入用户希望在OpenDNS中更新的网络名称或留空(或输入all.dnsomatic.com),更新添加到账户中的所有服务。
Username:输入用户的OpenDNS用户名
Password:输入用户的OpenDNS口令
#p#
配置内容过滤
要启用网络的内容过滤,打开OpenDNS账户的面板页,单击“Settings”链接,选择所期望的过滤水平。可以选择一种预先定义的水平或单击“Custom”,就可以添加/移除想要阻止的站点类型。如下图7所示:
图7 |
下面笔者将与读者讨论如何分配网站的缩略名(shortcut)及配置其它的高级特性,还要看一看为多个位置管理OpenDNS所涉及到的问题。我们还要讨论用户们如何会试图绕过OpenDNS的过滤并讨论对付这些漏洞的方法。
分配缩略名并配置其它的设置
要创建缩略名,可选择OpenDNS面板上的“Shortcut”选项卡。在“Shortcut”字段中,键入需要启用缩略名的一个单词。在“Website”字段中,输入希望缩略名打开的站点名称即可。
为便于日后更方便地访问缩略名,用户可以将这种链接添加到收藏夹中。在单击链接时,就会打开一个包含当前网站地址的窗口,等待用户给它起一个名字,并为所访问的网页创建一个缩略名。如下图8所示:
图8 |
用户还可以配置其它的杂项,从面板中选择“Settings”链接,并单击左侧的“Advanced Settings”,会看到:
“Dynamic IP Update”:它会打开OpenDNS账户的网络IP地址更新;
“Stats and Logs”:它会记录网络的互联网活动,包括被阻止的域名。
“Domain Typos”:它可帮助检测并纠正用户键入的任何错误的网址。
“Suspicious Responses”:它可以防止某种基于DNS的攻击方法,这种攻击可以将用户网络置于风险之中。
“Network Shortcuts”:此选项可启用我们前面所讨论的缩略名功能。
#p#
在多网络中运行
如果用户要在多个位置管理网络,那请记住这一点:你可以将多个网络添加到一个OpenDNS账户中。管理网络更为轻松,即使内容过滤和其它的设置在网络之间有什么不同也在话下。例如,用户可帮助自己的亲戚在互联网上更安全的使用,也可以管理企业世界中所有办公网络的内容过滤。
要将多个位置加入到OpenDNS的账户中,用户必须先添加一个网络(在面板中的“Networks”选项卡上),参考前图4。如果用户的网络使用动态的IP地址,就需要在连接到网络的一台计算机上安装更新客户端或使用路由器的内置客户端,如前文所述。用户还可以将DNS-O-Matic用于多个OpenDNS网络。正如直接将IP更新到OpenDNS一样,用户需要输入每一个网络的名称,作为每一个网络更新客户端的“Host Name”参数。
如果用户正使用加载有固件替换DD-WRT的路由器,用户会发现,即使在将网络名作为主机名传输时,仍能更新DNS-O-Matic中所有网络的IP。如果用户正试图管理多个网络,这就不太好。其实有一个解决方法:不要使用图形用户界面来配置动态的DNS设置(Dynamic DNS),用户可以将代码输入到启动命令中,这样就能正确地更新。在DD-WRT 的Web界面上,单击“Administration”/“Commands”,将下面的代码粘贴到命令框中,单击“Save Startup”按钮:
#!/bin/sh
mount ramfs /mmc -t ramfs
mkdir /mmc/etc
mkdir /mmc/etc/config
echo "#!/bin/sh
inadyn --background --username ??? --password ??? --alias ??? --dyndns_server_name updates.dnsomatic.com --dyndns_server_url /nic/update?
sleep 3
killall -9 -w inadyn
" > /mmc/etc/config/ppp0.wanup
chmod 700 /mmc/etc/config/ppp0.wanup
当然,用户需要将第六行的“?”用DNS-O-Matic用户名和口令替换之,这与OpenDNS中的配置应当是相同的。其后是别名,用需要更新的网络名称来替换问号即可。
用户如何绕过OpenDNS
作为管理员需要知道,就如同在其它的内容过滤方案中一样,有些用户总是要想方设法绕过OpenDNS的过滤,去访问那结被阻止的网站。这些用户会试着为其计算机设置其它的DNS服务器,这就会绕过任何内容过滤设置。如下图所示,这在Windows中是很容易配置的。如下图9所示:
图9 |
用户可能采用的另外一种方法是使用代理服务器等手段,这也会绕过网络的DNS服务器。这些类型的站点或程序并不总具有恶意目的。VPN连接提供了在本地网络上绕过DNS设置的功能。下面我们将讨论如何防止用户使用这些方法绕过OpenDNS。
强迫用户使用OpenDNS服务器
在解决如何锁定计算机的DNS设置之前,你应当保证用户仅拥有受控制计算机上的有限特权,这对于防止计算机上的其它问题也是有益的,如用户随意安装软件、更改设置及其它的可能影响系统安全的问题。如果用户无法编辑网络属性,特别是TCP/IP的设置,那么,也就不能使计算机使用不同的DNS服务器。你可以通过编辑每台计算机的本地安全策略来管理这些用户限制类型,在域环境中管理组安全策略,也可以简单地将用户指定为受限的账户类型。
如果某些或全部用户并不受控制,你可以设法配置路由器阻止转出的DNS通信,当然要排除OpenDNS服务器。用这种方法就可以阻止非法通信,即使用户设置其计算机使用另外的DNS服务器也无法得逞。它将仅准许使用OpenDNS服务的Web浏览。
为阻止非OpenDNS通信,你需要研究一下你的路由器用以控制用户服务的一些特性。现在有许多路由器都拥有阻止服务、访问控制、端口过滤等特性,这准许你阻止访问某些IP地址特定端口的发出通信。你的根本目标是阻止用户能够访问任何IP地址的53号端口,除了OpenDNS的IP地址,即208.67.222.222 和 208.67.220.220。具体的方法随路由器而有很大不同。如下图10:
图10 |
如果你正使用支持iptables的高级路由器,如加载DD-WRT固件的路由器,你需要做的就是插入两行代码.在DD-WRT的Web界面上,单击“Administration”/“Commands”,将下面的代码粘贴到“Commands”框中,并单击“Save Firewall”按钮:
iptables -t nat -A PREROUTING -p udp -i br0 --dport 53 -j DNAT --to $(nvram get lan_ipaddr)
iptables -t nat -A PREROUTING -p tcp -i br0 --dport 53 -j DNAT --to $(nvram get lan_ipaddr)
防止代理服务器/匿名工具(anonymizer)
现在你需要解决用户通过代理/匿名工具绕过OpenDNS的内容过滤的问题。在设置内容过滤时,一定要保证选择“Contend Filtering”类,而不管是选择了预定义的级别或定制路由。
记住,没有什么内容过滤方案是固若金汤的。因为每天都有许多站点联机,包括新的代理服务器/匿名工具站点,用户们仍有可能找到没有被阻止的站点来帮助其绕过OpenDNS。如果你看到用户们正试图访问这些类型的网站,你可以进一步调查对付这种问题的更多方法。
总结
好了,到此为止,可以说基本大功告成。OpenDNS是一种可帮助我们保障网络安全并免受不恰当内容危害的服务,而且其快捷的域名解析也使得它可靠使用。我们探讨了如何设置各个方面来与OpenDNS服务协同工作。我们还讨论了如何在多个网络中运行及如何添补一些漏洞。祝您用得顺心!【51CTO.COM 独家特稿,转载请注明出处及作者!】
【编辑推荐】