跳转(Jump)
我们需要了解的最后一个选项是-j命令。这个命令告诉防火墙,如果一项规则命令与正在输入的数据相匹配时,防火墙应该采取什么步骤。在大多数情况下,这种步骤就是接受或拒绝。举个例子吧,假如你想拒绝某组与命令相符的数据时,防火墙就跳转至拒绝。如果一组数据不符合某条命令规则,该数据就会往前进入下一个命令。如果没有任何规则符合这组数据的话,数据就会在缺省的状态下被拒绝。当然还有一些其它的选项和命令能够与IP链的命令一起使用。假如你想深入了解更多的信息,可以在命令行栏键入ipchains -h。
建立防火墙
建立Linux系统的防火墙的核心部分就是在你接近你想要访问的服务器的同时,又要阻止其它服务器接近你的系统。这里我们提出一些忠告。
首先,你在建立你的防火墙时尽量对所有的“拒绝”规则使用-I命令。当某条规则将一组数据挡在外面的时候,就会产生一行信息,加入到你的核心程序信息记录中(变量/记录/核心程序/信息)。你读一读这个文件就能明白为什么一组数据会被挡在外面。一条记录详细说明了被采取的步骤、能解释某条规则源目的链、源地址和端口以及目的地址和端口,因而你能运用这些信息来调整防火墙。可以按照你想得到的方式拥有任何东西,这时就不再需要-I命令了。
其次,建立防火墙可以挡住所有流入的Syn数据。Syn数据是用于启动链接的数据组,但它们不应该出现在大部分的桌面系统上。可以这样运用-y命令:
|
你还可用下面这条命令挡住ICMP数据:
|
把这两条规则放在最前面,就能保证系统不会随便接收这些数据。下一步,该挡住像ftp、telnet、smtp和pop3之类的一些常用的服务器端口:
|
如果在连接发送邮件的服务器时出现问题,可以在smtp 和pop3 DENY的规则前面插入一条规则,这样便能使所谓的DENY规则失去作用。不过要保证这条规则的明确性,因为这样才能使得DENY规则失效。通常来说,明确地指明一个IP地址是个不错的做法:
|
可以用你发送邮件的服务器的地址替代域名“mail.mailserver.com”,对于一个新的服务器或者任何一个链接有困难的FTP网址,都可以这样做。
虽然这些规则是一些基本性的,但有助于建立一个安全有效的防火墙。我们可以在像 Gibson Research Center (http://www.grc.com) 和DSL Reports (http://www.secure-me.net/) 之类的网站检测防火墙的安全和有效性。上面两个网站都可以免费提供关于因特网的端口查询。一旦找到了有用的规则,就用ipchain-save命令将这些规则保存到某个文件中。
当重新启动系统的时候就可以运用这个保存了规则的文件。键入ipchains- save/etc/ipchains.rules就能保存防火墙设置数据。在重新启动你的系统后保持有关防火墙的设置时,请键入ipchains- restore/etc/ipchains.rules 。当你的系统断电或者重新启动时,Linux系统不会自动保存这些设置数据。