postfix client 端強制勾選“SMTP發送服務器需身份驗證”

使用postfix搭建好郵件服務端以後,使用foxmail 作爲客戶端的時候,默認情況下都是會勾選“發送服務器需要身份認證”,如果這個選項沒有勾選的話,一些程序員可以利用這個漏洞,使用你郵件服務器端下的用戶名,無需你用戶名的 密碼就可以肆意發送郵件,如圖就是我這邊的同事利用這個爲勾選的漏洞,發送N多的郵件:


垃圾郵件的危害性不言而喻哈!下面就大致的說一下這個問題的解決辦法:

Postfix SMTP認證需要通過Cyrus-sasl

通過在postfixmain.cf文件中,通過對相關CYRUS-SASL的配置,令每一個用戶必須在客戶端勾上“發送服務器需要身份驗證”選項,否則無法發送郵件;

smtpd_sasl_auth_enable = yes  啓用sasl認證

smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination,permit    

設置收件人過濾規則,permit是最重要的,

smtpd_sasl_local_domain = $myhostname  

smtpd_sasl_security_options = noanonymous

smtpd_sender_restrictions = permit_sasl_authenticated,reject

smtpd_sasl_application_name = smtpd

重新加載postfix文件,postfix程序在你postfix安裝的目錄下

/usr/local/postfix/sbin/postfix reload

此時,客戶端用戶如果沒有勾選“SMTP發送服務器需要身份驗證選項的話”,在發送郵件時會提示:

錯誤信息:Please check the email <[email protected]>, server reply: 504 5.5.2

勾選上後,就可以正常發送郵件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章