亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Mail服務器 > 正文

Qmail防止濫用mail relay的解決方案_Mail服務器教程

2024-09-08 23:46:15
字體:
來源:轉載
供稿:網友

摘要:本文討論了在qmail環境下如何防止mail relay被垃圾郵件發送者濫用的解決方法。

軟件環境:redhat6.2 qmail1.3

硬件環境:hp netserver e60 128m內存 單網卡

1.什么是mail relay及為何要防止被濫用?

設置好一個qmail服務器以后,該服務器將具有一個或若干個域名(這些域名應該出現在local或viritualdomains文件內),這時qmail-smtpd將監聽25號端口,等待遠程的發送郵件的請求。網絡上其他的mail服務器或者請求發送郵件的mua(mail user agent,如outlook express、foxmail等等)會連接qmail服務器的25號端口,請求發送郵件,smtp會話過程一般是從遠程標識自己的身份開始,過程如下:

helo remote.system.domainname

250 qmailserver.domain

mail from:user@somewherer.net

250 ok

rcpt to: user1@elsewhere.net

郵件的接收者user1@elsewhere.net中的域名并不一定是本地域名,這時候本地系統可能有兩種回答,接受它:

250 ok

或者拒絕接受它:

553 sorry,.that domain is not in my domain list of allowed recphosts

第一種情況下,本地qmail服務器是允許relay的,它接收并同意傳遞一個目的地址不是本地的郵件;而第二種情況則不接收非本地郵件。

qmail有一個名為rcpthosts(該文件名源于rcpt to命令)的配置文件,其決定了是否接受一個郵件。只有當一個rcpt to命令中的接收者地址的域名存在于rcpthosts文件中時,才接受該郵件,否則就拒絕該郵件。若該文件不存在,則所有的郵件將被接受。當一個郵件服務器不管郵件接收者和郵件接收者是誰,而是對所有郵件進行轉發(relay),則該郵件服務器就被稱為開放轉發(open relay)的。當qmail服務器沒有rcpthosts時,其是開放轉發的。

如果系統管理員將自己的郵件服務器設置為open relay,將會導致一些垃圾郵件發送者將你的郵件服務器作為轉發自圾郵件的中繼站,這將使垃圾郵件的接收者將矛頭對準你,可能會導致報復性的郵件炸彈;垃圾郵件還能消耗你大量的資源,占用你的帶寬。更為糟糕的事情可能是你的名字可能會上了黑名單,成為其他郵件接收者共同抵制的目標,你的郵件將被這些接收者所拒絕。

2.防止mail relay被濫用的方法一

這種方法僅僅適用于用戶ip地址固定的情況,例如某單位擁有自己的一個c類地址,并且擁有自己的局域網,該郵件服務器僅僅是提供給局域網用戶收發電子郵件。

設置自己服務器為非open relay的最簡單的辦法就是將你的郵件服務器的所有域名(若dns的mx記錄指向該機器,也應該包括該域名。例如你的機器有三個域名mail.linxuaid.com.cn、mail1.linuxaid.com.cn,而且linuxaid.com.cn的mx指向mail.linuxaid.com.cn,則qmail的rcphosts的應該包括mail.linuxaid.com.cn、mail1.linuxaid.com.cn和linuxaid.com.cn)。這將只允許客戶連接到服務器以后才能發送電子郵件,而不允許用戶通過mua來通過服務器轉發郵件,而要支持客戶使用mua來發送郵件,必須允許客戶使用服務器轉發郵件。qmail-smtpd支持一種有選擇性的忽略rcpthosts文件的方法:若qmail-smtpd的環境變量relayclient被設置,則rcpthost文件將被忽略,relay將被允許。但是如何識別一個郵件發送者是否是自己的客戶呢?就是判斷發送郵件者的源ip地址,若該ip地址屬于本地網絡,則認為該發送者為自己的客戶。

這里就要使用ucspi-tcp軟件包的tcpserver程序,該程序的功能類似于inetd-監聽進入的連接請求,為要啟動的服務設置各種環境變量,然后啟動指定的服務。tcpserver的配置文件是/etc/tcp.smtp,該文件定義了是否對某個網絡設置relayclient環境變量。例如,本地網絡是地址為1Array2.168.10.0/24的c類地址,則tcp.smtp的內容應該設置如下:

127.0.0.1:allow,relayclient=""

1Array2.168.10.:allow,relayclient=""

:allow

這幾個規則的含義是指若連接來自127.0.0.1和1Array2.168.10則允許,并且為其設置環境變量relayclient,否則允許其他連接,但是不設置relayclient環境變量。這樣當從其他地方到本地的25號連接將會被允許,但是由于沒有被設置環境變量,所以其連接將會被qmail-smptd所拒絕。

但是tcopserver并不直接使用/etc/tcp.smtp文件,而是需要先將該文件轉化為cbd文件:

[ideal@aidmail /etc]$ # tcprules tcp.smtp.cdb tcp.smtp.temp < tcp.smtp

然后在/service/qmail-smtpd目錄下的run文件中應該具有如下的內容:

/usr/local/bin/tcpserver -v -p -x /etc/tcp.smtp.cdb

可以看到,tcpserver利用了/etc/smtp.cbd文件。若本地有多個網絡,則需要這些網絡都出現在/etc/tcp.smtp文件中。

這樣就實現了允許本地客戶relay郵件,而防止relay被濫用。

3.防止mail relay被濫用的方法二

方法一對于局域網應用場合來說是足夠了,但是如果對于象263或163這樣的電子郵件系統來說,這種解決方法就不大適合,因為這些郵件系統的用戶遍布全世界各個地方,因此用戶可能從任何一個ip連接過來發送信件,因此就需要尋找其他的方法來限制郵件系統的relay功能被濫用。

若在qmail系統中使用vpopmail,則可以利用vpopmail專門針對漫游用戶的配置選項來實現防止郵件系統的relay功能被濫用。

若希望支持漫游用戶通過郵件服務器的轉發郵件(mail relay),則需要在安裝vpopmail時使用如下配置選項:

[root@aidmail vpopmail-4.Array.4]# ./configure --enable-roaming-users=y

其支持漫游用戶的原理是:當某個漫游用戶通過pop3取信以后,則在某段時間內允許該地址通過郵件服務器的轉發信件。vpopmail安裝完成以后,通過cron來定時運行程序如下:

40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null

也就是每40分鐘清除允許relay的ip地址的列表,則當某個用戶首先通過pop3取信件(因為通過pop3收取信件是需要認證的,則可以保證這是合法的用戶)結束以后,則用戶在后來的40分鐘以內可以通過該郵件系統轉發郵件,之后就不允許通過該系統轉發郵件。

4.防止mail relay被濫用的方法三

對于有漫游用戶的郵件系統來說,防止其relay功能被濫用的另外一個方法就是在發送郵件時要求用戶認證,就象用戶收信是需要認證一樣。這里假設系統已經安裝成功qmail-1.03和vpopmail,并且原有系統運行正常。

4.1.下載程序:

qmail-smtp補丁:http://members.elysium.pl/brush/qmail-smtpd-auth/

密碼檢驗補?。篽ttp://members.elysium.pl/brush/cmd5checkpw/

從這兩個地址下載得到qmail-smtpd-auth-0.26.tar.gz及cmd5checkpw-0.22.tar.gz。

4.2.編譯安裝qmail-smtpd

將qmail-smtpd-auth-0.26.tar.gz解壓縮:

[root@www src]# tar xvfz qmail-smtpd-auth-0.26.tar.gz

[root@www src]# cd qmail-smtpd-auth-0.26

[root@www qmail-smtpd-auth-0.26]# ls

changes  makefile  readme  todo  inetd.conf  qmail-smtpd.c

qmail-smtpd.patch

將安裝成功的qmail目錄下的qmail-smtp.c拷貝到qmail-smtpd-auth-0.26目錄下:

[root@www qmail-smtpd-auth-0.26]# cp ../qmail-1.03/qmail-smtpd.c ./

然后對該文件進行補丁處理:

[root@www qmail-smtpd-auth-0.26]# patch -p1 < qmail-smtpd.patch

將qmail-smtpd.c 拷貝到qmail 的源文件目錄里:

[root@www qmail-smtpd-auth-0.26]# cp qmail-smtpd.c ../qmail-1.03

最好先將原文件備份。單獨編譯 qmail-smtpd :

[root@aidmail qmail-smtpd]# 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  `cat

socket.lib`

將新生成的qmail-smtpd 拷貝到/var/qmail/bin 目錄下。在之前應該對原來的執行文件進行備份。

4.3.編譯安裝kpw-0.22.tar.gz

解壓縮,編譯安裝:

[root@www src]# tar xvfz cmd5checkpw-0.22.tar.gz

[root@www src]# cd cmd5checkpw-0.22

[root@www cmd5checkpw-0.22]# make ;make instll

4.4.設置relay規則。

relay的意思是:服務器接受客戶端的smtp請求,將客戶端發往第三方的郵件進行轉發。 qmail下控制relay很簡單,只要客戶端接入的smtp進程的環境變量里包含(relayclient="")就允許relay ,否則拒收。實現方法是在/etc/tcp.smtp 里對需要relay的ip逐條設置(relayclient=""),然后用tcprules 生成規則表。因為本文要實現smtp認證后的relay ,不需要對任何ip進行預先設定,所以默認規則設置成"只對本服務器relay"。/etc/tcp.smtp內容應該為:

127.0.0.1:allow,relayclient=""

:allow

重新生成新的tcp.smtp.cdb文件:

/usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

4.5.設置/home/vpopmail/bin/vchkpw 的setuid和setgid。

這點很重要,否則認證無法通過。這是因為smtpd 的進程是由qmaild 執行的。而密碼驗證程序原來只使用于pop3進程,分別由root或vpopmail執行,為的是讀shadow或數據庫中的密碼,并取出用戶的郵件目錄。這些操作qmaild 都沒有權限去做。如果smtp進程要調用密碼驗證程序,則必須要使用 setuid 和setgid 。其實這點大可放心,這兩個密碼驗證程序都是帶源代碼的,本身非常安全,只需要放在安全的目錄里就可以了(設置其他用戶除qmaild 可執行外都沒有權限執行;其實如果沒有其他shell帳戶,也就不用這么麻煩了)。

chmod 4755 /home/vpopmail/bin/vchkpw

4.6.修改smtpd啟動命令行

#!/bin/sh

qmailduid=`id -u qmaild`

nofilesgid=`id -g qmaild`

exec /usr/local/bin/softlimit -m 2000000

/usr/local/bin/tcpserver -v -p -x /etc/tcp.smtp.cdb

-u $qmailduid -g $nofilesgid 0 smtp /var/qmail/bin/qmail-smtpd 2>&1

改為:

#!/bin/sh

qmailduid=qmaild

nofilesgid=nofiles

exec /usr/local/bin/softlimit -m 2000000

/usr/local/bin/tcpserver -h -r -l 0 -t 1  -v -p -x /etc/tcp.smtp.cdb

-u $qmailduid -g $nofilesgid 0 smtp /var/qmail/bin/qmail-smtpd

/home/vpopmail/bin/vchkpw  /bin/true /bin/cmd5checkpw /bin/true  2>&1

4.7.其他一些設置:

設置vpopmail的用戶目錄直到/目錄都被任何用戶可以讀取;

4.8.重新啟動qmail

/etc/rc.d/init.d/qmailstart stop

/etc/rc.d/init.d/qmailstart start

4.Array.客戶端測試

在客戶端上使用 outlookexpress 和 netscape 4.6 以上版本的郵件軟件進行檢驗。

作者:ideal

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线电影欧美日韩一区二区私密| 欧美激情免费视频| 欧美一区二区三区艳史| 日韩电影免费观看在线| 96sao精品视频在线观看| 日韩女优在线播放| 91中文在线观看| 久久福利视频导航| 91精品国产91久久久久久不卡| 国产精品爽黄69| 91久久久久久久久久久| 国产在线999| 韩国国内大量揄拍精品视频| 国产精品午夜一区二区欲梦| 97超视频免费观看| 成人有码视频在线播放| 97色在线观看免费视频| 精品国产自在精品国产浪潮| 欧美亚洲另类激情另类| 国产精彩精品视频| 成人字幕网zmw| 成人在线精品视频| 欧美黄色成人网| 中文字幕日韩av| 精品女同一区二区三区在线播放| 亚洲视频精品在线| 欧美日韩国产中文精品字幕自在自线| 欧美肥老妇视频| 欧美极品第一页| 欧美激情免费看| 深夜福利国产精品| 午夜精品美女自拍福到在线| 国产视频观看一区| 伊人一区二区三区久久精品| 国产成人在线一区二区| 色av中文字幕一区| 久久艳片www.17c.com| 青草热久免费精品视频| 欧美孕妇性xx| 中文字幕日韩专区| 亚洲va码欧洲m码| 欧美亚洲另类激情另类| 日韩性生活视频| 欧美一级视频一区二区| 欧美日韩裸体免费视频| 最新国产精品亚洲| 麻豆成人在线看| 国产精品狠色婷| 国产精品盗摄久久久| 亚洲成人精品久久| 久久精品亚洲一区| 日日噜噜噜夜夜爽亚洲精品| 久久亚洲国产精品| 97久久超碰福利国产精品…| 日韩中文av在线| 国产精品成人国产乱一区| 91国内揄拍国内精品对白| 中文国产亚洲喷潮| www.日韩.com| 亚洲欧美资源在线| 亚洲国产一区二区三区四区| 久久久久久久一| 久久99精品久久久久久噜噜| 日韩少妇与小伙激情| 北条麻妃在线一区二区| 国产精品视频1区| 欧美xxxx18性欧美| 欧美野外wwwxxx| 中文字幕欧美日韩精品| 成人国内精品久久久久一区| 狠狠爱在线视频一区| 91久久久久久久| 欧美极度另类性三渗透| 亚洲精选中文字幕| 日韩av片免费在线观看| 欧美午夜激情视频| 欧美国产日产韩国视频| 亚洲护士老师的毛茸茸最新章节| 国产福利成人在线| 欧美性猛交xxxx乱大交| 欧美插天视频在线播放| 黄色一区二区在线观看| 91九色单男在线观看| 日韩欧美在线免费观看| 51午夜精品视频| 在线成人中文字幕| 欧美裸体xxxx极品少妇软件| 国产精品久久久久久久av大片| 国产精品久久久久不卡| 91av视频导航| 国产一区二区三区免费视频| 久久男人资源视频| 狠狠躁夜夜躁久久躁别揉| 一区二区三区 在线观看视| 亚洲成人黄色在线观看| 日韩欧美一区视频| 欧美日韩成人在线播放| yellow中文字幕久久| 日本不卡高字幕在线2019| 国产福利视频一区二区| 国产精品午夜视频| 在线色欧美三级视频| 日韩视频免费在线| 久久久久久亚洲精品中文字幕| 欧美国产视频一区二区| 青青久久av北条麻妃黑人| 欧美性xxxx极品高清hd直播| 亚洲人精选亚洲人成在线| 中文字幕不卡在线视频极品| 亚洲精品中文字幕有码专区| 国产小视频91| 日本不卡视频在线播放| 国产一区二区三区直播精品电影| 日本精品久久中文字幕佐佐木| 国产精品视频区1| 国产精品成人一区二区三区吃奶| 欧美日韩国产在线| 欧美老肥婆性猛交视频| 九九热这里只有精品免费看| 国产一区二区三区在线免费观看| 久久免费精品视频| 欧美国产日韩一区二区三区| 久久视频国产精品免费视频在线| 久久久999国产精品| www亚洲精品| 91精品久久久久久久久久另类| 欧美一区二区视频97| 成人午夜在线观看| 日韩麻豆第一页| 国产精品88a∨| 欧美激情视频免费观看| 日韩视频在线一区| 亚洲精品成人av| 久久久久久午夜| 精品视频偷偷看在线观看| 国产精品视频网| 91精品国产高清自在线看超| 欧美在线视频一区二区| 欧美精品激情blacked18| 欧美最猛性xxxxx(亚洲精品)| 欧美亚洲激情在线| 国产精品最新在线观看| 萌白酱国产一区二区| 日韩精品免费在线视频观看| 亚洲国产精品va在线看黑人| 97精品视频在线| 91在线观看免费| 国产精品免费观看在线| 免费97视频在线精品国自产拍| 亚洲一级免费视频| 欧美国产一区二区三区| 97视频色精品| 国产精品999999| 久久视频在线播放| 精品国产乱码久久久久久虫虫漫画| 国产成人激情小视频| 久久99亚洲精品| 国产成人精品日本亚洲专区61| 成人性生交大片免费看小说| 欧美精品成人在线| 亚洲最大福利网| 中文字幕亚洲欧美| 国产精品久久久久久久久久久不卡| 久久99热精品|