免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 13903 | 回复: 11
打印 上一主题 下一主题

[Mail] Qmail SMTP认证信息随意输入也能发邮件解决方法! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-07 16:05 |显示全部楼层 |倒序浏览
我安装的是Qmail+vpopmail+qmailadmin+sqmwebmail,Qmail安装的版本是qmail-1.03.tar.gz,Qmail的补丁qmail-103.patch        qmail-smtpd-auth-0.31.tar.gz  cmd5checkpw-0.22.tar.gz也已经打上。
    设置好以后使用的一切正常,如果SMTP不选择认证就不能发邮件。但是我最近发现一个问题,就是当我选择SMTP认证时我得验证信息随便输入竟然也可以发送邮件。我又使用tom.com的邮箱帐户,把smtp地址设置成我自己建的mail服务器的smtp地址,竟然也是这样的问题,就是不选择smtp认证时,可以给我自己建立的邮件服务器的用户发送邮件,但是给其他邮件服务器的用户发送邮件时出错;选择SMTP认证,竟然可以往任何邮件服务器的帐户发送信息,这样我感觉我得SMTP认证没有起到任何作用呀,因为认证信息可以随便输入,哪任何外面的用户都可以随便使用我得邮件服务器发邮件了。下面是我做SMTP认证的步骤:
1.安装ucspi-tcp
    #tar zxvf ucspi-tcp-0.88.tar.gz
    #cd ucspi-tcp-0.88
    #make setup check
2.生成tcp.smtp.cdb
    #cd /etc
    #touch tcp.smtp
    #ee tcp.smtp 加入一下内容
    127.0.0.1:allow,RELAYCLIENT=""
    #cd /usr/local/bin
    #./tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
五.安装cmd5checkpw
    #mkdir /usr/man
    #mkdir /usr/man/man8
    #tar zxvf cmd5checkpw-0.22.tar.gz
    #cd cmd5chedkpw-0.22
    #make
    #make install
       
六.安装Qmail
1.建立Qmail目录
    #mkdir /var/qmail
     #mkdir /var/qmail/alias
2.添加组和用户
   #pw groupadd nofiles
     #pw groupadd qmail
     #pw useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent
     #pw useradd qmaild -g nofiles -d /var/qmail -s /nonexistent
     #pw useradd qmaill -g nofiles -d /var/qmail -s /nonexistent
     #pw useradd qmailp -g nofiles -d /var/qmail -s /nonexistent
     #pw useradd qmailq -g qmail -d /var/qmail -s /nonexistent
     #pw useradd qmailr -g qmail -d /var/qmail -s /nonexistent
     #pw useradd qmails -g qmail -d /var/qmail -s /nonexistent
     在添加一个系统用户admin作为邮件管理用户
     #pw useradd admin -g wheel
3.给Qmail打补丁
   #tar zxvf qmail-1.03.tar.gz
    #patch -d ./qmail-1.03 < qmail-103.patch DNS补丁
   #tar zxvf qmail-smtpd-auth-0.31.tar.gz
    #cd qmail-smtpd-auth-1.31
    #cp base* README.auth ../qmail-1.03
    #patch -d ../qmail-1.03 < auth.patch
4.编译Qmail
   #make setup check
5../config-fast mail.localhost.com
6.设置投递方式
  #cp /var/qmail/boot/home /var/qmail/rc
   #ee /var/qmail/rc 修改以下内容
  exec env - PATH="/var/qmail/binPATH" \
   qmail-start ./Maildir/ splogger qmail
7.添加别名用户
   #touch /var/qmail/alias/.qmail-root
   #touch /var/qmail/alias/.qmail-postmaster
   #touch /var/qmail/alias/.qmail-mailer-daemon
   #echo postmaster /var/qmail/control/bouncefrom
   注意:/var/qmail/control/locals中必须有缺省域名,否则投递失败的邮件将不知锁踪。
8.停止Sendmail服务
   #chmod 0 /usr/sbin/sendmail
   #mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
   #cp /var/qmail/bin/sendmail /usr/sbin/sendmail
   #vi /etc/rc.conf
   #ee /etc/rc.conf 修改如下选项
   sendmail_enable="NO"
       
我得/etc/rc.local文件的内容为:
# vi /etc/rc.local

   #!bin=bash
   csh -cf '/var/qmail/rc &'

  /usr/local/bin/tcpserver -c 100 -v -l test.domain.com -H -U -R 0 pop3 /var/qmail/bin/qmail-popup test.mydomain.com /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &

# 1002为用户qmaild的id号,1001为组nofiles的id号
/usr/local/bin/tcpserver -H -R -l test.mydomain.com -t 1 -c 100 -v -p -x /etc/tcp.smtp.cdb -u 1002 -g 1001 0 smtp /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /usr/bin/true /bin/cmd5checkpw /usr/bin/true &

   请问这是怎么回事呀,那个地方设置有问题呀?谢谢~

论坛徽章:
0
2 [报告]
发表于 2003-05-07 16:57 |显示全部楼层

Qmail SMTP认证信息随意输入也能发邮件解决方法!

1. strings内容是什么?
127.0.0.1:allow,RELAYCLIENT=""

2. telnet localhost 25
ehlo gadfly
结果是什么
250-cw-isquare.com
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME

谢谢gadfly帮忙呀!

论坛徽章:
0
3 [报告]
发表于 2003-05-07 18:16 |显示全部楼层

Qmail SMTP认证信息随意输入也能发邮件解决方法!

原帖由 "gadfly" 发表:
你用这个patch过的看看,
www.nimh.org/hacks/qmail-smtpd.c
直接替换后qmail-smtpd.c,编译和替换qmail-smtpd就可以了

试试看。

我记得一个网友用你现在的这个patch也是这个问题。
换成上面那个就好了

这个补丁怎么下载不下来呀?
还有,我现在的mail服务器是公司的mail,现在正在使用,请你告诉我怎样现在修改不会影响我的服务器的正常使用,也就是说怎样替换是我的服务器不会出现其他问题,谢谢~

论坛徽章:
0
4 [报告]
发表于 2003-05-08 14:44 |显示全部楼层

Qmail SMTP认证信息随意输入也能发邮件解决方法!

原帖由 "gadfly" 发表:
换到这个地方了
http://www.nimh.org/dl/qmail-smtpd.c

如果还有问题,晚上,我帮你看看


这个还是下载不下来呀?

论坛徽章:
0
5 [报告]
发表于 2003-05-08 16:17 |显示全部楼层

Qmail SMTP认证信息随意输入也能发邮件解决方法!

原帖由 "gadfly" 发表:
怎么会呢?
能呀。不行,我给你发过去,给个mail地址

谢谢,我的地址是:peijun.jiang@cw-isquare.com
是不是这样编译呀:
将qmail-smtpd.c拷贝到qmail-1.03目录,进入qmail-1.03目录,执行:
make qmail-smtpd ./load qmail-smtpd rcpthosts.o commands.o timeoutread.o timeoutwrite.o ip.o ipme.o ipalloc.o control.o constmap.o received.o date822fmt.o now.o qmail.o cdb.a fd.a wait.a datetime.a getln.a open.a sig.a case.a env.a stralloc.a alloc.a substdio.a error.a str.a fs.a auto_qmail.o

然后把编译好的qmail-smtpd拷贝到/var/qmail/bin目录下,然后重新启动机器。是不是这样编译呀。我想你寻找安全的解决方案,因为我们的服务器不能down呀。
谢谢你的帮助!

论坛徽章:
0
6 [报告]
发表于 2003-05-08 16:47 |显示全部楼层

Qmail SMTP认证信息随意输入也能发邮件解决方法!

原帖由 "gadfly" 发表:
对,是这样编译

你不用覆盖以前的,另外取个名字好了

然后改一下smtp的启动脚本,用你改过的这个名字就好。

这样有问题,改这个启动脚本就是了

重启动qmail-smtpd就可以了,没必要重启动机器。

给你?.........

我已经收到了,谢谢!
我现在就去做,有问题还请多帮忙。
谢谢!

论坛徽章:
0
7 [报告]
发表于 2003-05-08 17:05 |显示全部楼层

Qmail SMTP认证信息随意输入也能发邮件解决方法!

原帖由 "peijun.jiang" 发表:

我已经收到了,谢谢!
我现在就去做,有问题还请多帮忙。
谢谢!

我已经做好了,但是现在正常用户竟然也发不出去了,提示535 auth failure!
我急呀,刚有问题北京公司就发牢骚了。

论坛徽章:
0
8 [报告]
发表于 2003-05-08 17:23 |显示全部楼层

Qmail SMTP认证信息随意输入也能发邮件解决方法!

原帖由 "gadfly" 发表:
我看还是等晚上再调试吧。

我可以晚上帮你看看。

msn:gadfly@163.com

好的,我已经加你了,晚上六点下班后我和你联系。
谢谢!

论坛徽章:
0
9 [报告]
发表于 2003-05-09 13:02 |显示全部楼层

Qmail SMTP认证信息随意输入也能发邮件解决方法!

我的smtp认证信息随便输入就可以发邮件和随意更改发件人地址就能发邮件的问题现在已经解决,在此非常感谢gadfly的无私帮助。
我再安装qmail+vpopmail+qmailadmin+sqwebmail的时候用的qmail-smtpd-auth-0.31.tar.gz补丁包,安装后就出现了这个问题,后来我是用gadfly给我发的qmail-smtpd.c,就是打过补丁的程序,下载地址:
http://gadfly.shanji.com/qmail-smtpd/qmail-smtpd.c
把这个补丁拷贝到qmail的安装目录,比如:
cp qmail-smtpd.c /down/qmail-1.03
然后单独编译qmail-smtpd文件
cd /down/qmail-1.03
make qmail-smtpd
把编译好的qmail-smtpd文件拷贝到qmail安装的根目录
cp qmail-smtpd /var/qmail/bin/qmail-smtpd.jun
为了保险起见,我重新把qmail-smtpd命名为qmail-smtpd.jun
更改启动脚本
cd /etc
ee rc.local
更改smtpd启动脚本的qmail-smtpd为qmail-smtpd.jun
更改/home/vpopmail/bin/vhckpw属性加上s
使用ps -a查看smtpd启动脚本的pid号
kill pid(你的smtpd的pid号)
在命令行输入smtpd启动脚本(也就是/etc/rc.local里面的smtpd启动脚本)
此时再试试看smtp认证的信息随便输入还能不能发邮件。
不过应该没有问题了,因为我已经成功了。

后来我无意又发现使用foxmail发邮件时发件人信息竟然可以随便输入,你接受到该邮件地址也显示你随便输入的信息,点击回复竟然回复给了你发邮件时随便输入的邮件地址,这可是一个很大的bug。后来请教gadfly老兄,他又发给我一个patch,地址如下:

http://gadfly.shanji.com/qmail-smtpd/qmail-smtpd.patch

把这个patch下载到你的qmail的目录
cd /down/qmail-1.03
patch < qmail-smtpd.patch
然后重新编译qmail-smtpd文件
make qmail-smtpd
把编译好的文件在拷贝到你的qmail安装目录
cp qmail-smtpd /var/qmail/bin/qmail-smtpd.jiang
为了安全起见我又把qmail-smtpd重新命名为qmail-smtpd.jiang
更改/etc/rc.local的smtpd的启动脚本qmail-smtpd.jun为qmail-smtpd.jiang

按照以上提到的方法重新启动smtpd

此时你在试试看更改发件人地址还能不能发邮件。


我的安装以上的方法设置后,目前使用良好,有什么问题欢迎交流。
再次谢谢gadfly老兄。

论坛徽章:
0
10 [报告]
发表于 2003-05-15 10:35 |显示全部楼层

Qmail SMTP认证信息随意输入也能发邮件解决方法!

原帖由 "ark" 发表:
?胛事ブ鞔砦笊柚檬笔欠褚裁患幽愕膁omain名?
如果是这个问题,建议给qmail-smtpd-auth-0.31.tar.gz平反,大家都得出这个patch有问题,请楼主务必试一下,还事情本来面目。


我得域名是加着的呀!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP