postfix邮件服务器安全-阿里云开发者社区

开发者社区> 长征2号> 正文

postfix邮件服务器安全

简介:
+关注继续查看

为防止postfix邮件服务器被人冒用,使用它发送伪造的垃圾邮件,进行了以下实验,添加了smtp验证。

分析smtp发送
把内部IP从邮件 的信任网络中去掉, 然后测试邮件发送(依靠邮件发件人)

 

  1. root@slackbox[~]# telnet mail.XXXXXX.com 25 
  2. Trying 10.70.253.52... 
  3. Connected to mail.XXXXXX.com. 
  4. Escape character is '^]'. 
  5. 220 mail.XXXXXX.com ESMTP Postfix 
  6. mail from: abc@XXXXXX.com #直接发起邮件, 未进行SMTP认证,并伪造发件人为abc@XXXXXX.com, abc为实际不存在的用户 
  7. 250 2.1.0 Ok #服务器返回OK, 说明服务器未对sender进行认证 
  8. rcpt to: jhuang@XXXXXX.com  #指定收件人为我本人 
  9. 250 2.1.5 Ok #服务器返回OK 
  10. data #写邮件 
  11. 354 End data with <CR><LF>.<CR><LF> 
  12. sfafafdsfafasfasfas 
  13. afsdasfsfasfsafas 
  14. . #结束写邮件并发送 
  15. 250 2.0.0 Ok: queued as 6C0FC3D5288 #服务器返回邮件已进入发送队列 

同时, 邮件服务器的日志显示,邮件已经发送:status=sent,上述实验表明了 邮件服务器没有经过smtp认证。

增加smtp认证, 堵住漏洞
Postfix配置

 

  1. #指定发件人认证登录 
  2. smtpd_sender_login_maps = ldap:/etc/postfix/ldap-users.cf, 
  3. ldap:/etc/postfix/ldap-mailbox.cf 
  4. #不允许不在列表中的发件人 
  5. smtpd_reject_unlisted_sender = yes 
  6. #需要helo信息 
  7. smtp_helo_required = yes 
  8. smtpd_recipient_restrictions 段增加下面内容: 
  9. reject_sender_login_mismatch 
  10. reject_authenticated_sender_login_mismatch, 
  11. reject_unauthenticated_sender_login_mismatch, 
  12. reject_non_fqdn_hostname, 
  13. reject_non_fqdn_sender, 
  14. reject_non_fqdn_recipient, 
  15. reject_invalid_hostname, 

测试一: 试图不通过验证直接发邮件

 

  1. #telnet mail.XXXXXX.com 25 
  2. Trying 10.70.253.52... 
  3. connected to mail.XXXXXX.com. 
  4. Escape character is '^]'. 
  5. 220 "mail.XXXXXX.com Mail System" 
  6. mail from: jhuang@XXXXXX.com 
  7. 50 2.1.0 Ok 
  8. rcpt to: jhuang@XXXXXX.com 
  9. 553 5.7.1 <jhuang@XXXXXX.com>: Sender address rejected: not logged in 

证明发送邮件需要作SMTP认证, 没有认证的不允许发送邮件。

测试二: 试图SMTP认证, 并以伪造不存在的邮件地址发送邮件

 

  1. # telnet mail.XXXXXX.com 25 
  2. Trying 10.70.253.52... 
  3. Connected to mail.XXXXXX.com. 
  4. Escape character is '^]'. 
  5. 220 "mail.XXXXXX.com Mail System" 
  6. auth login 
  7. 334 VXNlcm5hbWU6 
  8. amh1YW5n 
  9. 334 UGFzc3dvcsfafafafmQ6 
  10. bG92ZXdpbm5pZXlpbg== 
  11. 235 2.7.0 Authentication successful 
  12. mail from: abc@XXXXXX.com 
  13. 250 2.1.0 Ok 
  14. rcpt to: jhuang@XXXXXX.com 
  15. 550 5.1.0 <abc@XXXXXX.com>: Sender address rejected: User unknown in local recipient tabl 

证明不允许伪造不存在的本地邮件地址发邮件

测试三:试图通过SMTP认证, 并仿冒他人邮件地址发送邮件

 

  1. # telnet mail.XXXXXX.com 25 
  2. Trying 10.70.253.52... 
  3. Connected to mail.XXXXXX.com. 
  4. 220 "mail.XXXXXX.com Mail System" 
  5. auth login 
  6. 334 VXNlcm5hbWU6 
  7. amh1YW5n 
  8. 334 UGFzlllllkokopkc3dvcmQ6 
  9. bG92ZXdpbm5pZXlpbg== 
  10. 235 2.7.0 Authentication successful 
  11. mail from: lxiong@XXXXXX.com 
  12. 250 2.1.0 Ok 
  13. rcpt to: jhuang@XXXXXX.com 
  14. 553 5.7.1 <lxiong@XXXXXX.com>: Sender address rejected: not owned by user jhuang 


证明登录用户与邮件发送人不一致时, 禁止发送邮件

测试四:禁止邮件中继

 

  1. #telnet mail.XXXXXX.com 25 
  2. Trying 10.70.253.52... 
  3. Connected to mail.XXXXXX.com. 
  4. Escape character is '^]'. 
  5. 220 mail.XXXXXX.com ESMTP Postfix 
  6. mail from: address1@163.com 
  7. 250 2.1.0 Ok 
  8. rcpt to: address2@yeah.net 
  9. 554 5.7.1 <address2@yeah.net>: Recipient address rejected: Access denied 


本文转自茄子_2008博客园博客,原文链接:http://www.cnblogs.com/xd502djj/archive/2012/03/30/2425299.html,如需转载请自行联系原作者。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Elastic Engineering】Elasticsearch 简介
Elasticsearch 是一个非常强大的搜索引擎。
8 0
安卓平板体验Java开发,还能白嫖一年阿里无影云!真香
阿里无影云早有耳闻,前两天看朋友发体验照片,可能是程序员天生爱折腾的特性又发挥作用了,自己也没能忍住,赶快下载体验了一把,没想到“很香”。我体验了浏览器端、Windows 客户端和安卓平板端,下面就来聊聊使用的过程和使用体验。内含一年免费无影云的白嫖方法,千万别错过哦~
23 0
阿里巴巴数据库分库分表的实践(5)
阿里巴巴数据库分库分表的实践(5)
9 0
【在家实践】 ECS 初体验
第一次体验云服务器,感觉十分奇妙。
14 0
程序员真的是吃青春饭吗?如何面对传说中的 35 岁职业焦虑?
  正走在这条路上的你或许也曾想过这些问题。这一次,力扣邀请到了《高效制胜——程序员面试典型题解》作者吴江(迈克老师),分享他 35 岁跳槽,并拿到了技术负责人 Offer,实现收入增长的故事和面试准备经验。   — 01 —   “35 岁危机”真有那么可怕吗?   在 2018 年快过春节的时候,我们部门突然被通知要开一个会,会上通知我们部门要在明年的这个时候被整体裁掉。我在这家五百强外企已经待了五年,当时虽然有这个预感,但是真的听到正式通知时,不免还是感觉有点震惊。
5 0
使用 Go 语言编写的恶意软件激增 2000%
  近日,网络安全公司 Intezer 发布了 2022 年基于 Go 语言恶意软件的报告。报告指出:恶意软件的开发者已经从 C 和 C++ 逐渐转向 Go 语言,自 2017 年以来,基于 Go 语言的恶意软件数量呈现爆发式增长,增幅超过了 2000%。   自从 2012 年发现了第一个使用 Go 语言编写的恶意软件之后,Go 语言就在恶意软件领域渐渐流行起来了。2019 年 7 月,Palo Alto Networks 发布了一份使用 Go 语言编写的恶意软件分析报告。报告发现,2019 年以前使用 Go 语言编写恶意软件是一件罕见的事情,但到了 2019 年,这种情况每天都会发生,2
6 0
【Elastic Engineering】Kibana:如何在 Linux,MacOS 及 Windows 上安装 Elastic 栈中的 Kibana
Kibana:如何在 Linux,MacOS 及 Windows 上安装 Elastic 栈中的 Kibana
7 0
第一次使用ECS的过程
为方便做毕业设计的过程中向导师展示进度,开始接触云服务器,本篇文章主要记录了一下我的学习过程。
30 0
+关注
1703
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载