[开源项目之二]
开源的firewall(防火墙) SINUS
其实,对于防火墙,国内处冠以其名的确不少,再介绍似乎也意义不大,但是当我第一次看到Sinus时,我还是被它深深地吸引了。
首先,是它的源代码完全开发,并且更重要的是它的源代码注释地相当好。几乎每一个的C头文件的表达式都注释地相关清楚。sinus的防火墙核心部分及日志工具等是完全用C语言写的,用户界面方面等方面是用java写的,而无论程序是用C还是Java,它的注释都是堪称一流的,很清晰很明了。如果你想学习防火墙方面的设计,看它的源码效果一定很一错。
另一方面,sinus提供了很全面的帮助文档,这些都可以在它的源代码包里找到。在它的网站,也有很全面的文档。
从上面两方面讲,sinus是一个很好的学习和研究材料,它虽然还没有被正式植入其它操作操作系统,但是我想如果你是既懂C又懂java的软件工程师的话,可以从它的设计借鉴不少东西,并且移植到其它UNIX操作系统应该更方便。
Sinus防火墙主要包括以下的功能:
1. Filtering of all header fields in the IP, TCP, UDP, ICMP, IGMP packets.
2. Intelligent RIP and FTP support.
3. Easy to understand, text-based configuration.
4. Graphical management interface for configuration of several firewalls.
5. Dynamic rules, including counters and time-outs.
6. Extensive logging, alerting, and counter intelligence.
7. Prevention of packet and address spoofing - GNU GPL license.
从功能上讲,它的动态规则,智能计数器、警告、日志,以及简单易于理解,基于文本的配置和基于图形的管理是值得我们使用和学习的。
要安装sinus的话,你需要Linux 2.0以上内核支持。它被建议不安装X及漂亮的界面。你最好不要安装用户账户到防火墙系统,并且不要允许用户从控制台远程登陆(要使用的话,建议你安装SSH)。
关于Sinux Firewall更详细的资料请查看它的官方站:http://www.ifi.unizh.ch/ikm/SINUS/,我相信它提供的文档和资料一定会上你有相当大的收获的。
参考:
SINUS Firewall:http://www.ifi.unizh.ch/ikm/SINUS/