分析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...