msn: [email protected]
来源:http://yfydz.cublog.cn
0. 声明
本文仅仅是从技术角度分析如何实现NetScreen防火墙,即如果要把本人的一台Linux机器变成NetScreen防火墙估计要作那些工作,所有观点均为个人观点,不代表任何组织或团体,只谈技术,不带任何吹捧、攻击或贬低,欢迎大家一起讨论,有错误请指正,但对文章中如有不明白的名词和概念请问google而不要问我。
1. 参考资料: http://www.juniper.net/techpubs/software/screenos/screenos5.1.0/translated/ CE_v3_SC.pdf 第3卷:管理 2. 管理界面 本卷主要是界面功夫,NS的界面都在设备里面了,不需要在外面管理机上加专门的管理程序。 NS设备管理可通过Web、命令行(串口、telnet、SSH)和NetScreen Security Manager来管理。管理是NS设备接口的属性,可控制是否可以通过此接口管理NS设备,Linux下要做到这个可以通过netfilter规则来实现。 2.1 WebUI 基本是使用的是HTTP,可以封装在IPSec或SSL中;NS的HHTP到HTTPS是通过重定向来实现的; 比较重要的是NS设备的每个HTTP会话有一个特别的ID,用来区分不同的管理连接,学虚拟系统管理中显的更有用,WebUI可能是用JSP来写的。Apache服务器可以支持JSP和SSL。 2.2 命令行CLI 使用telnet时可以可以将数据封装在VPN通道中; SSH支持SSHv1,v2,opensshd都支持; 命令行登录用户名口令和Web登录用的是相同的; 登录也可以直接登录进根系统也可以是各虚拟系统里; 支持SCP安全拷贝; 可关闭串口登录,Linux下就是不在inittab中起ttyS0/1的getty进程; 2.3 通过NetScreen Security Manager(NSM)管理 NSM是一个企业级的管理中心,需要安装的外部主机上,NS设备中有相关的代理支持和NSM通信,管理中心可象SNMP服务器那样定制和获取NS设备的相关信息,可以进行配置同步。 2.4 控制管理信息流 管理控制选项是接口的属性,这些在Linux中都可以使用规则或直接在net_device结构中增加参数,对从该网卡进入的数据检测数据类型进行控制。其他没什么。 2.5 管理级别 NS将管理员分为:根管理员;读写管理员;只读管理员;虚拟系统管理员;虚拟系统管理员等。这些实现起来没有本质的困难。 3. 系统监控 3.1 日志 NS日志可存在本地FLASH、SYSLOG、显示在控制台、E_mail、SNMP、Webtrends、PCMCIA,比较齐全,但这些都没有实质的实现难度。 NS的日志类型比较多,在Linux实现时可以用syslog将不同类型的日志记录到不同的文件中。 3.1.1 事件日志 就是标准的SYSLOG八级日志。 从命令行上就能进行日志的查询,可按地址、时间、ID等来查询日志。 日志下载可通过WebUI或在命令行通过tftp传。 3.1.2 流量日志 记录连接的开始日期时间、持续时间、源地址和端口、转换后的源地址和端口、目标地址和端口、转换后的目的地址和端口、会话中的服务、发送和接收的数据字节数等信息。在Linux中需要修改连接结构参数以支持时间、流量等参数。 3.1.3 self日志 就是拒绝的到本机的数据包信息,在Linux也就是INPUT链策略为DROP时最后加一条目的为LOG的iptables规则。 3.1.4 资源恢复日志 资源恢复时的信息 3.1.5 系统日志 达到一定级别的系统事件才生成系统日志,NS支持多个日志服务器,并可用TCP传输。 3.1.6 WebTrends WebTrends现在也算日志服务器的一种了,可以对日志进行分析,可以象SYSLOG一样发送。 3.1.7 VPN封装 NS可以将各种日志信息封装进VPN通道以保障信息安全性。Linux下实现得先建立VPN通道再传数据, 3.2 流量报警 NS策略流量超过阈值时可以进行报警,在Linux下可以设计一个netfilter报警目标,将超过流量限制的包发到这个目标进行报警处理。 3.3 SNMP NS支持SNMPv1, v2,可通过SNMP trap发送信息,这些可以通过net-snmpd来实现,需要自己根据需要改点东西。 3.4 计数器 NS提供了大量的计数器统计各种数据数量,Linux下也可以实现,不过的确是太多太杂了。 4. 小结 NS的管理确实比较完善,而且WebUI的实现难度属于比较大的,这卷文档描述的功能虽然不是防火墙的核心功能,单独处理的难度不算很大,但实在是非常杂,工作量比较大。