当前位置: 首页 > 科技观察

如何使用SSL-TLS保护您的Linux邮件服务

时间:2023-03-15 21:15:25 科技观察

通过了解安全证书保护您的Linux邮件服务。通常,无论您是通过简单邮件传输协议(SMTP)还是Internet消息访问协议(IMAP)或邮局协议(POP)发送或接收邮件,邮件服务都默认使用受保护的明文来传输数据。最近,随着数据加密成为越来越多程序的共识,您需要一个安全套接字层/传输层安全(SSL/TLS)安全证书来保护您的邮件服务。首先,快速回顾一下邮件服务和协议的基本流程。邮件通过TCP端口25上的SMTP发送。该协议依赖于DNS邮件交换服务器MaileXchanger(MX)记录的地址信息来传输邮件。邮件到达邮件服务器后,可以通过以下两种服务之一检索:使用TCP端口143的IMAP,或使用TCP端口110的POP3(邮局协议版本3)。但是,以上服务均使用明文传输默认情况下的电子邮件和身份验证信息。这是非常不安全的!为了保护电子邮件数据和身份验证,这些服务添加了一项安全功能,允许它们使用SSL/TLS证书加密数据流和通信。SSL/TLS如何加密数据的细节超出了本文的范围,有兴趣的人可以阅读BryantSon关于Internet安全的文章以了解更多细节。简而言之,SSL/TLS加密是一种基于公钥和私钥的算法。通过添加这些安全功能,这些服务将监听新的TCP端口:服务默认TCP端口SSL/TLS端口SMTP25587IMAP143993POP3110995生成SSL/TLS证书OpenSSL可以生成免费的SSL/TLS证书,或者您也可以从公共证书颁发机构(CA)购买。过去,生成自签名证书非常简单和普遍,但由于越来越重视安全性,除非手动设置,否则大多数电子邮件客户端不信任自签名证书。如果您只是将它用于自己或测试,请使用自签名证书来节省一些钱。但是如果很多人或者客户需要使用的话,最好是从可信的证书颁发机构购买。无论哪种情况,开始请求新证书的过程都是使用Linux系统上的OpenSSL工具创建证书签名请求mail.mydomain.pem值得一提的是,.pem文件后缀代表PrivacyEnhancedMail隐私增强邮件。您现在拥有保护邮件服务所需的所有文件:私钥文件mail.mydomain.key和组合的公共证书文件mail.mydomain.pem。为您的文件创建一个安全文件夹无论您的证书是自签名的还是从机构购买的,您都需要为这两个文件创建一个安全的、管理员拥有的文件夹。这可以使用以下命令生成:$mkdir/etc/pki/tls$chownroot:root/etc/pki/tls$chmod700/etc/pki/tls将文件复制到/etc/pki/tls后,设置这些又是文件权限:$chmod600/etc/pki/tls/*配置你的SMTP和IMAP服务接下来,让SMTP和IMAP服务使用新的安全证书。我们以postfix和dovecot为例。使用您喜欢的编辑器编辑/etc/postfix/main.cf文件。添加以下行:smtpd_use_tls=yessmtpd_tls_cert_file=/etc/pki/tls/mail.mydomain.pemsmtpd_tls_key_file=/etc/pki/tls/mail.mydomain.key自定义选项以下选项可以启用或禁用各种加密算法、协议等.等:smtpd_tls_eecdh_grade=strongsmtpd_tls_protocols=!SSLv2,!SSLv3,!TLSv1,!TLSv1.1smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3,!TLSv1,!TLSv1.1smtpd_tls_mandatory_ciphers=highsmtpd_tls_security_level=maysmtpd_tls_ciphers=hightls_preempt_cipherlist=yessmtpd_tls_mandatory_exclude_ciphers=aNULL,MD5,DES,ADH,RC4,PSD,SRP,3DES,eNULLsmtpd_tls_exclude_ciphers=aNULL,MD5,DES,ADH,RC4,PSD,SRP,3DES,eNULLsmtp_tls_mandatory_protocols=!SSLv2,!SSLv3,!TLSv1,!TLSv1.1smtpv3,SSLv1smtp!SLS!TLSv2,=,!TLSv1.1编辑/etc/dovecot/dovecot.conf文件并添加以下三行:ssl=requiredssl_cert=