资源描述
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,1,无锡中科方德基础软件产业化部,邮件网关的底层实现,总体结构设计,1,、用户功能需求,从系统管理员对系统功能的需求看,该系统实现以下几个功能:,网关参数设置功能,1,)转发邮件服务器设置,2,)性能参数设置,2,总体结构设计,网关状态监控功能,1,)网关运行状态,2,)邮件投递状态,3,)垃圾邮件状态,4,)病毒邮件状态,5,)敏感邮件状态,3,总体结构设计,反垃圾,/,反病毒功能,反垃圾邮件功能,1,)黑名单功能,2),白名单功能,3),实时黑名单(,RBL,)功能,4),智能反垃圾邮件技术功能,5),邮件重复限制,6),虚假路由识别,反病毒扫描功能,4,总体结构设计,内容过滤功能,邮件隔离处理功能,审计及日志查看功能,系统资源监控功能,用户权限观礼功能,网关访问安全,5,总体结构设计,从邮件用户对系统功能的需求看,该系统实现以下功能:,1.,反垃圾,/,反病毒功能,1),黑名单功能,2),白名单功能,2.,邮件隔离,/,处理功能,6,总体结构设计,2,、,系统结构,反垃圾邮件网关系统,7,绿色,部分为依赖的外部程序,红色,部分为系统自身模块,椭圆,形表示文件目录,总体结构设计,2,、,系统结构,数据流向时序图,8,绿色,部分为依赖的外部程序,红色,部分为系统自身模块,椭圆,形表示文件目录,总体结构设计,2,、,系统结构,程序(模块)说明,9,模块名,类别,功能,设计语言,依赖项,黑白名单,模块,对被列入黑名单的邮件进行阻挡,对被列入白名单的邮件进行标记,C/C+,mysql,虚假路由检查,模块,对连接主机和发件人地址进行虚假路由检查,将检查结果记录到邮件头中,C/C+,无,邮件重复限制,模块,邮件重复限制,对邮件头中在发件人地址、邮件主题上重复的邮件进行限制,将那些发送大量重复邮件的主机或发件人进行阻断,C/C+,mysql,病毒扫描,模块,集成第三方杀毒软件,对邮件进行病毒检查,并将检查结果记录到邮件头中,C/C+,clamav,总体结构设计,2,、,系统结构,程序(模块)说明,10,AQFilter,模块,入队后的内容过滤器,负责调用,Content_Check,和,Mail_Quarantine,模块,Perl,Content_CheckMail_Quarantine,智能垃圾邮件判断,外部程序,使用智能贝叶斯判断对邮件进行过滤,实时黑名单技术,Perl,mysql,,,spamassassin,目录等,内容检查,模块,对邮件进行内容检查,根据自定义规则判断一封邮件是否为敏感邮件,C/C+,mysql,邮件隔离,模块,根据以上各模块的判断结果,决定对邮件进行隔离还是放行,同时做审计,如果是邮件被隔离,还要准备隔离报告,C/C+,myql,总体结构设计,2,、,系统结构,程序(模块)依赖关系说明,模块之间无依赖关系。,11,总体结构设计,3,、,功能模块设计,从系统设计角度看,本系统的功能模块分为如下几部分:,黑,/,白名单,虚假路由识别,邮件重复限制,病毒扫描,智能反垃圾邮件,邮件内容检查,邮件隔离处理,12,总体结构设计,黑,/,白名单,输入,:连接网关的主机,IP,,连接数据库的用户名、密码、以及使用的数据库名,邮件信封,信头,输出,:拒收或者是新的信封,信封上的收件人地址经过修改,或者是被修改后的信头,处理过程,:从数据库中读取全局白名单,然后用连接网关的主机,IP,或者信封上的发件人地址到该名单里查询,如果查到,则改写邮件头,黑,/,白名单检查过程结束;如果查不到,则再从数据库中读取读取个人白名单,然后根据收件人,用连接网关的主机,IP,或者信封上的发件人地址,到该名单里查询,如果查询到,则将该收件人状态置为强收件人,查不到,则收件人为弱收件人,最后,联合使用全局黑名单和个人黑名单,如果在该黑名单中查到这封信的发件人,则将相应的弱收件人删去,留下强收件人,若最后收件人数为,0,则将该信拒收。,13,总体结构设计,虚假路由识别,输入,:连接网关的主机,IP,,邮件信封,信头,输出,:修改后的信头,处理过程,:根据邮件信封和信头中的收件人地址,得到该地址所在域的域名,然后通过查询,DNS,服务器,得到该域名对应的,IP,,然后用该,IP,与连接网关的主机,IP,进行比较,根据相似度来判度该连接主机的可信度,从而得到该邮件的可信度。,14,总体结构设计,邮件重复限制,输入,:连接网关的主机,IP,,连接数据库的用户名、密码、以及使用的数据库名,邮件信封,信头,输出,:无,处理过程,:根据一封信的信封发件人地址,邮件头中的发件人地址,邮件主题来计算邮件的重复数,根据重复数来决定是否拒收该,IP,,信封发件人发来的邮件。,15,总体结构设计,病毒扫描,输入:,连接网关的主机,IP,,邮件信封,信体,输出:,修改后的邮件头,处理过程,:集成第三方杀毒软件对邮件进行扫描,将扫描结果返回,留给后面的处理程序参考。,16,总体结构设计,智能反垃圾邮件,输入:,邮件信封,信体,输出:,修改后的邮件头,处理过程:,使用贝叶斯过滤技术,对邮件进行内容扫描,得到该邮件为垃圾邮件的概率,同时使用实时黑名单技术检查发送该邮件的主机,IP,或发件人地址,以对该邮件的性质做出判断。,17,总体结构设计,邮件内容检查,输入:,邮件信封,信体,连接数据库的用户名、密码、以及使用的数据库名,输出:,修改后的邮件头,处理过程:,根据管理员设定的检查条件,对邮件进行检查,得到该邮件是否为敏感邮件的结论。,18,总体结构设计,邮件隔离处理,输入:,邮件信封,信体,连接数据库的用户名、密码、以及使用的数据库名,输出:,放行的邮件或者隔离报告,处理过程:,根据前面的各个模块(黑,/,白名单,虚假路由,病毒检查,智能反垃圾邮件、邮件内容检查等)的检查结果,本模块要对恶意邮件进行隔离处理,并在数据库中进行登记,以便在适当的时候,发送隔离报告,对正常邮件则进行放行处理。,19,总体结构设计,4,、,运行环境,硬件平台:,x86,系统。,操作系统:,Freebsd,操作系统。,20,总体结构设计,5,、处理流程,Before-queue,milter,applications,的处理流程,After-queue content filter applications,处理流程,AQFilter,处理流程,Content_Check,处理流程,Mail-Quarantine,处理流程,21,Before-queue,milter,applications,的处理流程,22,After-queue content filter applications,处理流程,23,AQFilter,处理流程,24,Content_Check,处理流程,25,Mail-Quarantine,处理流程,26,总体结构设计,6,、,功能需求与功能模块(程序)的关系,如下的矩阵图说明各项功能需求的实现同各模块的分配关系:,27,总体结构设计,28,7,、,人工处理过程,当邮件被隔离后,必须要邮件用户手动放行,否则就不可能得到被隔离的邮件,ons,处理流程,系统数据库设计,1,、外部设计,使用的程序,Black/White List,Mail,Repition,Limit,Content_Check,Mail_Qurantine,支持软件,Mysql-5,29,系统数据库设计,2,、结构设计,表设计,30,库名:,mailgateway,表,字段名,定义,属性,含义,content_check_rules,id,int,主键,规则号,自动增长,rule_enable,int,非空,是否起用该条规则,rule_name,varchar,非空,规则名,sender,varchar,非空,发件人关键字,recipient,varchar,非空,收件人关键字,cc,varchar,可空,抄送人关键字,bcc,varchar,可空,密送人关键字,subject,varchar,可空,邮件主题,body,varchar,可空,邮件正文,attach_name,varchar,可空,附件名,attach_ext_name,varchar,可空,附件扩展名,attach_size,varchar,可空,附件大小,recip_num,varchar,可空,收件人数,包括抄送人和密送人,relay_gate,varchar,可空,转发次数,subject_size,varchar,可空,邮件主题大小,header_size,varchar,可空,邮件头大小,attach_content,varchar,可空,文本附件内容,系统数据库设计,2,、结构设计,表设计,31,black_white_list,id,int,主键,名单记录,自动增长,global,int,非空,定义该记录是全局性的,还是用户级的,attribut,int,非空,定义该记录是属于白名单还是黑名单,以及记录形式是域名还是,IP,地址,sender,varchar,非空,发件人,recipient,varchar,可空,收件人,系统数据库设计,2,、结构设计,表设计,32,mail_refrain,id,int,主键,自动增长,sender_ip,varchar,非空,连接网关的主机,IP,sender,varchar,可空,发件人,subject,varchar,可空,邮件主题,send_time,time,可空,发送时间,系统数据库设计,2,、结构设计,表设计,33,mail_info,mail_id,int,主键,记录,id,,自动增长,mail_content_id,int,外键,表,mail_content,的主键,id,的引用,邮件内容,id,mail_from,varchar,非空,信封发件人,rcpt_to,varchar,非空,信封收件人,mail_date,datetime,非空,发件时间,mail_report,integer,非空,隔离报告状态,mail_spaminfo_tag,integer,非空,邮件性质,mail_spaminfo_content,varchar,可空,邮件性质的具体说明,header_from,text,可空,邮件头中的,from,字段内容,header_to,text,可空,邮件头中的,to,字段内容,mail_subject,text,可空,邮件主题,系统数据库设计,2,、结构设计,表设计,34,mail_content,mail_content_id,int,主键,记录,id,,自动增长,mail_content,longtext,可空,邮件内容,表,content_check_rules,存放内容检查模块使用到的规则,表,black_white_list,存放系统全局以及用户个人的黑白名单,表,mail_refrain,用于存放邮件重复限制模块的重复邮件信息,系统数据库设计,2,、结构设计,表关系设计,表,content_check_rules,、,black_white_list,、,mail_refrain,之间彼此互相独立,表,mail_ifno,的外键,mail_content_id,是表,mail_content,的主键,id,的引用。,35,36,谢谢!,
展开阅读全文