我们拒绝SYN/ACK包以NEW状态进入的原因也是很简单的,深入的说明在附录常见问题和解答的NEW状态的SYN/ACK包 里。基本上,我们这样做是出于对其他主机的好意,因为我们为他们预防了序列号预测攻击(sequence number prediction)。
Iptables 指南 1.1.19(中文版)(四)
7.2.6.2. allowed链
假如包是从$INET_IFACE进入的,而且是TCP包,那他就要经过tcp_packets 链的检验。假如这个连接就是冲着被允许通过的端口来的,我们还要对他进行一些检查,以确定是否真的要接受他。这些“最后的审判”都是在allowed链里进行的。
首先,我们看看这个包是否是SYN包,假如是,他很可能是新连接的第一个包,我们当然接受了。假如不是,那就看看包是否来自某个ESTABLISHED或RELATED状态的连接,是的话,就接受。ESTABLISHED状态的连接是那种在两个方向上都有流量存在的连接。依据状态机制的观点,这个连接一定处于是ESTABLISHED状态的,因为我们现在能看到这个包,说明以前肯定收到了相应的SYN包。最后一条规则将DROP任何其他的包。当包到达最后这条规则,就几乎意味着任何连接都不会有双向的交流,也就是说,我们不会回应 SYN包。当试图用非SYN包开始新的连接时,包也会走到这条规则。不用SYN包建立新连接没有什么实际的用处,当然,端口扫描要排除在外。就我知道的而言,现在没有什么有用的TCP/ IP程式会使用SYN包以外的包来打开一个TCP连接。因此,我们要把这样的包DROP掉,我有99%的把握说他们是端口扫描用的。
7.2.6.3. 处理TCP的链
tcp_packets链指定了哪些端口可从Internet访问。但我们还要对进入的包做更多的检查,因此,每个包都会被发送到上面提到的allowed链。
-A tcp_packets告诉iptables要在哪条链里增加规则,规则被放在指定链的末尾。-p TCP指定要匹配的是TCP包,-s 0/0说明要匹配的源地址是从网络掩码为0.0.0.0的地址0.0.0.0开始的,换句话说,就是任何的地址。这实际上是默认值,我写出来只是尽可能使您更明白。--dport 21指定目的端口,也就是说假如包是发往端口21的,就会被匹配。假如任何的标准都匹配了,包就要被送往allowed链。
TCP的21号端口也是允许访问的,也就是FTP的控制端口,他能够控制FTP连接,前面提到过,我还允许任何RELATED状态的连接通过。这样,我们也就能够使用PASSIVE(主动)和ACTIVE(被动)的连接了,当然,要事先装载ip_conntrack_ftp模块。假如我们不想再提供 FTP服务,就卸载ip_conntrack_ftp模块,并把$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed 这一行从文档 rc.firewall.txt里删掉。
22号端口是SSH使用的。假如您允许外网的如何人都能通过telnet(使用23号端口)访问您的机子,那您还是使用SSH吧,他的安全性要好很多。注意,您操作的是防火墙,把任何访问权分配给除您自己之外的人都不是什么好主意。防火墙总是应该尽量少地暴露自己。
80是HTTP端口,也就是说您在防火墙上运行了网页服务。假如您不提供网页服务,就删掉这条规则吧。
最后我们还提供了IDENTD服务,端口是113。这个服务对某些协议是必须的,如IRC。注意,假如您NAT一些在内网里的主机的话,软件oidentd也值得一用,他会把 IDENTD请求中继给内网里正确的机子。
假如没有匹配上面任何一条规则,包就会被送回tcp_packets链的父链,也就是把他发到 tcp_packets链的那条规则所在的链。假如您想打开更多的端口,只要对tcp_packets链里的任何一行使用“复制、粘贴大法”,再修改一下端口号即可。
7.2.6.4. 处理UDP的链
假如我们在INPUT链中碰到了UDP包,就把他发送到udp_packets链。在那里,我们只处理UDP包,所以要用-p UDP来指定相应的协议。我们接受来自任何地址的包,故有-s 0/0,这其实就是源地址选项的默认值,但为了更明确,我们还是把他写出来了。此外,我们只接受发往特定端口的包,这些端口是我们想对Internet开放的。注意,我们无需依据发送端的源端口来决定是否打开某个端口,这个工作是由状态机制完成的。假如我们想运行某个使用 UDP端口的服务(如DNS),只要开放相应的端口,其他的端口无需打开。那些处于 ESTABLISHED状态、正在进入防火墙的包在到达包含--state ESTABLISHED,RELATED的规则(这是 INPUT链里那些“处理来自Internet的包的规则”中的第一条规则)之后就会被接受了。
我们不接受外来的以53号端口为目的的UDP包,也就是说,我们不想接受外来的DNS查询。其实,规则已写好了,我只是把他给注释掉了。假如您想把防火墙作为一台允许Internet访问的DNS 服务器,那就把注释符号去掉。
就我个人而言,我会打开123号端口,他对应的协议是network time protocol,简称NTP 。我们能够利用这个协议和某台具备精确时间的时间服务器联系,以配置本机的时间。您们中的大部分可能用不到此协议,所以我也把他注释掉了,虽然我已写出了规则。
我打开了2074号端口,他是某些实时的多媒体应用程式使用的。比如speak freely ,您能够用这个程式通过音箱、麦克风或耳麦和其他人进行实时交谈。假如您无需,就把这条规则注释掉吧。
端口4000相应的协议是ICQ协议,由ICQ使用,世界上使用最广泛的聊天程式之一,“地球人都知道”。Linux上至少有2-3种不同的ICQ克隆。我想不必解释为什么要开放这个端口了吧。(译者注:国产的聊天程式,常见的是QQ(端口8000),现在又有了UC(端口3001)等。)
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
- 快速学习如何搭建一个赚钱
- 什么是CPA、CPC、CPM、CPO
- 论文:Web安全对策研究
- 新手站长35天自学引路
- 站长资讯网第二版上线
- 网络营销网站功能设计的几
- 女站长的建站理财文章
- 也谈域名备案 -- 撤销已存
- 自己动手做网站 个人站长
- 对第一次做网站的朋友说些
- 传统网站逼得Web2.0没法活
- 被K过的域名如何被百度重
- 如何选择理想IDC服务商十
- 技巧:Vimdiff 使用
- 网络创业经历 靠卖域名来
- 如何提高网站流量之小节
- 王晨昀:个人网站为什么要
- 企业开展网络营销存在的误
- 一个失败者谈地方门户的运
- 域名注册与虚拟主机的选购
- SEO360的搜索引擎优化推广
- 网站运营与网络运营的一字
- 做网站要做出自己的个性—
- 中国网站内容不可逾越的三
- 如何将新网及商务中国的域
- 08年,个人站长赚钱将更加
- 保证能增加RSS订阅量的35
- 企业网站英文版制作几个关
- 龚文祥:互联网运营关键词
- 我的行业垃圾站
- 2008最新申请Google adsen
- 虚拟主机的陷阱
- 网站建设发展的几点中肯建
- 企业如何安全高效使用垃圾
- 计算机文件夹删除不掉怎么
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD



