邮件服务器

SMTP:简单邮件传输协议 基于tcp 监听25端口

POP3:邮局协议  Post Office Protocol   基于tcp 监听110端口

IMAP4:互联网邮件访问协议 Internet Mail Access Protocol  基于tcp 监听143端口

MIME 多用户多功能互联网邮件扩展Multipurpose Internet Mail Extensions

MUA:邮件用户代理 Mail User Agent   常用的:Outlook,mutt,OE

MTA :提供SMTP SERVER 邮件传输代理 Mail Transfer Agent  是个统称 能够提供SMTP服务的服务器都叫MTA    软件Exchange  Sendmail  Lotus Note Domino  Postfix  Qmail   Exim

/var/mail目录下用户均有文件

MDA 邮件投递代理 Mail Delivery Agent 提供此服务的软件:procmailmaildrop

MAA :邮件访问代理 Mail Access Agent   

提供POP3IMAP4服务的软件: courrier-imapdovecot   

MSA:邮件提交代理

SASL:简单认证安全层   Simple Authentication Secure Layer 是种协议 

clamav  病毒邮件扫描器 发现有毒的话则进行标示   

caller 呼叫器: mimedefangmailscanneramavisd-new 

用户的邮箱是个存储空间 类型:mboxmaildir 

构建邮件服务器 三个软件 sendmailpostfixexim 

发邮件:mail -v 后跟发给谁 或者echo “文件正文” |mail -s ‘邮件主题’ 发给谁

允许其他主机发邮件的话 需要sendmailsendmail-cfsendmail-docm4软件包

sendmail所有配置文件都在/etc/mail  主配置文件是sendmail.cf

在配置文件sendmail.mc中的116行改变文件 使其可对外服务

但是邮件服务器默认从主机到主机  access中定义的有 如果允许谁发邮件 则在其中定义

sendmail不会识别access文件 要转换成access.db  重启服务自动转换

邮件别名

neil@station181.example.com à aa@station181.example.com  把发给neil的都转给aa

邮件别名在/etc/aliases  格式: neil  aa  或者写全称

这个文件不被识别 可以手动转换 newaliases   但是重启服务自动转换

可以群发 /etc/aliases 格式:随便一名字:  要群发的对象(用户间用逗号隔开)

用到的被改的文件:(前面为使用的文件,后面是实则改动的文件)

sendmail.cf:sendmail.mc   access.db:access    local-host-names    /etc/aliases.db:/etc/aliases

这些是用来发邮件的 用来接收邮件 必须安装接收邮件的包

dovecot 用来接收邮件 属于MAA 提供以下四种服务:pop3imap4popsimaps

dovecot主配置文件在/etc/dovecot.conf文件  找到protocols 来定义启动什么服务

telnet受邮件时  telnet 后跟服务器地址 后跟端口号110

进入后USER后跟用户名  PASS后跟密码  LIST查看邮箱邮件数  RETR后跟数字表示查看哪一封邮件

mutt接收邮件  格式例如mutt -f pop://aa@station75.example.com

如何实现sendmail发邮件时的地址伪装

如果发件人有多个名字  在发邮件时统一名称

主配置文件/etc/mail/sendmail.mc   伪装地址修改MASQUERADE选项  启用以FEATURE开头的选项

如何让sendmail支持smtpssasl

smtps监听465端口   用到证书

sasl  进程名字:saslauthd  /usr/lib/sasl2目录中的配置文件说明下密码检测方法 Sendmail.conf中添加mech_list:login plain

编码方式  echo  -n“被编码内容” | openssl base64

imaps监听993端口 pop3s监听995端口

提供加密的imapspop3s服务  pop3àpop3s   imapàimaps

创建 CA的步骤:cd /etc/pki/CA 

openssl genrsa 1024 > private/cakey.pem生成私钥文件保留在此目录下

生成自签证书 生成前把/etc/pki/tls/openssl.cnf中的CA路径修改一下以及默认项 openssl req -new  -x509  -key  private/cakey.pem  -out  cacert.pem  -days 6500

修改文件权限为600 cacert.pem  private/cakey.pem

/etc/pki/CA创建三个目录 certsnewcertscrl  再创建三个文件 serialindex.txt   echo 00 > serial

抓包工具:wireshark  抓包格式:tshark -ni eth0 -R “抓包条件

例如:tshark -ni eth0 -R "tcp.srcport eq 110 or tcp.dstport eq 110"

纯粹为了测试使用的证书建立方法:

/etc/pki/tls/certs make命令创建证书 例如make dovecot.pem

Postfix:和sendmail相同作用但是功能更大效率更高

Postfix是模块化设计  其中master进程最重要,是核心进程 在其管理下有很多子进程 postfix启动时第一个启动的进程。   master.cf    main.cf记录这些子进程在完整的实现一个邮件系统的时候所用到的服务参数   parameter = value(定义的值)

postconf –n 查看修改过的参数  postconf –d 查看默认参数  postconf 显示所有生效的选项

postconf –e  可以修改需要的参数为自己所需 vim修改比较常用

查看main.cf接受哪些参数哪些命令 man postconf 配置文件第五行 man后加5

安装postfix 启动服务前要卸载sendmail rpm –e sendmail –nodeps 忽略依赖关系强行卸载

主配置文件/etc/postfix/main.cf  inet_interfaces选项指定监听的接口地址,多个接口用逗号隔开

NSS:名称服务转换

PAM:可插拔式认证模块

/lib/security下放着所有PAM可配置模块  

/etc/pam.d下有和模块名对应的进程

常见的模块:pam_unix.so 是完全实现认证的模块 实现本地用户在登录时认证的