2.2.3.2 postfix与TLS、SASL

来源:互联网 发布:斗鱼程序员 工资待遇 编辑:程序博客网 时间:2024/06/03 21:48

和其他的类Unix软件一样,postfix需要结合其他的软件来实现整体功能。postfix本身集中实现MTA和MDA的功能,TLS、SASL等功能由其他程序实现,典型的如openss、CyrusSASL等。postfix本身可以提供反垃圾设置,但实际生产环境经常需要结合其他反垃圾模块或脚本才能实现可靠的反垃圾功能。

 

         smtp协议本身比较较简单,并没有对验证和加密等功能做规定,所以不能假设邮件服务器一定采用了TLS或SASL。也就是即便自己的邮件服务器开启了TLS(端口465),也不能封掉25端口,这会阻碍其他邮件服务器给自己发信。但同时保留25和465端口,则无法阻止安全意识差的用户在服务器提供TLS的情况下自己不使用TLS连接。

 

TLS是一个安全方面的基础协议,建立在SSL协议之上,用来保障网络通信的安全。配置好TLS功能的postfix的网络通信被加密保护。

 

         由于postfix本身不实现TLS和SASL协议,所以smtpd.c中的相关实现部分相当于“客户端”,负责和TLS和SASL服务器通信,由SASL和TLS服务器完成加密的实际功能。如tls_server.c中的tls_server_start函数会打开与ssl服务器的连接,它最终调用OpenSSL的API函数SSL_set_fd完成连接工作。

 

具体的OpenSSL和Cyrus-SASL客户端编程方法可以参考官方编程接口页面:

https://www.openssl.org/docs/manmaster/ssl/

https://cyrusimap.org/docs/cyrus-sasl/2.1.25/draft-newman-sasl-c-api-xx.txt

0 0
原创粉丝点击