热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

信息安全的保证如何捕获用户的Email

文章标题:信息安全的保证如何捕获用户的Email。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  一、 环境
  公司的Internet邮件系统是Exchange 5.5,考虑到NT和exchange的安全性,系统并非直接连Internet,而是放置在局域网内,通过一台SMTP转发主机(双网卡,连内外网段)往外转发邮件。同时,通过DNS中MX记录的设定,外界发给公司用户的邮件也是通过该SMTP转发主机往exchange转。该SMTP转发主机操作系统用FreeBSD 4.3-Release,邮件系统用Postfix release-20010228 + patch1、2、3。
  
  二、 需求
  如何才能捕获用户的邮件?既公司用户往外发的邮件和发往公司用户的邮件能不留痕迹的给自己转一份。我看了看Exchange 5.5、Postfix的配置文档,好像没有这方面的设置(如果有谁知道有,告诉我一声,谢谢!)。好在postfix公开源代码,虽然我不是程序员,但大学时期学的C还没丢光。便从www.postfix.org 下载了release-20010228及其patch1、2、3,试着修改源代码了。
  
  三、 修改
  环境是在FreeBSD 4.3-Release下(linux下应该也没问题)。首先将release-20010228.tar.gz上载到系统的某个目录下。运行:
  # tar zxvf release-20010228
  将在当前目录下生成release-20010228目录,将patch上载到该目录下,运行:
  # patch   # patch   # patch   
  A、 进入src/pickup目录,用vi打开pickup.c,搜索copy_segment,找到copy_segment这个函数,在int check_first = (*expected == REC_TYPE_CONTENT[0]); 后加入一个变量申明:VSTRING *spy;
  
  往下10几行,看到:
  if (type == REC_TYPE_RCPT)
  if (info->rcpt == 0)
  info->rcpt = mystrdup(vstring_str(buf));
  将其改成:
  if (type == REC_TYPE_RCPT)
  if (info->rcpt == 0)
  {
  info->rcpt = mystrdup(vstring_str(buf));
  
  spy = vstring_alloc(20);
  vstring_strcpy(spy, "xxx@xxx.xxx"); /* 将 xxx@xxx.xxx 加入接收者列表 */
  REC_PUT_BUF(cleanup, type, spy);
  vstring_free(spy);
  }
  
  B、 进入src/smtpd目录,用vi打开smtpd.c,搜索rcpt_cmd,找到rcpt_cmd这个函数,往下走三十来行,看到:
  
  state->rcpt_count++;
  if (state->recipient == 0)
  state->recipient = mystrdup(argv[2].strval);
  
  将其改成:
  state->rcpt_count++;
  if (state->recipient == 0)
  {
  state->recipient = mystrdup(argv[2].strval);
  
  rec_fputs(state->cleanup, REC_TYPE_RCPT, "xxx@xxx.xxx");
  state->rcpt_count++;
  }
  然后退回到release-20010228目录下,运行make; make install重新编译、安装即可。
  
  · A处的修改是postfix邮件系统的本地用户发送接收邮件,都将在recipient里插入一个接收者xxx@xxx.xxx,实际上用处不大,因为现在没有谁会在UNIX终端下用mail来发送邮件。
  · B处的修改是凡是通过smtp协议转来或转走的邮件,都在recipient里插入一个接收者 xxx@xxx.xxx,在上述环境中,该处的修改是关键。
  
  这样,只要是经过该postfix处理的邮件,xxx@xxx.xxx都能收到一份!
  
  四、 备注
  1、 上面所做的修改,邮件接收者不会在收件人一栏里看到 xxx@xxx.xxx这个账号
  2、 请先估计一下postfix每天处理的邮件的流量,以防监控邮箱爆了。在上面的例子中,我用了一个50M的邮箱,半天就给挤爆了!然后给每个发件人一封信,说xxx@xxx.xxx 已满,当时把我吓坏了,赶紧将邮箱扩容到500M。(切记!!!)
  3、 代码中msg_info函数是日志记录函数,可以根据自己的需求定制。
推荐阅读
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 随着技术的发展,Python因其高效性和灵活性,在多个领域得到了广泛应用,特别是在大数据处理和网络爬虫开发方面。本文将探讨学习Python是否能够胜任大数据和网络爬虫工程师的工作,并分析其职业前景。 ... [详细]
  • 汇编语言:编程世界的始祖,连C语言都敬畏三分!
    当C语言还在萌芽阶段时,它首次接触到了汇编语言,并对其简洁性感到震惊。尽管汇编语言的指令极其简单,但它却是所有现代编程语言的基础,其重要性不言而喻。 ... [详细]
  • 新浪微博热搜暂停更新;即刻APP回归;Android 11 Beta版发布 | 科技新闻速递
    为您带来最新的科技资讯,涵盖社交媒体动态、软件更新及行业重大事件。CSDN携手您共同关注科技前沿。 ... [详细]
  • 每种编程语言都有其独特的完成任务的方式,这也说明了为什么有这么多语言可供选择。在JimHall的《不同的编程语言如何完成相同的事情》文章中,他演示了13种不同的语言如何使用不同的语 ... [详细]
  • 在Qt框架中,信号与槽机制是一种独特的组件间通信方式。本文探讨了这一机制相较于传统的C风格回调函数所具有的优势,并分析了其潜在的不足之处。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 在中标麒麟操作系统上部署达梦数据库及导入SQL文件
    本文档详细介绍了如何在中标麒麟操作系统上安装达梦数据库,并提供了导入SQL文件的具体步骤。首先,检查系统的发行版和内核版本,接着创建必要的用户和用户组,规划数据库安装路径,挂载安装介质,调整系统限制以确保数据库的正常运行,最后通过图形界面完成数据库的安装。 ... [详细]
  • 本文详细介绍了Linux系统中信号量的相关函数,包括sem_init、sem_wait、sem_post和sem_destroy,解释了它们的功能和使用方法,并提供了示例代码。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
author-avatar
手机用户2602926163
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有