使用iptable实现动态防火墙

时间:2007-05-29 05:44:51  来源:站长资讯收集整理  作者:佚名


Hi guys!

I'm really excited to be part of your development project. I just set up a
script to update my local copy of the code every ten minutes. I'm about to
leave on a two-week cruise, but when I get back, my sources will be totally
up-to-date and I'll be ready to help out! I'm heading out the door now...see
you in two weeks!

Sincerely,

Mr. Newbie


对于这种情况,使用host-tcplimit可以非常容易的解决问题: 

# host-tcplimit 1.1.1.1 2401 1 day on

现在Newbie先生(IP地址为1.1.1.1)被限制为每天只能进行一次CVS连接从而节省了网络带宽。 

user-outblock 

最后一个,也是这几个防火墙脚本中最有趣的是user-outblock。这个脚本提供了一种实现允许某个用户通过SSH或telnet登录到系统上但是不允许它通过命令行命令建立向外连接去的一个很理想的方法。下面是一个应用user-outblock的一个示例场合。假设一个特殊的家庭在我们的ISP拥有一个账号。妈妈和爸爸使用图形化的email客户端程序阅读自己的信件,偶尔会冲浪Internet,但是他们的儿子却是一个热衷的hacker分子,他常常使用它的shell访问权限来对其他的机器做一些淘气的事情。 

有一天你发现他和若干系统建立ssh连接,发现目标地址是属于巴基斯坦军事网站。你希望帮助这个小孩子走向正道,因此你采取了以下的行动

: 

首先,你检查自己的系统并确保去掉了所有和网络相关的程序的suid位,例如ssh: 


# chmod u-s /usr/bin/ssh



现在他企图使用的任何和网络相关的进程都会拥有自己的UID。你现在可以使用user-outblock来阻塞所有该UID发出的的向外TCP连接(假设其UI

D为2049): 


# user-outblock 2049 on
UID 2049 block on.



现在他只能登录到系统中阅读自己的信件,但是他不能使用你的服务器建立SSH连接。 

资源

* 由于发现动态这些防火墙脚本非常有用,因此将它们打包(dynfw-1.0.tar.gz)以供下载安装。要进行安装只需要解压缩包,运行其中的install.sh文件。该脚本将安装一个共享bash脚本为/usr/local/share/dynfw.sh,并且安装动态防火

墙脚本到/usr/local/sbin目录下。若希望安装在其他脚本中,则只需要在执行install.sh以前执行: 

# export PREFIX=/usr

文章评论

共有 位CH网友发表了评论 查看完整内容