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

sendmail邮件服务器配置加密

继上篇文章配置了简单的邮件服务器,但是当接收发邮件是容易被抓包获取到我们的敏感信息,为此这篇文章讨论一下邮件服务器的加密?xml:namespace①Pop3s加密协议端口为995②通过startts工作在smtp协议的25端口加密当收件人接受邮件时开启咱们的wiresha

继上篇文章配置了简单的邮件服务器,但是当接收发邮件是容易被抓包获取到我们的敏感信息,为此这篇文章讨论一下邮件服务器的加密 ?xml:namespace>

① Pop3s加密协议 端口为995

② 通过startts工作在smtp协议的25端口加密

当收件人接受邮件时开启咱们的wireshark抓包工具,看看能不能获得敏感信息。

tshark -ni eth0 -R "tcp.port eq 110"

如上可以获得到收信人的账户和密码

下面我们做的主要工作时防止被人抓包获取敏感信息。。

1、 创建CA认证中心

(1)编辑/etc/pki/tls/openssl.cnf文件 修改如下几行为如下:

45 dir                        = /etc/pki/CA

88 countryName               = optional

89 stateOrProvinceName        = optional

90 organizationName           = optional

(2)cd /etc/pki/CA

[root@RHEL CA]# mkdir crl certs newcerts

[root@RHEL CA]# touch index.txt serial

[root@RHEL CA]# echo "01" serial

(3)创建自己的私钥

[root@RHEL CA]# openssl genrsa 1024 >private/cakey.pem

Generating RSA private key, 1024 bit long modulus

.....++++++

................++++++

e is 65537 (0x10001)

(4)生产证书

[root@RHEL CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem

[root@RHEL CA]# chmod 600 private/*

(5)创建用于存放邮件服务器的证书目录

mkdir /etc/mail/certs  

(6)产生私钥

[root@RHEL certs]# openssl  genrsa 1024 > mail.key

Generating RSA private key, 1024 bit long modulus

....................................++++++

...++++++

e is 65537 (0x10001)  

(7)请求

[root@RHEL certs]# openssl req -new -key mail.key -out mail.csr

(8)颁发证书

[root@RHEL certs]# openssl ca -in mail.csr -out mail.cert

(9)vim /etc/dovecot.conf

去掉注释,并修改为如下:

ssl_cert_file = /etc/mail/certs/mail.cert

ssl_key_file = /etc/mail/certs/mail.key

(10)重启dovecot服务

(11)outlook客户端启用SSl安全连接如下:

tshark -ni eth0 -R "tcp.port eq 995"

接受邮件时,再次抓包已经获取不到了敏感数据

有发才有收,所以在发送邮件时,也可能被被人监听

下面实现发送加密 即 在smtp的25端口实现加密

(1) 产生私钥、创建请求、颁发证书如上述的(6)(7)(8)三的步骤 只是创建请求时写smtp.wsm.com ,并修改key的权限为600

实现在smtp的25端口加密的是startts功能

查看是否开启了

还没有

编辑vim /etc/mail/sendmail.mc 如下 ,开启如下5行,并相应的修改

134 DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl

已开启starttls功能

在outlook中启用smtp的ssl安全连接如下:

好了,,此时,你在和mail服务器之间发送和接收邮件应经实现了加密,,最好在给客户机发一个根证书。


推荐阅读
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • 在尝试使用 Android 发送 SOAP 请求时遇到错误,服务器返回 '无法处理请求' 的信息,并指出某个值不能为 null。本文探讨了可能的原因及解决方案。 ... [详细]
  • flea,frame,db,使用,之 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
  • Linux系统快捷键大全及使用技巧
    本文详细介绍了Linux系统中的各种快捷键,包括命令行和VIM编辑器中的常用快捷键,帮助用户提高操作效率。同时,文章还提供了关于字体配置、软件安装等方面的实用信息。 ... [详细]
author-avatar
袁甲2012_498
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有