Linux 版 (精华区)
发信人: tcpip (俺的昵称改了), 信区: Linux
标 题: 包过滤基础知识(1)--2
发信站: 哈工大紫丁香 (Fri Sep 3 16:23:55 1999), 转信
2. 包过滤基础知识
2.1 什么是包过滤?
网络上的所有传送都是以包(packets)的形式进行的, 例如, 下载这个文档(50K字节大
小), 你需要接收1460字节大小的包36个,(随机采用的数字).
每个包的开始部分描述此包它到什么地方, 它从那里来, 包的类型, 和其他管理信息.
包的开始部分叫 包头(header). 包的其余的部分, 包含被传送的实际数据, 叫 包体
(boby).
一些协议, 如 TCP, 用于 web 传送, 邮件, 和远程登录, 使用"连接"的概念, 实际数
据传送以前, 需要相互传送一些有特殊包头的包, 用于表示"我想连接","可以"和"谢谢
"等信息, 然后才开始交换普通包.
包过滤器就是一段程序, 它检查通过的包的包头, 并决定包的命运. 它可以丢弃(deny
)这些包(丢弃这些包就象没有收到它们), 接收(accept)这些包(让这些包通过), 或拒
绝(reject)包,(象 deny ,但它告诉包的发送者已经接收).
在 Linux 中, 包过滤器内建于核心, 我们可以对包做一些微妙的处理, 大体的原理是
根据包头来决定包的命运.
2.2 为什么用?
控制. 安全. 监视
控制:
当你正用 Linux 机器把你的内部网连接到连接到其它网络时(就说因特网), 你
有机会决定让某些类型的包传输, 其余的禁止. 例如: 包头包含有包的目的地址
, 因此你可以阻止它传送到某些特定的外部网. 另一个例子, 我使用 Netscape 访问
Dilbert archives. 它上面有从 doubleclick.net 来的广告, 并且 Netscape
浪费我的时间来传送广告. 可以告诉过滤器禁止送往或接收属于 doubleclick.net 地
址的包,来解决问题. 安全:
在混乱的因特网和你的谨慎的、秩序井然的网络之间的唯一连接是你的 Linux
机器,能限制什么可以进入你的网络是再好不过 的事情了. 例如: 你可以允许
网络中的任何包发出, 但你可能担心外部网络来的怀有恶意的" Ping Death "(译者注
: 第五节有介绍). 另一 个例子: 你不允许从外部登录到你的 Linux 主机, 即
使有帐号和密码; 也许像许多人一样,你想成为因特网的监控者, 而不是服务者
或其它什么 -- 使用包过滤器拒绝任何想进入的包, 就可以不让任何人连入, 监视:
有时, 错误的配置局域网上机器会造成大量的包流向外部网络, 让包过滤器报
告任何不正常的事情是一件好事; 你也许可以做 点什么, 或判断它是正常的.
2.3 怎样用?
一个有包过滤器的内核.
你需要一个有新的 IP 防火墙(IP firewall chains)的内核. 你可以用查找"/proc/ne
t/ip_fwchains"文件的方法,来判断正在运行的内核是否安装了防火墙. 假如文件存在
, OK.
如果不是这样, 你需要生成一个有 IP 防火墙的内核. 首先, 下载一个你想要的内核.
假如你有 2.1.102 或更高版本的内核, 你不需要修补它(它是现在的主流内核). 否则
, 在 web 站点上面下载补丁, 按照下面的详细说明配置内核. 假如你不知道如何配置
内核, 不要惊慌 -- 看Kernel-HOWTO.
2.0系列核心需要设定的选项:
CONFIG_EXPERIMENTAL=y
CONFIG_FIREWALL=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_FIREWALL_CHAINS=y
2.1 或 2.2 系列核心需要设定的选项:
CONFIG_FIREWALL=y
CONFIG_IP_FIREWALL=y
用工具软件 ipchains 与核心交流,告诉它什么包需要过滤掉. 除非你是程序员, 或过
于好奇, 这就是你如何控制包过滤器的方法.
ipchains.
此工具代替了旧的防火墙工具 ipfwadm. 软件包中包含了一个叫 ipfwadm-wrapper 的
shell 脚本, 它能让你在 ipchains 工具可以工作之前(核心版本不适应 ipchains 工
作的情况)控制包过滤器. 除非你想对使用 ipfwadm 的系统快速升级, 否则你并不需要
此 shell 脚本.(它速度慢, 并且不检查参数,等等). 如果这样的话, 你不需要看更多
的 HOWTO 了. 看附录 ipchains 和 ipfwadm 的不同之处 和 附录 使用 `ipfwadm-wr
apper' script 以得到更多的关于 ipfwadm 的问题.
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.039毫秒