设置Postfix MTA和IMAP _ POP3 在CentOS 7上安装MySQL Linux安装匿名FTP 为了从我们的CentOS7服务器发送电子邮件,我们将需要安装程序来配置现代邮件传输代理(MTA)。邮件传输代理是负责通过SMTP为系统用户或企业Internet域发送出站邮件的守护进程。 值得注意的是,本教程只讲授为本地使用设置守护进程的过程。我们没有详细介绍为商业运营设置MTA的高级配置。这是许多技能的组合,包括但不限于:DNS,获取未列入黑名单的静态可路由IP地址,以及配置高级安全和服务设置。简而言之,本教程旨在让您熟悉基本配置。请勿将本教程用于面向Internet的主机的MTA配置。 由于其兼顾安全性和易管理性,我们选择了 Postfix 作为本教程的MTA。在较早版本的CentOS中安装的默认MTA是 Sendmail 。 Sendmail 是一个很棒的MTA。然而,在作者愚蠢的观点中,Postfix在解决MTA的以下注释时碰到了一个甜蜜点。使用最新版本的CentOS,Postfix已经取代了Sendmail作为默认的MTA。 Postfix是一个广泛使用和有据可查的MTA。它积极维护和发展。它需要最少的配置(这只是电子邮件),并且对系统资源有效(再次,这只是电子邮件)。 第1步 - 从YUM Package Manager安装Postfix。 [root@centos]# yum -y install postfix 第2步 - 配置Postfix配置文件。 Postfix配置文件位于: /etc/postfix/main.cf 中 在一个简单的Postfix配置中,必须为特定主机配置以下内容:主机名,域,原点,inet_interfaces和目标。 配置主机名 - 主机名是Postfix主机的完全限定域名。 在OpenLDAP章节中,我们将域名 vmnet.local 命名为CentOS框:centos 。让我们坚持这一章。 # The myhostname parameter specifies the internet hostname of this # mail system. The default is to use the fully-qualified domain name # from gethostname(). $myhostname is used as a default value for many # other configuration parameters. # myhostname = centos.vmnet.local 配置域 - 如上所述,我们将在本教程中使用的域是 vmnet.local # The mydomain parameter specifies the local internet domain name. # The default is to use $myhostname minus the first component. # $mydomain is used as a default value for many other configuration # parameters. # mydomain = vmnet.local 配置原点 - 对于设置的单个服务器和域,我们只需取消注释以下部分并保留默认的Postfix变量。 # SENDING MAIL # # The myorigin parameter specifies the domain that locally-posted # mail appears to come from. The default is to append $myhostname, # which is fine for small sites. If you run a domain with multiple # machines, you should (1) change this to $mydomain and (2) set up # a domain-wide alias database that aliases each user to # user@that.users.mailhost. # # For the sake of consistency between sender and recipient addresses, # myorigin also specifies the default domain name that is appended # to recipient addresses that have no @domain part. # myorigin = $myhostname myorigin = $mydomain 配置网络接口 - 我们将让Postfix在我们的单一网络接口以及与该接口关联的所有协议和IP地址上进行监听。 这是通过简单地保留为Postfix启用的默认设置完成的。 # The inet_interfaces parameter specifies the network interface # addresses that this mail system receives mail on. By default, # the software claims all active interfaces on the machine. The # parameter also controls delivery of mail to user@[ip.address]. # # See also the proxy_interfaces parameter, for network addresses that # are forwarded to us via a proxy or network address translator. # # Note: you need to stop/start Postfix when this parameter changes. # #inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost #inet_interfaces = localhost # Enable IPv4, and IPv6 if supported inet_protocols = all 第3步 - 为Postfix配置SASL支持。 如果没有SASL身份验证支持,Postfix将只允许从本地用户发送电子邮件。或者,当用户从本地域发送电子邮件时,它会导致 中继拒绝 错误。 注 - SASL 或 简单应用程序安全层框架 是为支持不同应用层协议之间不同技术的认证而设计的框架。SASL开发人员(和消费者)不是将认证机制留给应用层协议,而是使用当前的认证协议来处理更高级别的协议,这些协议可能没有内置的便利或更安全的认证(当谈到对安全服务的访问时)。 安装“cyrus-sasl * ” 软件包 [root@centos]# yum -y install cyrus-sasl Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: repos.forethought.net * extras: repos.dfw.quadranet.com * updates: mirrors.tummy.com Package cyrus-sasl-2.1.26-20.el7_2.x86_64 already installed and latest version Nothing to do 为SASL Auth 配置 /etc/postfix/main.cf smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth 我的SASL选项在 main.conf 中a ##Configure SASL Options Entries: smtpd_sasl_auth_enable = yes smptd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination smtp_sasl_type = dovecot smtp_sasl_path = private/auth/etc 步骤4 - 配置FirewallD以允许传入的SMTP服务。 [root@centos]# firewall-cmd --permanent --add-service=smtp success [root@centos]# firewall-cmd --reload success [root@centos]# 现在我们来检查一下,以确保我们的CentOS主机允许并响应端口25(SMTP)上的请求。 Nmap scan report for 172.16.223.132 Host is up (0.00035s latency). Not shown: 993 filtered ports PORT STATE SERVICE 20/tcp closed ftp-data 21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 80/tcp open http 389/tcp open ldap 443/tcp open https MAC Address: 00:0C:29:BE:DF:5F (VMware) 正如您所看到的,SMTP正在监听,守护进程正在响应来自内部局域网的请求。 安装Dovecot IMAP和POP3服务器 Dovecot是一个安全的IMAP和POP3服务器,用于处理从较小到较大组织的传入邮件需求。由于其与CentOS的广泛使用,我们将使用Dovecot作为为CentOS和MTA SASL Provider安装和配置传入邮件服务器的示例。 如前所述,我们不会为DNS配置MX记录,也不会创建安全规则,允许我们的服务处理域的邮件。因此,只需在面向主机的互联网上设置这些服务,就可能会出现无SPF记录的安全漏洞。 第1步 - 安装Dovecot。 [root@centos]# yum -y install dovecot 第2步 - 配置dovecot。 dovecot的主要配置文件位于: /etc/dovecot.conf 。我们将首先备份主配置文件。在编辑之前始终备份配置文件是一种很好的做法。这种方式的id(例如)换行符被文本编辑器破坏,并且多年的更改都会丢失。将当前备份复制到生产中时,恢复很容易。 为 dovecot 启用协议和守护程序服务 __ # Protocols we want to be serving. protocols = imap imaps pop3 pop3s 现在,我们需要启用dovecot守护进程来启动监听 - [root@localhost]# systemctl start dovecot [root@localhost]# systemctl enable dovecot 让我们确保Dovecot在指定的端口上本地监听:imap,pop3,imap secured和pop3。 [root@localhost]# netstat -antup | grep dovecot tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 4368/dovecot tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 4368/dovecot tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 4368/dovecot tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 4368/dovecot tcp6 0 0 :::110 :::* LISTEN 4368/dovecot tcp6 0 0 :::143 :::* LISTEN 4368/dovecot tcp6 0 0 :::993 :::* LISTEN 4368/dovecot tcp6 0 0 :::995 :::* LISTEN 4368/dovecot [root@localhost]# 如图所示, dovecot 正在侦听指定的IPv4和IPv4端口。 POP3 110 POP3s 995 IMAP 143 IMAPs 993 现在,我们需要制定一些防火墙规则。 [root@localhost]# firewall-cmd --permanent --add-port=110/tcp success [root@localhost]# firewall-cmd --permanent --add-port=143/tcp success [root@localhost]# firewall-cmd --permanent --add-port=995/tcp success [root@localhost]# firewall-cmd --permanent --add-port=993/tcp success [root@localhost]# firewall-cmd --reload success [root@localhost]# 我们收到的邮件服务器被接受的请求 POP3 , 则POP3 , IMAP 和 IMAPS 到局域网内的主机。 Port Scanning host: 192.168.1.143 Open TCP Port: 21 ftp Open TCP Port: 22 ssh Open TCP Port: 25 smtp Open TCP Port: 80 http Open TCP Port: 110 pop3 Open TCP Port: 143 imap Open TCP Port: 443 https Open TCP Port: 993 imaps Open TCP Port: 995 pop3s 在CentOS 7上安装MySQL Linux安装匿名FTP