邮件系统 设为首页
加入收藏
总编信箱
| 第一邮局 | 免费邮箱 | 邮箱评测 | 企业邮局 | 移动邮件 | 邮件系统 | 邮件营销 | 反垃圾邮件 | 邮件客户端 | 邮件安全 |
当前位置:第一邮局>邮件系统>SendMail>文章内容

在Sendmail中实现用户认证

来源:Mail1.com.cn 编辑:Mail 发布时间:2007-05-21 [收藏] [推荐] [评论(0条)]
Sendmail本身提供了很强大的邮件服务功能,但是美中不足,它在为用户发送邮件时,并不进行用户身份认证。所以,如果参数设置不当,它很容易为无关的邮件用户无偿转发大量的垃圾邮件,这样既浪费了系统的资源,增加了安全隐患,还会给人留下散发垃圾邮件的不良印象,损坏邮件服务器的形象。

  Sendmail本身提供了一定的限制邮件转发的功能,但它只能根据静态的IP地址或域名来进行限制,使得合法用户只能在固定的IP地址使用发送邮件,否则将被拒绝。这样做虽然能解决邮件无偿转发的问题,但却给用户带来了使用上的不便。为了解决这一矛盾,本文提供了一个折衷的办法,称为“POP-BEFORE-SMTP”方法,基本思路如下:

  ·利用POP3的服务进程在日志里记录下邮件用户取信时的IP地址;

  ·在邮件服务器上启动一个侦听(daemon)进程,它实时地读取POP3的日志文件,获取该用户的IP地址,同时再赋给该IP一个固定的时间片,然后把它们一同放进一个供Sendmail读取的特定的文件中;

  ·Sendmail在为用户发信的时候,根据该特定文件的内容,核实用户的IP是否合法,若合法,则发送,否则拒发;

  ·在该特定文件中的IP,当其时间片用完的时候将被自动删除。

  美中不足,这种方法要求用户在发信之前必须先取一次信,以便Sendmail能动态地得到其IP地址。但这并不违反用户的使用习惯,因此并无大碍。本文以Sendmail-8.9.3和qpopper-3.0.2为例,对这一方法进行介绍。

  一、环境要求

  ·Redhat 5.1 以上;

  ·Perl 5;

  ·Qpopper-3.0.2;

  ·Sendmail 8.9.3以上。

  二、详细步骤

  1.编译安装qpopper

  (1)下载

  可到“中国自由软件库”(http://freesoft.cei.gov.cn)中下载qpopper-3.0.2.tar.gz软件包。

  (2)编译

  假设软件包已下载到当前目录

  $tar -zxvf ./qpopper-3.0.2.tar.gz

  $cd qpopper-3.0.2

  $configure --enable-specialauth --enable-log-login --with-log-facility=LOG_LOCAL1

  --enable-servermode

  $make

  (3)安装

  因本文以qpopper为例,故需用qpopper替换原有的ipop3d:

  $su

  #cp ./popper/popper /usr/local/bin/

  #vi /etc/inetd.conf #修改inetd.conf文件如下

  #pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

  pop-3 stream tcp nowait root /usr/local/bin/popper popper -t /var/log/popper.log

  #/etc/rc.d/init.d/inet restart

  2.启动poprelayd进程

  说明:poprelayd 是一个用perl 编写的命令,它负责实时地读取popper的日志文件,记录下用户的IP地址,并赋给它一个时间片,然后把它们放进 /etc/mail/popip.db 中,供Sendmail 读取;同时它还负责删除时间片用完的IP地址。

  (有关poprelayd程序内容,请访问http://www.swm.com.cn/swm/200102/在Sendmail中实现用户认证的方法之一.html)

  3.重新配置 Sendmail.cf 文件

  Sendmail-8.9.3.tar.gz软件包可到“中国自由软件库”(http://freesoft.cei.gov.cn)中下载。本文假定软件包已在/home/Sendmail-8.9.3目录下展开:

  #cd /home/Sendmail-8.9.3/cf/domain

  #vi linux.m4

  添加一行:

  FEATURE(`access_db',`hash -o /etc/mail/access')dnl

  #cd /home/Sendmail-8.9.3cf/cf

  #vi linux.mc

  OSTYPE(linux)dnl

  DOMAIN(linux)dnl

  MAILER(local)dnl

  MAILER(smtp)dnl

  #m4 ../m4/cf.m4 ./linux.mc > ./Sendmail.cf

  #cp ./Sendmail.cf /etc/Sendmail.cf

  #vi /etc/Sendmail.cf

  在“local info”部分添加

  #List of IP addresses we allow relaying from.

  Klocalip hash -a /etc/mail/localip

  Kpopip hash -a /etc/mail/popip

  在SLocal_check_rcpt后添加:

  #Put the address into cannonical form (even if it doesn't resolve to an MX).

  R$* $: $>Parse0 $>3 $1

  R$* < $* > $* $: $1 < $2 . > $3 Pretend it's canonical.

  R$* < $* . . > $* $1 < $2 . > $3 Remove extra dots.

  #Allow relaying if the connected host is a local IP address.

  R$* $: < $

上一篇:RedHat完整邮件系统架设   下一篇:Linux 架设 sendmail MAIL
[365Key收藏] [雅虎收藏+] [返回顶部] [打印本页] [关闭窗口]  
邮箱   相关文章
·RedHat完整邮件系统架设
·Linux 架设 sendmail MAIL
·sendmail中限定用户邮箱大小的实
·Fedora Core Sendmail 開放遠端
·我的E-Mail服务器为什么变慢了
·Sendmail MailScanner ClamA
·Solaris2.6上安装配置Sendmail V
·Sendmail: localhost.localdomai
·SENDMAIL安装体会
·Redhat 7.1下的Sendmail SASL认
·Sendmail 郵件伺服器的防毒方式
·FreeBSD Virtual Mail How-To
免费邮箱 163邮箱  21CN邮箱  Gmail  Hotmail  QQ邮箱  SoGou邮箱  新浪邮箱  雅虎邮箱  
邮箱评测 企业邮箱评测  
企业邮局 企业邮箱  企业邮箱资讯  
移动邮件 技术前沿  手机邮件  
邮件系统 CMail Server  WinMail  SendMail  Qmail  Postfix  MDaemon Server  Lotus Notes  IMail Server  Foxmail Server  Exchange Server  Domino  Winwebmail  
邮件营销 网络营销  营销案例  营销技巧  邮件营销  
反垃圾邮件 Anti-Spam技术产品  新闻资讯  
邮件客户端 DreamMail  Foxmail  IncrediMail  KooMail  Outlook  The Bat!  
邮件安全
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·Redhat8下Sendmail(邮件)的配
·配置高效的Sendmail服务器
·中小企业服务器配置-邮件服务器
·如何监控sendmail邮件系统中的用
·为 Sendmail 建立虚拟邮件域
·Sendmail MailScanner ClamA
·Linux 架设 sendmail MAIL
·在Linux系统下面架设Sendmail服
·部分sendmail中的高级设置
·Sendmail的安全解决方案
·FreeBSD Virtual Mail How-To
·十分钟快速架设Linux系统下WebMa
网站首页 -  网站地图 -  域名注册 -  虚拟主机 -  企业邮箱  -  网站投稿  -  广告联系 -  帮助中心  -  

Copyright 2007-2008 Mail1.com.cn All Rights Reserved
本站内容均来自网络,如果侵犯版权请来信告知,核实后我们会在24小时删除 联系方式:
第一邮局QQ群:14743955 E-mail:www@onlinex.com.cn