让你的邮件更安全 加密保护邮件服务器

SSL(Security Socket Layer)协议由Netscape公司设计开发,主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变(即数据的完整性),现已成为该领域中全球化的标准。

Stunnel是一款可以加密网络数据的TCP连接工具,可工作在Unix、Linux和Windows平台上,采用Client/Server模式,将CIient端的网络数据采用SSL加密,安全传输到指定的Server端再进行解密还原,然后发送到访问的服务器。

StunneI很好地解决了SSL不能对现有旧的应用程序传输数据加密的问题。在Stunnel出现之前,要实现安全的数据传输,只能依靠在应用程序之中添加SSL代码的方式来提高安全性。Stunnel基于OPenSSL,所以要求安装OpenSSL,并进行正确的配置。Stunnel可以向不启用SSL的服务器端软件提供保护却不需对守护进程的编码做任何修改,Stunnel的工作原理如图所示。例如,可以使用Stunnel保护POP3、SMTP和IMAP服务器。StunneI最新版本为stunel-4.33.tar.gz,其官网为www.stunnel.org。

1.安装编译Stunnel

StunneI安装非常简单,笔者在此就不在累赘,使用下面的命令完成对StunneI的安装:

#wget http://www.stunnel.org/download/stunnel/src/stunnel-4.33.tar.gz   
#tar zxvf stunel-4.33.tar.gz   
#./configure;make;make install

图Stunnel工作原理

下面使用Stunnel封装一些流行的邮件服务器。

2.保障IMAP安全

IMAP(Internet MessageAccess Protocol)是用户从不同的计算机访问邮件的一种方式。其工作方式为在一台中央计算机上存储信息,并且允许用户访问信息的一个拷贝。用户可以让本地工作站和服务器同步, 此外也可以为邮件创建一个文件夹, 并且具有完全的访问权限。通过Stunnel封装IMAP有两种方法。

1).通过stunnel直接运行IMAP服务

如果有使用SSL协议连接的IMAP客户端,则推荐使用这种方法。首先关闭imapd守护进程,然后使用重启脚本(/etc/rc.d/rc.1ocal)中的命令行代替imapd,使用如下命令:

/usr/sbin/stunel -p /usr/local/ssl/certs/stunel.pem -d 993 -r localhost:143

这个命令使用IMAPS端口(993)上指定的文件运行Stunnel,imapd端口监听程序的代理,在143端口上运行。如果允许非SSL IMAP客户端连接到标准的IMAP端口(143),可以配置SSL IMAP客户端连接到端口I MAPS(993)代替:

/usr/sbin/stunel -p /usr/local/ssl/certs/stunel.pem -d 993 -l /usr/sbin/imapd

2).使用xinetd运行安全的IMAP

从守护进程的概念可以看出,对于系统所要通过的每一种服务,都必须运行监听某个端口连接所发生的守护进程,这通常意味着资源浪费。

为了解决这个问题,Linux引入了”网络守护进程服务程序” 的概念。xinetd能够同时监听多个指定的端口,在接受用户请求时,能够根据用户请求的端口不同,启动不同的网络服务进程处理这些用户请求。可以把xinetd看做一个管理启动服务的管理服务器,把一个客户请求交给程序处理,然后启动相应的守护进程。如果使用xinetd运行IMAP服务,修改配置文件(/etc/xinetd.d/imapd)如下:

service imap   
{   
disable=no   
socket_type=stream   
wait=no   
user=root  
port=143   
server=/usr/sbin/stunel   
server_args=stunel imapd -l /usr/sbin/imapd -imapd   
log_on_succes+=USERID   
log_on_failure+=USERID   
#env=VIRTDOMAIN=virtual.hostname   
}

然后向超级服务程序传递SIGHUP信号,重新载人xinetd配置:

killall -USR1 xinetd

3.保障POP3安全

为了使用SSL连接POP3邮件服务,要重新配置文件脚本如下:

service pop3s   
{   
disable=no   
socket_type=stream   
wait=no   
user=root   
server=/usr/sbin/stunel   
server_args=stunel pop3s -l /usr/sbin/ipop3d -ipop3d   
log_on_success+=USERID   
log_on_failure+=USERID   
}

如果客户端软件不能使用基于SSL的POP3邮件用户代理MUA,则可以使用POP3重新定向的方法。

4.保障sMTP安全

如果一个正在运行的SMTP服务器需要允许出差在外的员工向内部网络发送多个邮件,则可以进行如下设定:

/usr/local/sbin/stunel -d 25 -p /var/lib/ssl/certs/server.pem -r localhost:smtp 

这样就只能保障终端用户和邮件服务器之间的安全SMTP传输。邮件发送到域之外的邮件服务器将不在安全范围之内。

Stunnel安全工具可以为两个网络或多个网络的邮件服务器提供安全保障。即使用户是一个系统管理员,而不是开发者,Stunnel也是一个强大的工具,因为可以向不启用SSL的服务器端软件添加SSL。例如, 以上提到的使用Stunnel保护POP3、SMTP和IMAP服务器。惟一不尽人意的地方是,需要使用这些服务器的安全版本,客户机必须是可识别SSL的。Stunnel也有些局限性, 比如在服务器端, 当前只能够透明地代理Linux客户机。在客户机端,不容易执行充分的证书验证。

【编辑推荐】

  1. 快速建立linux下的vpn服务器做加密代理
  2. 电子邮件安全与S/MIME协议

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/135592.html<

(0)
运维的头像运维
上一篇2025-03-01 16:52
下一篇 2025-03-01 16:53

相关推荐

  • IIS新手指南:配置负载均衡器

    IIS新手指南:配置负载均衡器 IIS新手指南:配置负载均衡器 负载均衡器是一种用于分发网络流量的设备或软件,它可以将流量均匀地分配到多个服务器上,以提高系统的性能和可靠性。在II…

  • IIS新手指南:设置反向代理

    IIS新手指南:设置反向代理 IIS新手指南:设置反向代理 什么是反向代理? 反向代理是一种网络技术,它允许将客户端的请求转发到内部服务器,然后将响应返回给客户端。与正向代理不同,…

  • IIS新手指南:配置CDN集成

    IIS新手指南:配置CDN集成 IIS新手指南:配置CDN集成 什么是CDN? CDN(内容分发网络)是一种通过将内容分发到全球各地的服务器来提高网站性能和可用性的技术。CDN通过…

  • IIS新手指南:实施应用程序池回收

    IIS新手指南:实施应用程序池回收 IIS新手指南:实施应用程序池回收 在使用IIS(Internet Information Services)作为Web服务器时,了解如何正确实…

  • IIS新手指南:配置会话状态设置

    IIS新手指南:配置会话状态设置 IIS新手指南:配置会话状态设置 什么是会话状态? 会话状态是指在Web应用程序中跟踪用户的状态信息的一种机制。通过会话状态,应用程序可以在用户请…

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注