底层系统与性能
记得在安全巡展过程中,一位上海的用户曾问到,面对层出不穷的lj邮件,各种防御技术也应运而生。但用户关心的却是,反lj邮件设备的性能是否会因此而下降?
用户的疑问记者也很关心。经过多方查证,记者发现,性能问题在很大程度上与反lj邮件设备的操作系统与处理机制有关。
目前来看,反lj邮件设备的操作系统很多都是在Unix、Linux系统上进行裁减和增强的,当然也有一些厂商采用了专门定制操作系统的做法。据张勇介绍,反lj邮件设备操作系统中的邮件传输代理MTA模块对邮件的收发性能影响最大。原理很简单,因为邮件的收发不依赖于网络的带宽,不依赖是百兆还是千兆的网卡。而邮件对CPU的要求也不高,其主要依赖的还是磁盘的操作速度。磁盘是否够快,收发邮件的时候磁盘操作是否够少,都影响着系统的性能。
据介绍,目前所有的反lj邮件操作系统都有文件系统,一般的MTA都要依赖于文件系统。举例来看,设备收到一封邮件,会把这封邮件作为一个文件存储在操作系统上。但是邮件的特性是大小不一,从几千字节到几十兆都会有,写入硬盘容易造成很大的磁盘碎片,而且常会造成很深的磁盘目录。因此系统查询一封邮件要遍历很多的目录,如账户、日期、时间、类别等等。
对性能有利的做法是,设备在这块磁盘上独立划分出一块裸磁盘直接管理,绕过操作系统的文件系统。比如一些反lj邮件系统中带有数据库,利用数据库的指针操作来管理这块磁盘。假如邮件A需要1M空间,处在10条数据库队列中的某一条,指针指向从XXXX开始,到XXXX结束;邮件B则是另一条对列中,以此类推。那么在查询邮件的时候,数据库的操作会比磁盘目录遍历的操作快很多,而且可以绕过操作系统管理裸磁盘,避免了大量碎片的产生。
另外,邮件接收存储在磁盘以后,会牵扯到内容扫描等过程,这样又会产生一个读的操作。为此,一些专业的反lj邮件厂商开发了Read Once技术。所有邮件进来只写一次,写完之后其他的所有扫描,包括内容判断与隔离,都不会再牵扯到写的操作。
编看编想
UTM集成反lj邮件是否可行?
关于UTM与lj邮件的整合,一直以来都是一个争论颇多的话题。
张勇的观点是,这个整合要从两方面来看。第一是网络层。包括这些lj邮件是从哪里来的,IP地址在哪里,这些SMTP协议中有哪些不规范,从这方面看,UTM是可以进行一些控制的;第二是内容控制层面。利用人工智能算法去分析邮件中的内容,包括CPU、内存、硬盘都会有比较高的性能要求。UTM这时候会受到影响。
他认为,目前的反lj产品都会有隔离和归档的内容,对于拦截后的邮件需要一定的存储空间来保留,一般UTM很难提供类似的功能。
有意思的是,王景辉的看法不尽相同。他认为,在接收一封邮件的时候,一般厂商都会采用代理技术。但因为代理技术需要完全接管链接的整个过程,然后才能再抛给客户端,所以会使性能非常慢。而目前最新的技术不是采用代理,而是利用流检测技术。这种技术一开始就把数据包陆续转发到客户端上,但传到最后几个数据包则暂时不发给客户端,而是先利用拷贝技术将数据包拷贝过来,组合起来扫描。如果发现其含有bd或lj邮件则拒绝推给用户。利用这种技术,UTM对lj邮件的过滤可以提高一定的速度。
目前的看法是,很多中小企业可以利用UTM中整合的反lj功能,包括URL过滤机制,提高拦截lj邮件的性能。而大型企业往往还是需要专门的反lj邮件网关,以便获得最佳的效率。
|