linux初探

首页

应用服务器

Linux技巧

中文文档

Linux初级

服务器源代码

命令详解

Linux技术应用

Linux安全应用

Linux业界新闻

UniX技术文章

Linux编程与内核

Linux数据库

Linux服务器

Linux安装指导

Linux论坛


首页>>Linux安全应用>>

热门文章

·利用135端口漏洞入侵个人电脑
·网吧频繁掉线(ARP)与解决方
·新手学堂:防火墙在网络中的
·害怕受网络攻击 英国公民干脆
·知己知彼:IEXPLORE命令行参
·保护个人隐私 隐藏在图片背后
·顶尖网络高手写的alexa作弊完
·国庆期间有45万余台计算机感
·病毒门诊:清除猖狂的Sxs.ex
·电脑用户须知 忘记分级审查密

推荐文章

基于qmail的mail安全系统


Mail安全系统的部署

1:硬件
PC机一台
 
2:软件
----------------------------------
软件名            版本号
----------------------------------
Qmail             1.0.5
Daemontools        0.76
ucspi-tcp        0.88
Vpopmail        5.4.17
Maildrop        2.0.3
Qmailscanner       2.0.1
Ripmime            1.4.2
---------------------------------
3:在PC机上安装Qmail等软件,并进行合理的配置.
0)环境

系统要求

/var 最好是单独的分区、预留10GB的空间;
gcc、make和cc版本比较新;
mysql已经安装完毕;
系统可以是Centos 4.3或者FreeBSD 6.1
DNS解析域名没有问题
防火墙开放25和110端口

1)Qmail的安装:包括qmail、ucspi-tcp和daemontools
安装过程:

下载源代码
解包
建立目录
创建用户和组
编译
安装ucspi-tcp
安装daemontools
添加qmail运行脚本和日志脚本
SMTP 访问控制
停止并且禁用(其他)已经安装的MTA
建立系统别名
测试安装

mail系统安装完成并测试可以发邮件以后,进行下一步。

2)Vpopmail的安装:增加虚拟域、在虚拟域中添加用户以便于用户收发邮件
安装过程:

下载源代码
解包
建立目录
编译
添加虚拟域
添加用户
测试安装

vpopmail安装完成并成功添加虚拟域和用户,用户可以收邮件,进行下一步。

3)MailDrop的安装:qmailscanner的安装需要maildrop的支持,故而安装maildrop。

解包
编译安装

4)Qmail-scanner的安装:qmailscanner是qmail的一个插件,它可以生成一个perl脚本接收
qmail-smtp和qmail-inject的标准输入,调用其他程序对邮件进行处理,完成以后将处理好
的邮件插入队列进行发送。

SMTP from Network                   from local

remote mailserver     
      |
      |
tcpserver / inetd                      MUA
      |                                 |
      |                                 |
 qmail-smtpd                       qmail-inject
      |                                 |
      |                                 |
       --------------     --------------
                     |   |
                     |   |
                     |   |
                  qmail-queue
                       |
                       |
                   qmail-send

安装过程:
解包
编译
生产perl脚本:qmail-scanner-queue.pl
修改qmail-scanner-queue.pl

5)根据需求定义Shell脚本:
初始化变量
预处理
模块编码
根据调查和需求,需要开发的模块如下:
 
模块1:qmail-queue接口
主要功能:接收标准输入接收邮件,控制或修改收件人与发件人的地址;
开发语言:PERL/shell
模块名:邮件头信息
将本地和远程投递到QMAIL服务器队列之前,接收标准输入,准备对此邮件数据包进行处理;

-------------------------------------------------------------------------------------------------------------------------
模块2:qmail邮件封装和解码
主要功能:对接收到的邮件进行拆分,邮件头、邮件正文的解码和重新编码、邮件附件的解码和重新编码等;
开发语言:shell
模块名:邮件头分析
调用ripmime,分析邮件包的信息;

-------------------------------------------------------------------------------------------------------------------------
模块3:qmail邮件头分析(mailfrom,mailto,mailcc...etc.)
主要功能:过滤邮件的联络对象(from、to、cc等),采用黑白名单,如果to或者cc的对象不在白名单里,将邮件直接转发到管理员处;
开发语言:shell
模块名:联络对象过滤
将邮件信息(如:mailfrom,mailto,Cc,report-relay等)与白名单进行对比并返回比较结果并生产日志;

-------------------------------------------------------------------------------------------------------------------------
模块4:qmail邮件附件分析
主要功能:对邮件附件的文档属性进行检查,只允许许可文件(比如:PDF文件)。
开发语言:shell
模块名:附件过滤
将邮件信息(如:附件的文件属性)与白名单对照并返回比较结果.

-------------------------------------------------------------------------------------------------------------------------
模块5:qmail邮件关键字分析
主要功能:对邮件正文信息进行扫描,不允许的关键字放到黑名单里,如果发现有未被允许的字样,将邮件发到管理员处;
开发语言: shell
模块名:正文关键字过滤
将邮件正文信息与黑名单关键字进行比较并返回比较结果.

-------------------------------------------------------------------------------------------------------------------------

模块6:返回结果到Perl接口
主要功能:对模块3,模块4和模块5的返回结果进行或运算,返回结果到PERL中;
如果结果返回为0,则说明该邮件通过了过滤;如果返回1,表示该邮件维通过过滤规则;
未通过的邮件正文加上提示消息将发邮件返回给发件人,也会发邮件到管理员;
开发语言: PERL
模块名:过滤结果

--------------------------------------------------------------------------------------------------------------------------

模拟和测试:
对各个模块进行测试。客户端模拟发送各种形式的邮件,对邮件进行扫描测试。

文件:qmail-scanner-queue.zip
大小:31KB
下载:下载

Linux联盟收集整理

相关文章:

·RPM之使用
·Linux中常见的日志文件和命令
·bind配置过程
·建立qmail邮件系统防毒
·Qmail邮件服务器安装过程
·最简单的LINUX服务器配置步骤
·pam_access认证模块
·rpm命令手册
·Mandrake Linux7.2的中文化

Copyright@2005 www.linuxGoo.com All Right Reserved