快捷搜索:

教教你用Linux 防火墙保护你的ADSL连接

在上一篇笔者先容了Linux 异构收集共享ADSL连接措施,对付连接互联网上的系统,不管是什么环境都要明确一点:收集是不安然的。是以,虽然创建一个防火墙并不能包管系统100%安然,但却是绝对需要的。Linux供给了一个异常优秀的防火墙对象—netfilter/iptables。它完全免费、功能强大年夜、应用机动、可以对流入和流出的信息进行细化节制,且可以在一台低设置设置设备摆设摆设机械上很好地运行。本文将简单先容应用netfilter/iptables实现防火墙架设和Internet连接共享等利用。

传统意义上的防火墙技巧分为三大年夜类,“包过滤”(Packet Filtering)、“利用代理”(Application Proxy)和“状态检测”(Stateful Inspection),无论一个防火墙的实现历程多么繁杂,归根结底都是在这三种技巧的根基长进行功能扩展的。

Linux内核从1.1版本开始,就已经具备包过滤功能。在2.0内核中,开始采纳Ipfwadm来操作内核的包过滤规则。到2.2版本时,Linux内核采纳了Ipchains来节制内核的包过滤规则。成长到2.4.x时,Ipchains被一个全新的包过滤治理对象Iptables所替代。新宣布的2.6版内核也在安然方面进行了改进。

是以,无论拥有哪个版本的Linux内核,无论选择哪个版本的Linux来构建自己的企业网,都可以使用现有的系统构建出一个抱负实用的防火墙。2001年Russell完成了其名为netfilter(http://www.netfilter.org)的内核框架。这些防火墙软件套件一样平常都比其前任有所改进,体现越来越出众。netfilter/iptables已经包孕在了2.4今后的内核傍边,它可以实现防火墙、NAT(收集地址翻译)和数据包的瓜分等功能。netfilter事情在内核内部,而iptables则是让用户定义规则集的表布局。netfilter/iptables是从ipchains和ipwadfm(IP防火墙治理)演化而来的。

范例的防火墙设置有两个网卡:一个流入,一个流出。iptables读取流入和流出数据包的报头,将它们与规则集(Ruleset)相对照,将可吸收的数据包从一个网卡转发至另一个网卡,对被回绝的数据包,可以丢弃或按照所定义的要领来处置惩罚。

经由过程向防火墙供给有关对来自某个源地址、到某个目的地或具有特定协议类型的信息包要做些什么的指令,规则节制信息包的过滤。经由过程应用iptables系统供给的特殊敕令iptables建立这些规则,并将其添加到内核空间特定信息包过滤表内的链中。关于添加、去除、编辑规则的敕令,一样平常语法如下:

iptables [-t table] command [match] [target]

现实中,为了易读,我们一样平常都用这种语法。大年夜部分规则都是按这种语法写的,是以,假如看到别人写的规则,你很可能会发明用的也是这种语法。Linux 2.4内核netfilter内建了三个表,此中默认表Filter中又包括3个规则链,分手是认真外界流入收集接口的数据过滤的INPUT链、认真对收集接口输出的数据进行过滤的OUTPUT链,以及认真在收集接口之间转发数据过滤的FORWARD链。下图是信息包在防火墙的Filter表中的穿越历程。

信息包在Filter表中的穿越历程

这里先容一个对象软件,可以赞助你在Linux的GUI图形用户界面下快速构架一个防火墙。Firestarter 是一个完全的免费软件,它可以在KDE和GNOME情况下,它供给图形界面免去了在生硬的文本情况下设置设置设备摆设摆设防火墙的麻烦。

最新版本Firestarter完全支持中文界面。Firestarter 的作者和开拓者是芬兰人:Tomas Jounonen 和Paul Drain在http://firestarter.sourceforge.net/ 可以自由下载它的源代码你还可以应用 majix@sci.f pd@cipherfunk.org 电子邮件和他们联系。最新版本是1.03。笔者下载的是它的RPM包,为了方便这里笔者供给它的下载链接:

http://jaist.dl.sourceforge.net/sourceforge/firestarter/firestarter-1.0.3-1.i386.rpm

1、系统检测

因为开拓者Tomas Jounonen和Paul Drain应用C说话和 GTK +(GIMP Tool Kit,GIMP对象包是一个用于创造图形用户接口的库)开拓的,以是安装前请反省系统gtk2+模块的gcc编译器版本。

# rpm –qa | grep gcc

# rpm –qa | grep gtk2+

硬件: 中央处置惩罚器:兼容 Intel X86处置惩罚器Pentium 200 以上 ,32 兆(保举64兆)内存,100兆硬盘空间 ,显示内存4兆。

软件: 内核版本 2.2以上 ,KDE 2.0以上或GNOME 1.2以上,X Window System XFree86 3.6.x 以上,桌面分辨率至少为640×480 ,桌面颜色至少6万5千色(16位元)。

2、安装软件

以根权限登岸Linux打开一个终端:

# rpm -ivh firestarter-1.0.3-3.i386.rpm

3、设置设置设备摆设摆设软件

系统会在/usr/bin/firestarter 建立主法度榜样,第一次运行firestarter 必要进行简单的设置设置设备摆设摆设:

1)软件运行的主界面

如下图。

软件设置设置设备摆设摆设领导

首先点击选项子菜单,进行一些简单设置设置设备摆设摆设,主要包括为软件建立日志文件目录、设置防火墙启动要领、设置策略。设置停止后用鼠标点击“Run firewall wizard”启动防火墙设置设置设备摆设摆设领导。

2)设置收集设备

如下图。

设置设置设备摆设摆设收集设备

假如应用XDSL等宽带接入的设备来说选择网卡的接口即可。假如你应用的是Cable Modem接入收集的话,那么在“IP 地址经由过程DHCP分配”前打钩。然后用鼠标按提高按钮。

3)设置收集连接共享

设置收集连接共享

选择可以共享互联网连接共享的设备,笔者应用的是eth0。阐明:Linux收集设备名称在设置设置设备摆设摆设时被付与又名,该又名由一个描述性的缩略词和一个编号组成。某种类型的第一个设备的编号为 0,其他设备依次被编号为 1、2、3,等。eth0, eth1 ... 这些因此太网卡接口。它们用于大年夜多半的以太网卡,包括许多并行端口以太网卡。选择完成后然后用鼠标按提高按钮。

4)启动防火墙

着末系统会提示你设置设置设备摆设摆设停止。按“保存”按钮退出领导后防火墙启动。如下图。

按“保存”按钮退出领导后防火墙启动

5)设置设置设备摆设摆设ICMP包过虑

如下图。

设置设置设备摆设摆设ICMP包过滤

ICMP全称Internet Control Message Protocol,中文名为因特网节制报文协议。它事情在OSI的收集层,向数据通讯中的源主机申报差错。ICMP可以实现故障隔离和故障规复。我们日常平凡最常用的ICMP利用便是平日被称为Ping的操作。假如你选择允许ICMP包过滤,这里简单先容一下各选项的感化,见下表。

ICMP协议内容简介

类型

名称

感化

0

回波应答(Echo Reply)

用于探测和DoS

3

不能到达目的地(Destination unreachable)

前进机能,用于探测

4

源停止(Source Quench)

前进机能

5

重定向(Redirect)

前进本地机能,本地DoS

8

回波(Echo)

用于探测和DoS

9

路由器看护布告(Router dvertisement)

仅用于本地

10

路由器选择(Router Selection)

仅用于本地

11

超时(Time Exceeded)

用于路由跟踪和探测

12

参数问题(Parameter Problem)

申报数据包包头差错,用于探测

13

光阴戳(Timestamp)

用于探测

14

光阴戳应答(Timestamp Reply)

可用于探测

15

信息哀求(Information Request)

废弃

16

信息应答(Information Reply)

废弃

17

地址掩码哀求(Address Mask Request)

用于本地探测

18

地址掩码应答(Address Mask Reply)

仅用于探测路由器的应答

30

路由跟踪(Traceroute)

可以替代路由跟踪敕令

有严重迫害的ICMP类型

除Ping以外,其他类型的ICMP也可以用于扫描收集。ICMP的光阴戳(Timestamp,类型13) 会孕育发生一个光阴戳应答(Timestamp Reply,类型14),然则只有在Unix系统中才呈现这种环境,微软的IP客栈中没有此项功能。是以,根据对光阴戳哀求的应答,不仅可以知道目的系统的主机是激活的,而且还能知道目的主机是否采纳了微软的操作系统。

一些安然意识强的组织每每会在防火墙设置设置设备摆设摆设中周全过滤入站的ICMP消息,这种环境下ICMP 探测就会掉效;然而,大年夜多半收集设置设置设备摆设摆设都不会对ICMP 消息进行周全过滤,这是由于收集治理员常常要应用ICMP 消息来办理收集的一些故障。ICMP着实很简单。其初衷是使IP收集平滑地事情。对付那些对安然性要求不高的收集,或者不必要防止端口扫描的收集,可以不斟酌有关ICMP的问题。然而,对付安然性至关紧张的收集,则只能让尽可能少的ICMP类型经由过程防火墙。在你觉得必要的ICMP协议的选项打钩后用鼠标选择“吸收”。下图是 Firestarter 防火墙事情界面。

Firestarter 防火墙事情界面

6)定制安然策略

您可以随时根据收集环境定制Firestarter的安然策略,如下图。

定制Firestarter的安然策略

经由过程定制安然策略可以抉择那些办事可以应用。哪些用户可以应用这些办事。一样平常来说我们不要启动Linux中所有办事,该当只启动你必须的办事,有些办事比如:Finger(查询帐号) 、Telnet、NFS都是相对不安然的,我们可以用一些安然的法度榜样代替它们,例如:可以应用SSH代替Telnet。对付一些你必须启动的办事应只管即便进级到最新版本。

7)利用技术让防火墙自动启动

假如盼望Firestarter办事器每次启动都能自动运行,可以用ntsysv设置。以root权限运行敕令:

# ntsysv

打开如下图所示的窗口,在Firestarter办事选项加上*(用空格键),然后从新启动系统,这样系统会启动Firestarter办事。

启动Firestarter办事器自动加载

总 结:

首先肯定的说Firestarter防火墙是一款异常优秀的基于GUI图形用户界面下的,完全免费的自由软件,它为小型Linux收集供给了优越的安然办事。它的应用简单但功能强大年夜:Firestarter运行时只占用很少的系统资本,它为Linux平台供给了快捷有效的安然防护功能。并且在系统呈现非常环境的时刻能及时的向治理员看护及相关信息、以赞助系统治理员及时的对系统作出响应的处置惩罚和反映。

Fire starter防火墙在法度榜样运行后在系统桌面的义务条菜单处,易于迅速的启动和关闭收集中指定的谋略机。Firestarter的安装十分轻易,有安装领导向导,纵然是Linux软件不认识的用户也能经由过程领导轻松完成防火墙的安装和设置。

别的,Firestarter的README文件里面的往释异常清楚,方便了用户的改动和从新定义某些参数。就像Firestarter的开拓者Tomas Jounonen所说的它是一个“All-in-one”的Linux防火墙。总的来说,Flrestarter防火墙适用于单机事情站、SOHO办事器的系统平台的安然防护,它能胜任在Linux下一样平常的系统安然义务。

您可能还会对下面的文章感兴趣: