日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Milter

 昵稱(chēng)6656145 2015-02-03

Milter-limit控制postfix發(fā)信頻率

>要在postfix 中限制一個(gè)用戶(hù)發(fā)信的數(shù)量,發(fā)到某個(gè)域的數(shù)量,和頻率需要一種控制機(jī)制!
milter-limit 是Sendmail 的一個(gè)filter,用于限制用戶(hù)發(fā)郵件的數(shù)量,以防止郵件服務(wù)器
被非法用于發(fā)送垃圾郵件,它可以實(shí)現(xiàn)對(duì)指定的客戶(hù)端IP、收件人、發(fā)件人進(jìn)行限制。該
filter可以不做任何修改即可用于Postfix中
到www. 下載 (需要注冊(cè))

http://www.
安裝
注意,在安裝操作系統(tǒng)的時(shí)候安裝sendmail的所有組件,這個(gè)軟件的安裝需要用到sendmail 的相關(guān)文件,如果沒(méi)有安裝下面的編譯安裝會(huì)出現(xiàn)錯(cuò)誤!

下載:如下的軟件:
db-4.8.26.tar.gz (可能不需要安裝)
milter-limit-0.14.tar.gz
libsnert-1.73.11.tar.gz
# tar -zxvf libsnert-1.73.11.tar.gz
# tar -zxvf milter-limit-0.14.tar.gz
#cd com/snert/src/lib
# ./configure --with-db=/usr            # 檢查是否有Berkeley DB 支持
# make build
# cd ../milter-limit
# ./configure --enable-run-user=postfix --enable-run-group=postfix
# make build
# make install

安裝完畢:
下面設(shè)置postix

修改 /etc/postfix/main.cf
添加參數(shù):
smtpd_milters = unix:/var/run/milter/milter-limit.socket

過(guò)濾規(guī)則:
milter-limit 的規(guī)則文件寫(xiě)在/etc/mail/access 中,然后用makemap 來(lái)生成
makemap hash /etc/mail/access.db < /etc/mail/acces
# 請(qǐng)注意access.db權(quán)限不能為可執(zhí)行,并且可以讓postfix 用戶(hù)能夠讀取
/etc/mail/access 文件的規(guī)則包括

milter-limit-Connect:       # 客戶(hù)端連接IP
milter-limit-From:          # 發(fā)件人地址
milter-limit-To:             # 收件人地址
milter-limit-Auth:          # 通過(guò)SMTP認(rèn)證的發(fā)件人
 
支持以下匹配規(guī)則
[network/cidr]limit        無(wú)類(lèi)域間路由
!pattern!limit              簡(jiǎn)單文本匹配
/regex/limit               POSIX正則表達(dá)式

limit:時(shí)間單位可以是秒(s)、分鐘(m)、小時(shí)(h)、天(d)、星期(w)
格式: messages ‘/’ time [unit]

# 發(fā)往sina.com域限制在1小時(shí)發(fā)送2封郵件
策略:
啟動(dòng)參數(shù): policy=reject

none            什么都不做
tag              給郵件標(biāo)題打標(biāo)簽   啟動(dòng)參數(shù):subject-tag=[SPAM]
quarantine     將郵件送入隔離隊(duì)列(不發(fā)送,需要通過(guò)命令激活).
later            不接收郵件,提示發(fā)送端發(fā)送延遲消息,郵件仍舊在發(fā)送端的隊(duì)列中,稍候重試
reject           拒絕郵件(默認(rèn)值)
discard         直接丟棄

啟動(dòng)命令

/usr/local/sbin/milter-limit  verbose=all policy=later -start

如果需要調(diào)試使用 verbose=all 在/var/log/maillog 中查看日志
其他參數(shù)用 -help 參數(shù)查看
postfix 基本參數(shù)設(shè)置
smtp_skip_4xx_greeting = yes
smtp_skip_5xx_greeting = yes
default_destination_concurrency_limit = 2 #同一IP并發(fā)連接
initial_destination_concurrency = 2
smtp_helo_name = mail.test.com        # 本機(jī)對(duì)外真實(shí)域名
smtpd_milters = inet:localhost:8891,unix:/var/run/milter/milter-limit.socket

測(cè)試發(fā)送郵件,如果在一小時(shí)呢發(fā)送超過(guò)2封每秒,會(huì)被拒絕投遞

查看日志:

tail /var/log/maillog
如下信息
說(shuō)明控制能正常功能工作了
Mar 11 19:20:18 mail milter-limit[5613]: 00004 NOQUEUE: limit max=2 seconds=3600
Mar 11 19:20:18 mail milter-limit[5613]: cache get {milter-limit-to:sina.com}
Mar 11 19:20:18 mail milter-limit[5613]: 00004 NOQUEUE: cache get key={milter-limit-to:sina.com} value={1268309916, 2} rc=0
Mar 11 19:20:18 mail milter-limit[5613]: 00004 NOQUEUE: isOverLimit(8d50100, 8d4fbe8) {milter-limit-to:sina.com, 2/1h, 2, 4b98df9c}
rc=1
Mar 11 19:20:18 mail milter-limit[5613]: 00004 NOQUEUE: reply 450 4.7.1  has exceeded 2 messages per 1 hour
Mar 11 19:20:18 mail postfix/smtpd[5618]: NOQUEUE: milter-reject: RCPT from unknown[192.168.1.109]: 450 4.7.1  has exceeded 2 messag

這個(gè)是其中的一個(gè)控制,還有很多其他的設(shè)置。

這其中有個(gè)問(wèn)題,對(duì)于我們的發(fā)信系統(tǒng)來(lái)說(shuō),原因在于:發(fā)信一旦超過(guò)限制,就把信直接給reject掉了,這樣發(fā)送任務(wù)終止了,需要等待時(shí)間再次發(fā)送,但是這戲都是系統(tǒng)自動(dòng)進(jìn)行的,一旦斷掉就終止發(fā)信了
會(huì)不會(huì)有一種機(jī)制將超過(guò)的信保持在發(fā)送隊(duì)列中,等到過(guò)了罰值繼續(xù)發(fā)送??
我還沒(méi)有找到這個(gè)解決的方法,希望有哪位高人知道怎么做,那多謝指導(dǎo)啊

呵呵,這對(duì)發(fā)信量少的企業(yè)郵件有很大幫助,免去了被利用發(fā)送垃圾郵件的危險(xiǎn)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多