设置电子邮件服务(SMTP,Imap和Imaps)和限制访问SMTP  - 第7部分

一个联邦经济竞争法 (Linux基金会认证工程师 )是一个训练有素的专业谁拥有安装,管理,并在Linux系统解决网络服务的技能,并负责设计,执行和系统架构和用户管理的持续维护。

Linux基础认证工程师 - 第7部分

Linux基础认证计划简介。

在前面的教程中,我们讨论了如何安装邮件服务的必要组件。 如果你还没有安装PostfixDovecot的呢,请参阅本系列第1部分的说明,在继续之前这样做。

需求

  1. 安装Postfix邮件服务器和Dovecot - 第1部分

在本文中,我将向您介绍如何配置邮件服务器以及如何执行以下任务:

  1. 设置电子邮件别名
  2. 配置IMAP和IMAPS服务
  3. 配置Smtp服务
  4. 限制对smtp服务器的访问

注意 :我们的安装将只支付本地区域网络中的机器属于同一个域的邮件服务器。 向其他域发送电子邮件需要更复杂的设置,包括域名解析功能,这超出了LFCE认证的范围。

但首先,让我们从几个定义开始。

邮件发送,运输和交付过程的组件

下图说明了电子邮件传输从发件人开始到邮件到达收件人的收件箱的过程:

电子邮件传输的过程

为了做到这一点,在幕后发生了几件事情。 为了使电子邮件消息从客户端应用程序(例如Thunderbird,Outlook或Webmail服务(如Gmail或Yahoo! Mail))传送到他/她的邮件服务器,并从那里到目标服务器,最后到其预期收件人,必须在每个服务器中安装SMTP(简单邮件传输协议)服务。

在谈论电子邮件服务时,您会发现以下常用的术语:

消息传输代理 - MTA

MTA(简称邮件邮件传输代理 ),又名邮件转发,是一个软件,负责从服务器传输电子邮件发送到客户端(和其他方式也一样)的。 在本系列中,Postfix充当我们的MTA。

邮件用户代理 - MUA

MUA邮件用户代理是用于访问和管理用户的电子邮件收件箱的计算机程序。 MUA的示例包括但不限于Thunderbird,Outlook和web邮件界面,例如Gmail,Outlook.com等等。 在本系列中,我们将在我们的示例中使用Thunderbird。

邮件传递代理

MDA(简称信息邮件传送代理 )是实际传递电子邮件发送到用户的收件箱软件的一部分。 在本教程中,我们将使用Dovecot作为我们的MDA。 Dovecot也将处理用户身份验证。

简单邮件传输协议 - SMTP

为了使这些组件能够“ 对话 ”对方,他们必须“ 说话 ”一样语言 ”(或协议),即SMTP( 简单邮件传输协议 )中的定义, RFC 2821中 ,最有可能的,你将在设置您的邮件服务器环境时引用该RFC。

我们需要考虑到其他协议IMAP4(Internet消息访问协议 ),它允许直接在服务器上管理电子邮件无需下载到客户的硬盘驱动器,POP3( 邮局协议 ),它允许下载消息和文件夹复制到用户的计算机。

我们的测试环境

我们的测试环境如下:

邮件服务器设置
Mail Server OS	: 	Debian Wheezy 7.5 
IP Address	:	192.168.0.15
Local Domain	:	example.com.ar
User Aliases	:	sysadmin@example.com.ar is aliased to gacanepa@example.com.ar and jdoe@example.com.ar
客户端机器设置
Mail Client OS	: 	Ubuntu 12.04
IP Address	:	192.168.0.103

在我们的客户 ,我们已经建立了基本的DNS解析将下面的行到/ etc / hosts文件。

192.168.0.15 example.com.ar mailserver

添加电子邮件别名

默认情况下,发送到特定用户的邮件应仅传递给该用户。 但是,如果你想它也提供给一组用户为好,或者给不同的用户,可以创建一个邮件别名,或使用在/ etc /Postfix/别名一个现有的,按照以下语法:

user1: user1, user2

因此,发送到USER1的电子邮件也将被发送到用户2。 请注意,如果你省略单词USER1冒号后,如

user1: user2

发送到用户1的消息将只发送给用户2,而不是为user1。

在上面的例子中, 用户1用户2应该已经在系统中存在。 你可能想,如果你需要添加新用户之前,刷新你的记忆来指LFCS系列的第8部分

  1. 如何在Linux中添加和管理用户/组
  2. 15在Linux中添加用户的命令

在我们的具体情况,我们将使用以下别名如前所述(添加在/ etc / aliases中下面的行)。

sysadmin: gacanepa, jdoe

并运行以下命令以创建或刷新别名查找表。

postalias /etc/postfix/aliases

因此,发送至sysadmin@example.com.ar信息将被传递到上面列出的用户的收件箱。

配置Postfix - SMTP服务

Postfix的主配置文件是/etc/postfix/main.cf文件 您只需设置几个参数,然后才能使用邮件服务。 然而,你应该成为熟悉完整的配置参数,以建立一个安全的,完全定制的邮件服务器(可以与人类5 postconf上市)。

:本教程只应该让你在这个过程中开始,并不代表Linux的电子邮件服务的综合指南。

您选择的编辑器打开/etc/postfix/main.cf中的文件和解释不以下更改。

# vi /etc/postfix/main.cf

1。myorigin规定出现在从服务器发送邮件的域名。 您可能会看到这个参数用来在/ etc /邮件名为文件。 如果需要,随意编辑它。

myorigin = /etc/mailname

配置Myorigin

如果上述数值时,邮件将发送user@example.com.ar,其中用户发送消息的用户。

2。mydestination列出的信息是域这台机器将在本地传递,而不是转发到另一台机器(作为中继系统)的电子邮件。 在我们的情况下,默认设置就足够了(确保编辑文件以适合您的环境)。

配置Mydestination

凡在/ etc /Postfix/运输文件定义域和下一个服务器之间的关系到邮件应被转发。 在我们的情况下,由于我们将仅向我们的局域网传递消息(因此绕过任何外部DNS解析),以下配置就足够了。

example.com.ar    local:
.example.com.ar    local:

接下来,我们需要把这个纯文本文件转换为.db的格式,它创建查找表Postfix将实际使用来知道如何处理传入和传出邮件做。

# postmap /etc/postfix/transport

如果向相应的文本文件中添加更多条目,则需要记住重新创建此表。

3。mynetworks定义了授权网络Postfix将从转发。 默认值subnet告诉Postfix从与本地计算机相同的IP子网中的SMTP客户端转发邮件。

mynetworks = subnet

配置Mynetworks

4。relay_domains指定哪些电子邮件应当被发送到的目的地。 我们将保持默认值不变,这指向mydestination。 记住,我们正在为我们的LAN设置邮件服务器。

relay_domains = $mydestination

请注意,您可以使用$ mydestination中列出,而不是实际的内容。

配置中继域

5。inet_interfaces其中网络接口的邮件服务应监听的定义。 默认值all,告诉Postfix使用所有网络接口。

inet_interfaces = all

配置网络接口

6。最后,mailbox_size_limitmessage_size_limit将被用于设置每个用户的邮箱的尺寸和各个消息,分别允许的最大大小,以字节为单位。

mailbox_size_limit = 51200000
message_size_limit = 5120000

限制对SMTP服务器的访问

postfixSMTP服务器可以申请一定的限制,以每个客户端连接请求。 并非所有的客户端都应该被允许使用SMTP HELO命令自己识别到邮件服务器,当然他们不都应该被授予访问发送或接收消息。

为了实现这些限制,我们将使用下面的指令在main.cf文件。 虽然它们是不言自明的,但是为了澄清的目的添加了评论。

# Require that a remote SMTP client introduces itself with the HELO or EHLO command before sending the MAIL command or other commands that require EHLO negotiation.
smtpd_helo_required = yes
# Permit the request when the client IP address matches any network or network address listed in $mynetworks
# Reject the request when the client HELO and EHLO command has a bad hostname syntax
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname
# Reject the request when Postfix does not represent the final destination for the sender address
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain
# Reject the request unless 1) Postfix is acting as mail forwarder or 2) is the final destination
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Postfix的配置参数postconf页可能会派上用场,以进一步探讨可用的选项。

配置Dovecot

dovecot的安装之后,它支持外的现成的POP3IMAP协议,用自己的安全版本,分别POP3SIMAPS,沿。

在添加文件/etc/dovecot/conf.d/10-mail.conf以下行。

# %u represents the user account that logs in
# Mailboxes are in mbox format
mail_location = mbox:~/mail:INBOX=/var/mail/%u
# Directory owned by the mail group and the directory set to group-writable (mode=0770, group=mail)
# You may need to change this setting if postfix is running a different user / group on your system
mail_privileged_group = mail

如果你检查你的主目录,你会注意到有一个邮件子目录有以下内容。

配置Dovecot

另外,请注意,在/ var /邮件/%U文件是用户的邮件是在大多数系统中存储。

添加下面的指令/etc/dovecot/dovecot.conf(注意,IMAP和POP3暗示IMAPS和POP3S以及)。

protocols = imap pop3

并确保/etc/conf.d/10-ssl.conf包括以下行(否则,添加的话)。

ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

现在,让我们重新开始Dovecot并验证它监听与IMAP,IMAPS,POP3和POP3的端口。

# netstat -npltu | grep dovecot

检查监听端口

设置邮件客户端和发送/接收邮件

在我们的客户端计算机上,我们将打开Thunderbird,然后单击文件新建现有的邮件帐户 系统将提示您输入帐户名称和相关的电子邮件地址及其密码。 当我们点击继续 ,Thunderbird会然后尝试连接到邮件服务器,以便验证设置。

配置邮件客户端

重复上面的一个帐户(gacanepa@example.com.ar)和下面的两个收件箱的过程中应该出现在雷鸟的左窗格中。

用户邮件收件箱

在我们的服务器上,我们会写一封电子邮件给系统管理员 ,这是别名JDOEgacanepa。

从命令行发送邮件

邮件日志(/var/log/mail.log)似乎表明已发送给系统管理员的电子邮件被传递到jdoe@example.com.ar~~Vgacanepa@example.com.ar,如在下面可以看到图片。

检查邮件状态传送

我们可以验证邮件是否实际传送到我们的客户端,其中IMAP帐户已在Thunderbird中配置。

验证电子邮件

最后,让我们试着从jdoe@example.com.ar消息发送到gacanepa@example.com.ar~~V。

向用户发送消息

在考试中,您将被要求独自使用命令行实用程序。 这意味着你将不能安装一个桌面客户端应用程序,如雷鸟 ,但将需要使用电子邮件来取代。 我们在本章中仅使用Thunderbird作说明。

结论

在这篇文章中,我们介绍了如何设置IMAP邮件服务器为您的局域网以及如何限制访问SMTP服务器。 如果你碰巧同时实施测试环境类似的设置碰到一个问题,你将要检查的在线文档PostfixDovecot (特别是网页有关主配置文件/etc/postfix/main.cf中/等/Dovecot/ dovecot.conf ,分别),但在任何情况下,不要犹豫,使用下面的评论表单与我联系。 我会很乐意帮助你。

成为Linux认证工程师
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏