Linux防火墙入门:基本观念(转)

Linux防火墙入门:基本观念(转)

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

  TCP/IP

  Figure 2. TCP/IP 四层架构

   2003.3.28.14.21.48.1.png

  封包过滤

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

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

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

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

  IP 封包,如下图所示:

  Figure 3. IP 封包

   2003.3.28.14.21.56.2.png

  Figure 4. TCP 封包

   2003.3.28.14.22.4.3.png

  封包过滤程序,即根据 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)

   2003.3.28.14.22.11.4.png

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

   2003.3.28.14.22.20.5.png

  常见的服务信道

  Table 1. port list

   2003.3.28.14.22.28.6.jpg

  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

   2003.3.28.14.22.36.7.png

  Figure 8. UDP request/response

   2003.3.28.14.22.46.8.png

  Figure 9. TCP 三向交握

   2003.3.28.14.22.54.9.png

  私有 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

   2003.3.28.14.23.2.10.jpg

  DMZ

  何谓 DMZ ?

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

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

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

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

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

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

  

本文来自:http://www.linuxpk.com/40135.html

--&gtlinux电子图书免费下载和技术讨论基地

·上一篇: Linux防火墙入门:架设步骤

·下一篇: Linux防火墙入门:所需配备
 
     最新更新
·安装配置技巧:如何实现自动Logoff

·MandrakeLinux安装(4)

·MandrakeLinux安装(2)

·Linux基本设置技巧:如何限制只有0组的用户可以su成root

·Linux基本设置技巧:如何在console顶部显示当前时间

·Linux基本设置技巧:如何限制用户的最小密码长度

·安装配置技巧:如何使特定用户具有smbmount上的目录的写权限

·安装配置技巧:tcsh如何用当前路径作提示符

·安装配置技巧:如何在consol下定义快捷

·如何修改grub的安装位置

·Linux基本设置技巧:如何使非root用户都不能远程登录

·Linux基本设置技巧:如何用lilo引导不同的运行级别

·Samba的安装

·新手入门之——Linux学习基础

·Linux下中文字体的安装

·Fedora软件包管理器system-config-packages

·Linux查看磁盘分区等命令和相关工具介绍

·Linux如何编译安装源码包软件

·华硕A2C笔记本安装SUSE9.3pro小结

·Linux发行版制作过程中的各个步骤

·FedoraCore5安装后的快速配置

·Fedora4.0中用VMware安装和使用Windows

·安装配置-安装SuseLinux10

·VMware虚拟安装FedoraCore4.0手册

·SlackwareLinux的安装之关於Linux的硬体drivers

·如何在硬碟建置Linux系统之指定安装目的分割区

·如何在硬碟建置Linux系统之指定安装来源(Source)

·RedHatLinux新手入门教程(5)

·RedHatLinux新手入门教程(4)

·RedHatLinux新手入门教程(1)


关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 网址大全 | 友情链接 | 免费注册

Copyright © 2004 - 2007 All Rights Reserved

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14102/viewspace-116881/,如需转载,请注明出处,否则将追究法律责任。

user_pic_default.png
请登录后发表评论 登录
全部评论
<%=items[i].createtime%>

<%=items[i].content%>

<%if(items[i].items.items.length) { %>
<%for(var j=0;j
<%=items[i].items.items[j].createtime%> 回复

<%=items[i].items.items[j].username%>   回复   <%=items[i].items.items[j].tousername%><%=items[i].items.items[j].content%>

<%}%> <%if(items[i].items.total > 5) { %>
还有<%=items[i].items.total-5%>条评论 ) data-count=1 data-flag=true>点击查看
<%}%>
<%}%> <%}%>

转载于:http://blog.itpub.net/14102/viewspace-116881/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和弹出(pop)操作进行数据的存储和取出。 4. 队列:一种先进先出(FIFO)的数据结构,可以通过入队(enqueue)和出队(dequeue)操作进行数据的存储和取出。 5. 树:一种存储具有父子关系的数据结构,可以通过中序遍历、前序遍历和后序遍历等方式进行数据的访问和修改。 6. 图:一种存储具有节点和边关系的数据结构,可以通过广度优先搜索、深度优先搜索等方式进行数据的访问和修改。 这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁读取和修改数据的场合。 缺点:数组的长度是固定的,不适合存储大小不固定的动态数据,另外数组在内存中是连续分配的,当数组较大时可能会导致内存碎片化。 链表: 优点:可以方便地插入和删除元素,适用于需要频繁插入和删除数据的场合。 缺点:访问和修改元素的速度相对较慢,因为需要遍历链表找到指定的节点。 栈: 优点:后进先出(LIFO)的特性使得栈在处理递归和括号匹配等问题时非常方便。 缺点:栈的空间有限,当数据量较大时可能会导致栈溢出。 队列: 优点:先进先出(FIFO)的特性使得

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值