当前位置:操作系统 > Unix/Linux >>

Linux防火墙入门:基本观念

以下介绍防火墙入门时,所需要的一些基本观念。

  TCP/IP

  Figure 2. TCP/IP 四层架构

  

  封包过滤

  所谓封包过滤,是一种小软件,它藉以检查 IP 封包的表头,来决定该封包的命运(接受/转向/丢弃/拒绝)。在 Linux 中,封包过滤的功能,已整合进入 Linux 核心(kernel)之中。

  如何得知核心目前是有支持封包过滤功能呢?

  查看此? /proc/net/ip_fwchains 是否存在便知(适用 Linux kernel 2.1.x~2.x)。

  若此?不存在,则核心必须重新制作,打开封包过滤选项,重新编译安装之。

  IP 封包,如下图所示:

  Figure 3. IP 封包

  

  Figure 4. TCP 封包

  

  封包过滤程序,即根据 IP 封包的表头中的来源IP、目的IP、封包型态、取自TCP/UPD表头的 port 及其它一些旗标信息,来决定此封包最后的命运。

  至目前为止,Linux 核心封包过滤已发展到了第四代:

  第 1 代 : Linux 1.x 移植自 BSD 的 ipfw第 2 代 : Linux 2.0 ipfwadm第 3 代 : Linux 2.1~2.x ipchains第 4 代 : Linux 2.4~ iptables

  服务信道 (Service Ports)

  所谓服务信道(port)是指:主机中应用程序对外服务的管道。

  port 的范围从 0 到 65535。1~1023 保留给系统专用,仅有 root 权限者才能使用,称之为:privileged ports (特权信道)。1024 ~ 65535 则称为 unprivileged ports (非特权信道)。

  非特权信道有二种用途:

  ?开放给系统中其它应用服务程序使用,如 mysql 用 3306, X11 用 6000。

  ?当使用 client 端程序(如 ssh),连接到其它 server 主机的服务时(如 ssh server),系统会在 1024 ~ 65535 中,随机抽出一个未被占用的 port,指定给 client 联机端,来当作 client 端这边的通讯 port,此时 client端的IP、port 以及 server端的IP、port,四者形成联机时唯一的连结识别,当双方完成联机所需的沟通时,我们说:client 端和 server 端的联机,已经建立(ESTABLISHED)。(我们称这四者形成一组 socket pair。)

  如下图所示:

  Figure 5. client 和 server 联机图 (1)

  

  Figure 6. client 和 server 联机图 (2)

  

  常见的服务信道

  Table 1. port list

  

  IANA : port 的完整定义

  IANA port numbers

  封包的种类

  有三种 IP 封包,我们称之为 IP 网络讯息。这三种封包,正是封包过滤型防火墙所要专注的对象。它们各有不同的特性,如下所示:

  ?ICMP (network layer / IP control / status messages)

  ?UDP (request / response)

  ?TCP (syn, syn/ack, ack 三向交握)

  其过程,如下图所示。

  Figure 7. ICMP ping and pong

  

  Figure 8. UDP request/response

  

  Figure 9. TCP 三向交握

  

  私有 IP 空间

  RFC 1918 里规定了三段范围的 IP,供私有网络(private network)实验用途使用,在公开的网络上它们不会被路由,正因为这种特性,因此极适合拿它们当作内部网络的 IP,从而达到保护内部网络的目的。列出如下:

  ?Class A : 10.0.0.0/8 (整个 10.0.0.0 的 A Class 的 IP,约 1 千 6 百多万个可用 IP

  ?Class B : 172.16.0.0/12 (共 16 个 B Class 的 IP,由 172.16.0.0 ~ 172.31.0.0,约一百万个可用 IP)

  ?Class C : 192.168.0.0/16 (共有 255 个 C Class 的 IP,即:192.168.1.0 ~ 192.168.255.0,约 65000 个可用 IP

  NAT

  何谓 NAT ?

  NAT 的 Network Address Translation 的简称,简单来说,它是一种转换地址的技术,经常运用在防火墙的建置上,使得内部的私有 IP,转换成公开的 IP,而能和外界沟通。

  IDS

  何谓 IDS ?

  IDS 是 Intrusion detection system 的简称(入侵侦测系统),它是一种监测封包进出、比对入侵型态、预防入侵攻击,并能适时提出警告的防御系统。

  OLS3 推荐的 IDS 是 Snort,不输商用专业级的入侵侦测系统。

  Figure 10. 可爱的 Snort

  

  DMZ

  何谓 DMZ ?

  DMZ 是 De-militarized zone 的简称(非军事区),它是内部网络(军事区)和外部网络之间的一小段网络,该区可受 IDS 的侦测保护,亦可受防火墙的监控,或受其它安全机制的检测,有一点接近公开的网段,但却可以受到整个防火墙系统的保护。

  封包过滤预设政策(Default Packet-Filtering Policy)

  有二种预设的政策,设定防火墙时,要选择使用那一种。

  1.丢弃所有,欲放行,需用设定将它打开。(deny-everything policy)

  2.接受所有,欲丢弃,需用设定将它关闭。(accept-everything policy)

  第一种比第二种安全,在设定上比较单纯。但第二种,比较容易使用,唯较容易忽略了某些考量。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,