免费注册 查看新帖 |

Chinaunix

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

[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 &

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

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-05-07 16:34 |只看该作者

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

1. strings /etc/tcp.smtp.cdb 
内容是什么?

2. telnet localhost 25
ehlo gadfly
结果是什么?

论坛徽章:
0
3 [报告]
发表于 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帮忙呀!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-05-07 18:11 |只看该作者

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

你用这个patch过的看看,
www.nimh.org/hacks/qmail-smtpd.c
直接替换后qmail-smtpd.c,编译和替换qmail-smtpd就可以了

试试看。

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

论坛徽章:
0
5 [报告]
发表于 2003-05-07 18:16 |只看该作者

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

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

试试看。

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

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

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2003-05-07 18:22 |只看该作者

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

你编译后,用别的名字例如qmail-smtp.simple

在smtp的启动脚本中,拥这个就好

另外,如果下载不下来,iceblood的包中用的就是这个。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2003-05-07 18:28 |只看该作者

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

换到这个地方了
http://www.nimh.org/dl/qmail-smtpd.c

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

论坛徽章:
0
8 [报告]
发表于 2003-05-08 14:44 |只看该作者

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

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

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


这个还是下载不下来呀?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2003-05-08 15:03 |只看该作者

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

怎么会呢?
能呀。不行,我给你发过去,给个mail地址

论坛徽章:
0
10 [报告]
发表于 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呀。
谢谢你的帮助!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP