分享
 
 
 

Linux 2.4有状态防火墙设计(一)

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

第一章 关于本教程

我应该学习这门教程吗?

本教程演示了如何使用 netfilter 来建立功能强大的 Linux 有状态防火墙。您需要的只是使用 Linux 2.4 内核的现有 Linux 系统。安装了 Linux 2.4 内核的膝上型计算机、工作站、路由器或服务器都符合要求。

您应该相当熟悉标准网络术语,如 IP 地址、源和目标端口号、TCP、UDP 和 ICMP 等。学完本教程后,您将会懂得如何创建 Linux 有状态防火墙,而且会有几个示例配置可供您在自己的项目中使用。

关于作者

如果有关于本教程内容的技术问题,请通过 drobbins@gentoo.org 联系作者 Daniel Robbins。

Daniel Robbins 居住在新墨西哥州的 Albuquerque。他是 Gentoo Technologies, Inc. 的总裁兼 CEO,Gentoo Linux(用于 PC 的高级 Linux)和 Portage 系统(Linux 的下一代移植系统)的创始人。他还是 Macmillan 书籍 Caldera OpenLinux Unleashed、SuSE Linux Unleashed 和 Samba Unleashed 的合作者。Daniel 自二年级起就与计算机某些领域结下不解之缘,那时他首先接触的是 Logo 程序语言,并沉溺于 Pac-Man 游戏中。这也许就是他至今仍担任 SONY Electronic Publishing/Psygnosis 的首席图形设计师的原因所在。Daniel 喜欢与妻子 Mary 和新出生的女儿 Hadassah 一起共度时光。

第二章 首要步骤

定义目标

在本教程中,我们将创建 Linux 有状态防火墙。此防火墙将会在 Linux 膝上型计算机、工作站、服务器或路由器上运行;其主要目的是只允许某些类型的网络通信流通过。为了增加安全性,我们将配置防火墙,使它删除或拒绝我们不感兴趣的通信流,以及可能会造成安全性威胁的通信流。

获取工具

开始设计防火墙之前,需要做两件事。首先,需要确保 "iptables" 命令可用。作为 root,输入 "iptables",查看它是否存在。如果不存在,那么需要先安装它。以下是安装方法:访问 http://netfilter.samba.org,下载可以找到的 iptables.tar.gz 的最新版本(目前是 iptables-1.1.2.tar.gz)。然后,输入以下命令来安装它(为简便起见,省略了输出):

# tar xzvf iptables-1.1.2.tar.gz

# cd iptables-1.1.2

# make

# make install

内核配置,第 1 部分

安装之后,应该有一个 "iptables" 命令可供使用,还有一个方便的 iptables 帮助页面("man iptables")。好;现在只需要确保已在内核中构建了必需的功能。本教程假设您编译自己的内核。进入 /usr/src/linux,输入 "make menuconfig" 或 "make xconfig";我们将启用一些内核网络功能。

内核配置,第 2 部分

"Networking options" 部分中,确保至少启用了以下选项:

<*> Packet socket

[*] Network packet filtering (replaces ipchains)

<*> Unix domain sockets

[*] TCP/IP networking

[*] IP: advanced router

[*] IP: policy routing

[*] IP: use netfilter MARK value as routing key

[*] IP: fast network address translation

[*] IP: use TOS value as routing key

然后,在 "IP: Netfilter Configuration --->" 菜单中,启用每个选项,这样我们就拥有了完整的 netfilter 功能。虽然我们不会使用所有 netfilter 功能,但最好启用它们,这样您可以在以后进行一些实验。

内核配置,第 3 部分

"Networking options" 类别下有一个网络选项不应该启用:明确拥塞通知。让这个选项保留禁用状态:

[ ] IP: TCP Explicit Congestion Notification support

如果启用了这个选项,那么 Linux 机器将不能继续与 8% 的因特网进行网络通信。启用 ECN 时,Linux 机器发送出的一些包将会设置 ECN 位;不过,这个位会使许多网际路由器感到困惑,因此一定要禁用 ECN。

好,现在已根据我们的需要正确配置了内核,编译一个新的内核,安装它,然后重新引导。现在开始使用 netfilter :)

防火墙设计基础

在创建防火墙时,"iptables" 命令是我们的朋友。我们使用它与内核中的网络包过滤规则进行交互。我们将使用 "iptables" 命令来新建规则、列出现有规则、刷新规则和设置缺省包处理策略。这就意味着要创建防火墙,需要输入一系列 iptables 命令,这就是我们首先要讨论的内容(此时请别输入此命令!)……

# iptables -P INPUT DROP

您现在看到的是一个几乎“完美”的防火墙。如果输入此命令,您将会得到难以置信的完美保护,它可以防止任何形式的进入恶意攻击。那是因为此命令告诉内核删除所有进入网络包。虽然这个防火墙非常安全,但它有点傻。但在继续讨论之前,让我们研究一下此命令是如何执行操作的。

设置链策略

"iptables -P" 命令用于为包过滤规则链设置缺省策略。在本示例中,iptables -P 用于为 INPUT 链设置缺省策略,INPUT 是一个内置链,包括了应用于每个进入包的规则。通过将缺省策略设置成 DROP,告诉内核应该删除(即,废弃)到达 INPUT 规则链末端的任意包。而且,由于我们还没有对 INPUT 链添加任何规则,因此所有包都会到达此链的末端,而且所有包都会被删除。

再次声明,这个命令本身根本没有用。但是,它演示了一个很好的防火墙设计策略。我们从缺省情况下删除所有包开始,然后逐步开放防火墙,这样它将会满足我们的需要。这种做法可以确保防火墙会尽可能安全。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有