作者:小白也坚强_177 | 来源:互联网 | 2017-07-03 14:32
学习一个服务的流程;
1、此服务器的概述:名字,功能,特点,端口号
2、安装
3、配置文件的位置
4、服务启动关闭脚本,查看端口
5、此服务的使用方法
6、修改配置文件,实战举例
7、服务的安全
8、排错(从下到上,从内到外)
9、模拟错误<对服务的原理要精通>
背景介绍;
RHEL5默认,地位已失
地位失守原因:
第一个重要的缺点是它的安全性较差,这是因为当其作者Eric Allman最初开始写作这个软件的时候,Internet的用户还很少,因而安全性并不没有得到大家的重视。
由于邮件系统需要处理的是外部发送来的各种各样的信息,甚至包含一些恶意数据,然而sendmail在大多数系统中都是以root身份运行,一旦出现问题,就会对系统安全造成严重影响。在这种情况下,要防止出现安全问题,仅仅依赖程序本身是不可取的,应该从系统结构出发,使程序拥有的特殊权限限制到最小。
第二个,使用Sendmail还会遇到的另一个问题是它的设置相当复杂,对于使用缺省设置来收发电子邮件,问题并不存在。当管理员打算进行一些特殊设置,以便利用Sendmail提供的复杂邮件处理能力时,就不得不面对复杂的宏和正则表达式。
Qmail可以替代Sendmail
Qmail,为了解决sendmail的安全问题,整个系统结构需要重新设计。基本的原则是将系统划分为不同的模块,有负责接收外部邮件的,有管理缓冲目录中待发送的邮件队列的,有将邮件发送到远程服务器或本地用户的。Qmail就是按照这个原则进行的设计,它由多个不同功能的小程序组成,只有必要的程序才是setuid程序(即以root用户权限执行),这样就减少了安全隐患,并且由于这些程序都比较简单一些,因此就可以达到较高的安全性。Qmail已经许多年没有更新了,用户已经习惯于通过第三方的插件及补丁来使qmail增加新的功能.
postfix 介绍:
另一种替换软件:Postfix 可以替代sendmail
postfix同样也是采用了模块化的方式,但与Qmail不同的是,Postfix使用了一个主控进程进行监控。Postfix在很多方面都考虑到了安全问题,它甚至不向root分发电子邮件,以避免以root身份读写文件或启动外部程序。考虑到它的作者Wietse Venema曾编写了著名的安全软件TcpWrapper,Postfix的安全性是非常值得信赖的。
Postfix的性能也非常不错,甚至在Qmail作者自己进行的测试中也表明,Postfix的性能和Qmail基本相当。postfix在性能上大约比sendmail快三倍
官网:http://www.postfix.org/
logo
作者:Wietse Venema
作者介绍:http://www.porcupine.org/wietse/
前面我们说的都是邮件发送服务器
接下来我们看看邮件接收服务器
Dovecot: 邮件接收服务器:
Dovecot 是一个开源的 IMAP 和 POP3 邮件服务器,支持 Linux/Unix 系统。
POP / IMAP4 是 MUA 从邮件服务器中读取邮件时使用的协议。
POP3 是从邮件服务器中下载邮件存起来,IMAP 则是将邮件留在服务器端直接对邮件进行管理、操作。比POP3更先进。
由 Timo Sirainen 开发,最初发布于 2002年7月。作者将安全性考虑在第一,所以 Dovecot 在安全性方面比较出众。
IMAP4是TCP/IP协议族中的一员,现在的版本是“IMAP第四版第一次修订版”。
一个完整的邮件服务器由以下内容构成:
postfix(作为发送邮件服务器)+dovecot(作为接收邮件服务器)+mysql(作为数据库)
25 端口:SMTP协议。 发送邮件
是本地邮件传输协议,与SMTP类似,但不支持邮件队列(queue),主要应用于非广域网的邮件网关。
110端口:POP3协议
是本地邮件传输协议,与SMTP类似,但不支持邮件队列(queue),主要应用于非广域网的邮件网关。
143:IMAP
IMAP: (InternetMail Access Protocol Internet邮件访问协议) 。IMAP是斯坦福大学在1986年开发的一种邮件获取协议。它的主要作用是邮件客户端(例如Outlook)可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。
当前的权威定义是RFC3501。IMAP协议运行在TCP/IP协议之上,使用的端口是143。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。两者之前的区别
POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。
而IMAP提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。
邮件功能组件
MUA:邮件用户代理(Mail User Agent) 收邮件
MTA:邮件传输代理(Mail Transfer Agent) 发邮件
rhel5默认采用sendmail做为MTA,rhel6则采用postfix
MDA:邮件递送代理(Mail Delivery Agent)
名称
|
全名
|
基于协议
|
作用
|
常见软件
|
MUA
|
Mail User Agent 用户邮件代理
|
|
替用户收发邮件的
|
Outlook Foxmail Thunderbird mutt
|
MTA
|
Mail Transfer Agent 邮件传输代理
|
SMTP
|
服务器中接受邮件
|
Sendmail qmail postfix(IBM) exchange
|
MDA
|
Mail Deliver Agent 邮件投递代理
|
|
把SMTP收到的邮件投递的用户邮箱
|
Procmail maildrop
|
MRA
|
Mail Retrival Agent邮件检索代理
|
POP3/IMAP
|
帮用户去邮箱取邮件
|
dovecot courier-imap cyrus-imap
|
工作原理图
搭建postfx服务端
[root@post-test ~]# hostname
postfix-server
[root@postfix-server ~]# rpm -qa |grep sendmail
[root@postfix-server ~]# yum remove sendmail -y
[root@postfix-server ~]# alternatives --config mta
共有 1 个提供“mta”的程序。
选项 命令
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.postfix
按 Enter 保留当前选项[+],或者键入选项编号: # 如果有多个输入数字进行选择
[root@postfix-server ~] alternatives --display mta #查看所有详细的版本
[root@postfix-server ~] #yuminstall postfix –y # postfix服务的主程序包,服务器端必须安装该
[root@postfix-server ~] #yuminstall dovecot –y #接收邮件软件包。 安装在服务端用于测试收邮件。 安装客端用于收邮件。
[root@postfix-server ~] #vim /etc/postfix/main.cf
[root@postfix-server ~] # vim/var/log/maillog
[root@postfix-server ~]#service postfix start
[root@postfix-server ~]#lsof -i :25
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODENAME
master 2336 root 12u IPv4 13216 0t0 TCP localhost:smtp (LISTEN)
master 2336 root 13u IPv6 13218 0t0 TCP localhost:smtp (LISTEN)
服务的使用方法:
linux:
发送:
[root@postfix-server ~]# mail -s &#39;Postfix&#39;1684067131@qq.com
var cpro_id = "u6885494";