postfix郵件伺服器安全

2021-09-08 08:27:47 字數 3405 閱讀 4162

分析smtp傳送

把內部ip從郵件 的信任網路中去掉, 然後測試郵件傳送(依靠郵件發件人)

root@slackbox[~]# telnet mail.******.com 25 

trying 10.70.253.52... 

connected to mail.******.com. 

escape character is '^]'. 

220 mail.******.com esmtp postfix 

mail from: abc@******.com #直接發起郵件, 未進行smtp認證,並偽造發件人為abc@******.com, abc為實際不存在的使用者 

250 2.1.0 ok #伺服器返回ok, 說明伺服器未對sender進行認證 

rcpt to: jhuang@******.com  #指定收件人為我本人 

250 2.1.5 ok #伺服器返回ok 

data #寫郵件 

354 end data with <

cr>

<

lf>.<

cr>

<

lf>

sfafafdsfafasfasfas 

afsdasfsfasfsafas 

. #結束寫郵件並傳送 

250 2.0.0 ok: queued as 6c0fc3d5288 #伺服器返回郵件已進入傳送佇列 

同時, 郵件伺服器的日誌顯示,郵件已經傳送:status=sent,上述實驗表明了 郵件伺服器沒有經過smtp認證。

增加smtp認證, 堵住漏洞

postfix配置

#指定發件人認證登入 

smtpd_sender_login_maps = ldap:/etc/postfix/ldap-users.cf, 

ldap:/etc/postfix/ldap-mailbox.cf 

#不允許不在列表中的發件人 

smtpd_reject_unlisted_sender = yes

#需要helo資訊 

smtp_helo_required = yes

smtpd_recipient_restrictions 段增加下面內容: 

reject_sender_login_mismatch 

reject_authenticated_sender_login_mismatch, 

reject_unauthenticated_sender_login_mismatch, 

reject_non_fqdn_hostname, 

reject_non_fqdn_sender, 

reject_non_fqdn_recipient, 

reject_invalid_hostname, 

測試一: 試圖不通過驗證直接發郵件

#telnet mail.******.com 25 

trying 10.70.253.52... 

connected to mail.******.com. 

escape character is '^]'. 

220 "mail.******.com mail system" 

mail from: jhuang@******.com 

50 2.1.0 ok 

rcpt to: jhuang@******.com 

553 5.7.1 <

jhuang@******.com>: sender address rejected: not logged in 

證明傳送郵件需要作smtp認證, 沒有認證的不允許傳送郵件。

測試二: 試圖smtp認證, 並以偽造不存在的郵件位址傳送郵件

# telnet mail.******.com 25 

trying 10.70.253.52... 

connected to mail.******.com. 

escape character is '^]'. 

220 "mail.******.com mail system" 

auth login 

334 vxnlcm5hbwu6 

amh1yw5n 

334 ugfzc3dvcsfafafafmq6 

bg92zxdpbm5pzxlpbg== 

235 2.7.0 authentication successful 

mail from: abc@******.com 

250 2.1.0 ok 

rcpt to: jhuang@******.com 

550 5.1.0 <

abc@******.com>: sender address rejected: user unknown in local recipient tabl 

證明不允許偽造不存在的本地郵件位址發郵件

測試三:試圖通過smtp認證, 並仿冒他人郵件位址傳送郵件

# telnet mail.******.com 25 

trying 10.70.253.52... 

connected to mail.******.com. 

220 "mail.******.com mail system" 

auth login 

334 vxnlcm5hbwu6 

amh1yw5n 

334 ugfzlllllkokopkc3dvcmq6 

bg92zxdpbm5pzxlpbg== 

235 2.7.0 authentication successful 

mail from: lxiong@******.com 

250 2.1.0 ok 

rcpt to: jhuang@******.com 

553 5.7.1 <

lxiong@******.com>: sender address rejected: not owned by user jhuang 

證明登入使用者與郵件傳送人不一致時, 禁止傳送郵件

測試四:禁止郵件中繼

#telnet mail.******.com 25 

trying 10.70.253.52... 

connected to mail.******.com. 

escape character is '^]'. 

220 mail.******.com esmtp postfix 

mail from: [email protected] 

250 2.1.0 ok 

rcpt to: [email protected] 

554 5.7.1 <

[email protected]>: recipient address rejected: access denied 

postfix郵件伺服器安全

分析smtp傳送 把內部ip從郵件 的信任網路中去掉,然後測試郵件傳送 依靠郵件發件人 root slackbox telnet mail.com 25 trying 10.70.253.52.connected to mail.com.escape character is 220 mail.co...

postfix郵件伺服器應用

rpm q postfix 如果沒有安裝 yum y install postfix myhostname mail.testmail.com 本機主機名 mydomain testmail.com 伺服器網域名稱 myorigin mydomain 初始網域名稱 mail owner postfi...

你的Postfix郵件伺服器安全麼?

postfix是linux上常用的郵件伺服器之一。本文對postfix郵件伺服器的引數進行了簡述,並著重介紹了配置過程中需要注意的安全事項。原文請見 快速配置postfix郵件伺服器 postfix最被人稱道的地方就在於其配置檔案的可讀性很高。postfix的主配置檔案是 etc postfix m...