最佳安全方案...犬吠!

作者:Marcel Gagné

不,弗朗索瓦,我没有注意到我们的互联网连接有任何问题。啊,我明白了,你安装了一个新的防火墙,现在你无法连接到外部网络了。嗯...让我看看那个配置。我想我看到问题所在了,我的朋友。你的配置完全不留情面,但你的安全性非常出色。任何东西都进不来,但也任何东西都出不去。绝对安全。

是的,弗朗索瓦,我只是在开玩笑。当谈到安全时,极端的比较随处可见,我的朋友。我听说过最好的保护服务器的方法是拔掉电源插头,然后把它放在壁橱里。如果我们要在这方面犯傻,为什么就此止步呢,我说?用混凝土包裹服务器,然后把它埋在地下 50 英尺深的铅衬保险库中。抛开玩笑,我的朋友,在可接受的安全性和完全无法使用的系统之间必须取得平衡。这就是今晚菜单的重点,一旦我们的客人到了,我们将奉上一些非常不错的防火墙应用程序。

但是他们已经到了,弗朗索瓦。欢迎大家来到Chez Marcel,在这里,精致的 Linux 美食和精美的葡萄酒找到了完美的搭配。我忠实的侍者会引导您到您的餐桌,然后他会去取酒。2002 年来自索诺玛的 Belle Glos 黑皮诺听起来很完美——我想你会在北翼找到它,亨利目前正在那里补货,弗朗索瓦。

Linux 供应商通常会随其发行版提供某种防火墙,但并非所有供应商都这样做。通常,您可以通过供应商提供的任何系统管理工具来访问这些防火墙。有时防火墙工具本质上是命令行 iptables 软件。仅使用命令行构建防火墙并没有什么问题,但对于许多人来说,一点有针对性的、简化的图形帮助是非常受欢迎的。我今天介绍的防火墙生成器除了易于使用和配置之外,还有另一个优点。两者都允许您实时修改防火墙。每个都从非常严格的入站流量配置开始(除非明确允许,否则所有流量都被拒绝)。它们也是与发行版无关的。如果您决定从一个发行版迁移到另一个发行版,您可以使用相同的工具。

啊,弗朗索瓦,很高兴你回来了。请为我们的客人倒酒。

今晚菜单上的第一道菜,托马斯·俊农 (Tomas Junnon) 出色的 Firestarter,是一款易于使用的图形化防火墙应用程序,可为您提供安全规则的实时响应和配置。当您运行 Firestarter(命令名称,firestarter),系统会提示您输入 root 密码。首次运行时,程序会启动防火墙向导来帮助您入门。由于第一个屏幕基本上是欢迎屏幕,请阅读消息,然后单击“前进”。

接下来,您将进入互联网连接共享屏幕。单用户桌面无需担心这一点,只需前进到下一个屏幕即可。但是,如果您的 PC 将充当您家中或办公室中其他 PC 的 NAT 网关,请单击“启用互联网连接共享”复选框。同样,您可以选择指定将用作默认互联网路由的以太网卡(或拨号连接)。在其正下方,有一个通过 DHCP 服务器提供地址的选项。如果您的系统上没有安装 DHCP 服务器软件包,则此选项将灰显。

当您完成这些选择后,单击“前进”,您就几乎完成了向导。在单击“保存并退出”之前,请仔细查看屏幕。默认情况下,选中了一个名为“立即启动防火墙”的复选框。使用向导创建的默认设置,Firestarter 的规则对入站流量相当严格(正如您所期望的那样),这通常不是问题。但是,正如屏幕提示将告知您的那样,如果您是远程设置此防火墙,这可能会成为问题。除非您在有问题的工位上,否则请取消选中“立即启动”选项。我们都完成了。单击“保存”,Firestarter 将激活您的新防火墙并启动状态窗口(图 1)。

The Best Security...Barks!

图 1. Firestarter 的界面简洁易用。

该界面很简单,具有三个选项卡式视图。选项卡标记为“状态”、“事件”和“策略”。状态视图是您在日常使用中最可能感兴趣的视图。显示屏显示防火墙的运行状态(活动或禁用)、入站和出站连接,以及通过各种接口的流量。窗口底部是一个默认关闭的“活动连接”部分。单击标签旁边的箭头可查看这些连接。

我应该指出,Firestarter 从阻止所有可以想象到的入站服务开始。因此,如果您尝试在服务器而不是桌面上运行它,您会发现没有人能够访问任何内容,包括您可能认为是安全的服务,例如您的 Web 服务器。但是,所有出站流量都被允许,因此正常的桌面功能(例如阅读电子邮件、浏览 Web 或在 IM 客户端上聊天)不受影响。“活动连接”窗口(上面提到过)会显示所有这些连接尝试,但它们会在几秒钟后淡出并消失。要发现发生了哪些连接事件,以便您可以决定允许哪些连接进入,请单击“事件”选项卡。在那里,您将找到所有进出您机器的流量日志(图 2)。

The Best Security...Barks!

图 2. 可以在 Firestarter 的“事件”选项卡中动态创建允许流量的规则。

右键单击其中一个条目,弹出的菜单为您提供了处理这些连接的许多选项。例如,如果这是一个端口 80(HTTP 服务)事件,您可能需要选中“允许所有人的入站服务”。但是,您可能对端口 22 安全外壳连接有不同的看法,您只想选中“允许来自源的入站服务”。要允许特定的 IP 地址(例如,内部网络上的 PC),请选择“允许来自源的连接”。您也可以选择停止记录来自特定主机或特定端口号或服务的连接。

现在,我个人认为系统管理员不会等到看到是谁在敲门才允许某些服务进入他们的系统。如果您正在运行 Web 服务器,您可能希望启用端口 80。如果您有 Samba 服务器并且需要允许办公室人员访问该服务器上的共享,则相同的逻辑适用。为了避免处理事件的麻烦,请单击“策略”选项卡。此窗口分为两个水平部分或窗格。顶部窗格处理来自特定主机或主机组的批发连接,底部窗格处理各个服务以及这些服务运行的端口。如果您已使用“事件”选项卡添加了规则,您将在此处看到它们。要添加其他规则而无需通过“事件”对话框,请在顶部或底部窗格中右键单击,然后从弹出菜单中选择“添加规则”。将出现一个友好的小对话框,使该过程变得容易(图 3)。

The Best Security...Barks!

图 3. 使用 Firestarter 添加入站规则。

让我们添加一个规则,以允许本地网络上的 PC 访问 Samba 服务。在对话框的顶部,有一个可能的服务下拉列表(例如,DHCP、BitTorrent、IMAP 等)。我从列表中选择 Samba (SMB)。您会注意到,对于已知服务,端口(或端口)将自动填写。接下来,使用“当源是”标签下的单选按钮来允许所有人或特定主机或网络。在本例中,我正在添加我自己的 C 类网络。最后,我可以在底部的字段中选择添加某种注释。单击“添加”按钮,就这样完成了。新规则将出现在“策略”窗口中。单击 Firestarter 主窗口顶部的“应用策略”按钮以应用您的新策略。

顺便说一句,您在此处构建的策略不需要您运行 Firestarter。该程序将防火墙信息存储在 /etc/rc.firewall 文件中。由于这是一个启动级脚本,因此每当您重新启动系统时,防火墙都将已经在运行。

现在似乎是休息一下并放松身心的绝佳时机,弗朗索瓦会为大家续杯。在他这样做的时候,让我告诉你另一种关于安全的理念。多年前,我被告知,你可以为你的房子购买的最好的安全警报系统是一条狗。忘掉那些花哨的电子小玩意和远程监控,我被告知。给自己买一只大型德国牧羊犬。也许正是考虑到这一点,今晚菜单上的第二道菜才受到了启发。西蒙·爱德华兹 (Simon Edwards) 的 Guarddog 是一款图形化防火墙配置工具,旨在为您的 Linux 系统带来犬类安全。虽然 Guarddog 非常适合桌面,但它也是甚至复杂服务器配置的理想工具。

在我带您简要浏览 Guarddog 之前,我应该指出,可以以非 root 用户身份运行它,但您所做的任何更改都不会被保存。这是因为修改防火墙规则需要 root 权限。显然,最好以 root 身份运行此应用程序,除非,当然,您只是想先了解它的工作原理。对于我稍后将提到的原因,这并不是一个坏主意。我还要向您传递另一个警告。Guarddog 将其防火墙规则存储在 /etc/rc.firewall 中,因此,您可能(尽管不太可能)已经有一个文件在那里。这里奇怪的是(可能有点有趣)Guarddog 安装了一个以此名称命名的文件,并且可能会在启动时绊倒它。这不是一个大问题,但如果您看到一条关于此效果的消息,只需理解这可能是正常的。让我们输入 root 密码并启动程序,以完全访问防火墙。

Guarddog 的主界面由四个选项卡式窗口组成,分别标记为“区域”、“协议”、“日志记录”和“高级”(图 4)。“区域”选项卡带有两个预定义的区域。“本地”是指发往本地地址的流量。“互联网”是指离开您的系统并发送到互联网的流量。这非常重要。Guarddog 使使用非军事区 (DMZ) 配置、多张网卡等创建复杂的防火墙相对容易。现在,让我们专注于基本的桌面防火墙配置。这是一台连接到互联网的机器。

The Best Security...Barks!

图 4. Guarddog 防火墙程序的主窗口。

一旦您启动 Guarddog(命令名称guarddog)并单击“应用”,您的防火墙将被激活,所有入站和出站流量都被阻止。由于这是一个高度限制性的配置,您非常安全。也许有点太安全了——任何东西都进不去也出不来;这就是您可能希望在开始时以非 root 身份运行它进行实验的一个很好的理由。这并不像乍一看那么奇怪。DMZ 中具有系统的更复杂的防火墙通常会被内部网络阻止,仅打开少数外部服务。如果您发现自己陷入过于安全的境地,请单击“高级”选项卡,选中左上角的“禁用防火墙”框,然后单击右下角的“应用”按钮。“高级”选项卡还有一个按钮,可将您的 Guarddog 配置返回到其所有限制性出厂默认设置。

无论如何,我们需要允许一些流量。单击“协议”选项卡,您将看到一个类别列表,代表不同类型的流量。它们是“聊天”、“数据服务”、“文件传输”、“游戏”、“交互会话”、“邮件”、“媒体”、“杂项”、“网络”和“用户定义”。

每个类别旁边都有一个加号,子菜单中列出了各个协议。单击每个协议,您将在左下方窗格中看到简短描述以及对协议代表的安全风险的评估。每个协议名称的右侧是一个复选框。通过单击该框,可以阻止、允许或拒绝每个协议(图 5)。正如我所提到的,默认情况下端口被阻止。单击一次,协议被允许。再次单击,数据包被拒绝。

The Best Security...Barks!

图 5. 只需单击鼠标即可允许、阻止或拒绝 Guarddog 协议。

鉴于此防火墙的限制性,我首先遍历“互联网”区域中的协议列表,并允许我需要的所有内容(例如,即时消息、电子邮件、Web 浏览等)。这就是您为桌面工作站所希望的,在桌面工作站中,几乎所有出站流量都被允许。完成更改后,单击主窗口底部的“应用”按钮以激活您的新防火墙配置。一个小弹出窗口会警告您,对活动防火墙的任何更改都可能对现有连接产生影响。单击“继续”以重新激活防火墙。

如果您正在运行某种服务器(例如 Samba 文件共享),您几乎可以听到可爱的小狗在咆哮,不是吗?也许您还运行安全外壳 (SSH),以便您可以从您家或办公室的另一台计算机访问此计算机。单击“本地”区域并选择您提供的那些协议。请记住,这现在是入站流量,因此您可能不想那么慷慨。

关于这一点,我担心结束时间快到了。不过,无需匆忙离开。我忠实的侍者弗朗索瓦会很乐意在我们说“再见”之前最后一次为您续杯。请举起酒杯,我的朋友们,让我们大家为彼此的健康干杯。祝您健康,祝您用餐愉快!

本文资源: /article/8745

Marcel Gagné 是一位屡获殊荣的作家,居住在安大略省密西沙加市。他是全新迁移到 Linux:告别蓝屏死机!第二版(ISBN 0-321-35640-3)的作者,这是他在 Addison-Wesley 出版的第四本书。他还定期在电视节目中露面,担任 Call for Help 的 Linux 专家。Marcel 还是一名飞行员,一位前 40 强唱片骑师,创作科幻小说和幻想小说,并且擅长折叠霸王龙。您可以通过电子邮件 mggagne@salmar.com 与他联系。您可以从他的网站 www.marcelgagne.com 发现许多其他内容(包括很棒的葡萄酒链接)。

加载 Disqus 评论