WEB开发网
开发学院网络安全防火墙 动态iptables 防火墙 阅读

动态iptables 防火墙

 2007-03-04 12:42:32 来源:WEB开发网   
核心提示: host-tcplimithost-tcplimit 非常类似于 tcplimit,但它限制某些新的 TCP 连接,动态iptables 防火墙(6),这些连接来自某个特定 IP 地址并且指向您的服务器上某个特定 TCP 端口,host-tcplimit 特别适用于防止某个人滥用您的网络资

host-tcplimit

host-tcplimit 非常类似于 tcplimit,但它限制某些新的 TCP 连接,这些连接来自某个特定 IP 地址并且指向您的服务器上某个特定 TCP 端口。host-tcplimit 特别适用于防止某个人滥用您的网络资源。例如,假设您在运行 CVS 服务器,而您发现某个新的开发人员似乎建立了一个脚本来每隔 10 分钟就用资源库更新它的源码,这样每天就消耗了大量的多余网络资源。然而,当您给他发送电子邮件以指出他的错误行为时,却会收到一条进入消息,全文如下:

嗨,伙计!
我很荣幸能参与您的开发项目。我刚创建了一个脚本,
用来每隔 10 分钟更新一次代码的本地副本。我将出去
旅游两个星期,但等到回来之后,我将会得到最新的源
代码,那时我就可以交差了!现在我要出门了……两周
后再见!
谨启,
Newbie(新手)

对于这种情况,一个简单的 host-tcplimit 命令就可以解决问题:

#
    
    host-tcplimit 1.1.1.1 2401 1 day on
      
   

现在,限定了 Newbie 先生(IP 地址 1.1.1.1)每天只能有一个 CVS 连接(端口 2401),这样就节省了许多网络带宽。

user-outblock

最后一个,也可能是所有动态防火墙脚本中最有趣的一个就是 user-outblock。这个脚本提供了一种理想的方式,它允许特定用户 telnet 或 ssh 到您的系统中,但不允许这个用户从命令行建立任何新的外出连接。以下的示例适合于使用 user-outblock。假设有一个特殊家庭在我的 ISP 拥有帐户。父母使用图形电子邮件客户机来阅读他们的邮件,偶尔也会在网上冲浪,但他们的儿子恰巧是位狂热的黑客,他经常使用 shell 访问来对他人的计算机搞一些恶作剧。

一天,您发现他与一些系统建立了 ssh 连接,而那些系统似乎属于巴基斯坦武装力量 -- 啊,天哪!您想要引导这个年轻人参加更有益的活动,所以应执行以下操作:

首先,应检查系统,确保已除去了所有网络二进制程序(如 ssh)中的 suid 位:

#
    
    chmod u-s /usr/bin/ssh
      
   

现在,他试图用来与网络交互的任何进程都属于他自己的用户标识。现在您可以使用 user-outblock 阻止这个用户标识(恰巧是 2049)启动的所有外出 TCP 连接:

#
    
    user-outblock 2049 on
UID 2049 block on.
   

现在,他可以登录和阅读邮件,但不能使用您的服务器来建立 ssh 连接以及类似连接。现在,他可以在自己家的个人计算机上安装 ssh 客户机。然而,如果要限制他家的个人电脑到 Web、邮件和外出 ssh 连接(仅限于到您的服务器),建立这样的动态防火墙脚本也不太难。

上一页  1 2 3 4 5 6 

Tags:动态 iptables 防火墙

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接