RSS

  • YouTube
  • LinkedIn
  • 谷歌

Servidor de Email –; 部分 3 ; 多韦科特

这是在 CentOS 上创建邮件服务器过程的第三部分 7. 如果你是偶然来到这里的, 您应该先阅读以前的出版物

部分 1 ; 软件包的安装

部分 2 ; 配置 MariaDB

Dovecot 是 MDA (邮件传递代理) 它是将消息从 Postfix 传输到虚拟邮件框的代理. 在本节中, 我们将配置 Dovecot 安装, 以强制用户在连接时使用 SSL, 以这种方式永远不会在纯文本模式下发送密码.

我总是喜欢保留任何定义的原始文件, 如果我最终在设置过程中迷路. 我可以说, 这一步是不需要的, 如果你正在做本教程完全, 然而, 如果你已经有了以前的配置, 只是用它来改进它, 我强烈建议你复制你的文件.

在我们的案例, 配置文件将在 /奥沃夫奇/. 然后, 我们可以使用命令进行复制:

$ sudo cp -R /etc/dovecot/conf.d /etc/dovecot/conf.d.orig

创建用户

Dovecot 将存储消息 (和您的所有内容) 在您在配置文件中定义的目录中, 他可以这样做, 他必须在具有适当权限的用户下运行. 以下命令将创建此用户和组. 我将使用一个共同的标准的名字, 使其易于搜索解决互联网上的问题的办法.

$ sudo groupadd -g 5000 vmail
$ sudo adduser -g 5000 -G mail -u 5000 -d /var/mail vmail

编辑配置文件

我们配置的第一个文件身份验证是. 我们如何使用 MariaDB 数据库中的表来存储用户和密码, 我们在两个文件中指出. 第一个设置身份验证类型, 第二个设置为 Dovecot 将执行身份验证验证.

编辑文件 /文件 和取消评论 (或添加) 下面的行:

$ sudo vim /etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = yes
auth_mechanisms = plain login
!include auth-system.conf.ext
!include auth-sql.conf.ext

后, 编辑文件 /etc/dovecot/CONF.d/auth-sql.conf.ext 让你有以下几行:

$ sudo vim /etc/dovecot/conf.d/auth-sql.conf.ext

passdb {
  driver = sql

  # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext
  args = /etc/dovecot/dovecot-sql.conf.ext
}

# <doc/wiki/UserDatabase.Static.txt>
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/vmail/%d/%n
}

注意: 最后几行与最初对论点的评论略有不同 .

我们还必须通过文件与 MariaDB 建立数据连接 /etc/dovecot/dovecot-sql.conf.ext. 此文件不是在设施中创建的, 因此我们创建.

$ sudo vim /etc/dovecot/dovecot-sql.conf.ext

connect = host=127.0.0.1 dbname=mypostfixdb user=mypostfixdbuser password=mypostfixdbuser_password
default_pass_scheme = SHA512-CRYPT
password_query = SELECT email as user, password FROM virtual_users WHERE email='%u';

注意: 中使用的数据与 在 MariaDB 中设置数据库的步骤

我们将对 Dovecot 的主配置文件进行一些更改, 该文件是 10-主文件. 文件前面的数字表示加载顺序 (优先). 您可以使用您选择的任何编辑器. 我喜欢 Vim, 因为我已经习惯了你的命令, 但没有什么可以阻止使用纳米, 例如.

$ sudo vim /etc/dovecot/conf.d/10-master.conf

为了提高服务器的安全性并减少攻击, 我们将禁用未加密的访问. 为此, 我们分配的门是足够的 0 为 imap 和 pop3 服务. 只有成像和 pop3 可用. 您将需要使用 SSL 密钥, 我们将在稍后创建.

service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}

还更改了以下设置:

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
}
#############################
service auth {
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
  # Auth process is run as this user.
  user = dovecot
}

service auth-worker {
  user = vmail
}

SSL 证书

因此, 我们可以使用用户身份验证中所需的加密服务来访问您的帐户, 并确保后固定管理器和圆多维数据集在安全连接下创建 SSL 密钥有效. 在这一点上, 我们将通过创建自签名密钥来完成配置 (自签名) 它是在 Dovecot 的安装过程中创建的. 此键不能用于验证安全的浏览器连接. 稍后, 我们将更改此设置以使用 Certbot 获得的 SSL 密钥 (允许加密) 与 Nginx 和 DNS 设置相结合.

如果您正在执行本教程的步骤, 您不需要在文件中没有任何更改 /etc/dovecot/conf.d/10-ssl.conf 其中应包含以下行

ssl = required
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

如果文件不存在, 或者重新创建它们 (必须完成, 如果您已更改主机名, 举个例子) 执行以下操作:

编辑文件 /dovecot-opensl. cnf 并根据您所拥有的信息更改条目.

[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
[ req_dn ]
# country (2 letter code)
C=BR
# State or Province Name (full name)
ST=SAO PAULO
# Locality Name (eg. city)
L=SAO PAULO
# Organization (eg. company)
O=MRE Development
# Organizational Unit Name (eg. section)
OU=IMAP Server
# Common Name (*.example.com is also possible)
CN=mail.meudominio.com.br
# E-mail contact
emailAddress=postmaster@meudominio.com.br

[ cert_type ]
nsCertType = server

更改文件后, 如果文件已经存在 /埃茨-基维生态/certss/dov话. pem/埃茨-基普基/dovcicleke/private dovcic除. pem, 删除它们, 然后运行脚本 姆克塞尔.

$ sudo rm -f /etc/pki/dovecot/certs/dovecot.pem /etc/pki/dovecot/private/dovecot.pem 
$ sudo /usr/libexec/dovecot/mkcert.sh

脚本的输出应该是这样的:

Generating a 1024 bit RSA private key
............++++++
........++++++
writing new private key to '/etc/pki/dovecot/private/dovecot.pem'
-----

subject= /C=BR/ST=SAO PAULO/L=SAO PAULO/O=MRE Development/OU=IMAP server/CN=mail.meudominio.com.br/emailAddress=postmaster@meudominio.com.br
SHA1 Fingerprint=FA:86:97:8F:52:06:04:71:BA:DC:07:BA:33:6A:9B:3F:8A:EE:ED:C5

文件中仍在的其他配置/etc/dovecot/conf.d/10-ssl.conf 与加密相关的是可选属性 ssl_dh. 添加或取消注释行:

ssl_dh = </etc/dovecot/dh.pem

并运行以下命令来生成该文件 .Pem:

$ openssl dhparam -out /etc/dovecot/dh.pem

运行上述命令通常需要很长时间, 有时甚至近在咫尺 1 时间. 您还可以使用下面的命令更快地生成相同的文件.

$ dd if=/var/lib/dovecot/ssl-parameters.dat bs=1 skip=88 | openssl dhparam -inform der > /etc/dovecot/dh.pem

日志文件

通过 默认 Dovecot 将使用日志机制 Syslog CentOS, 通常会将信息发送到文件 /var,日志,消息. 稍后, 我将向您展示如何传播攻击的几次尝试, 其中之一包括使用脚本失败2ban, 使日志分析是最好的定义一个独特的文件, 所以我们不必监视不断变化的日志文件.

定义唯一的日志文件, 让我们打开 Dovecot 日志配置 /日志记录文件 并更改或添加以下行.

log_path = /var/log/dovecot.log
auth_verbose = yes
auth_verbose_passwords = sha1:8

保存文件并重新启动服务

$ sudo systemctl restart dovecot

确保已创建文件/日志, 并包含指示服务正常运行的信息.

$ sudo tail /var/log/dovecot.log
Apr 24 22:45:58 master: Info: Dovecot v2.2.36 (1f10bfa63) starting up for imap, pop3, lmtp (core dumps disabled)

防火墙规则

如果您在默认安装中从一开始就遵循本教程, 连接端口有可能对外界关闭. 下面的命令旨在释放门的模拟 (993), 波普3 (995) 在连接电子邮件客户端 (如 Outlook 或 Gmail) 之前. 即使它们是开放的, 稍后在另一个出版物中, 我将向您展示一系列防火墙规则, 以提高安全性.

首先请确保服务 沃尔瓦尔德 正在运行. 如果你被阻止了, 可能所有的门, 有一个听众服务将被打开.

$ sudo systemctl status firewalld

检查状态的行, 该状态的行可以为 积极 (运行) 或作为 无效 (死). 如果您不活动, 没有必要继续. 如果你同样活跃, 我们将列出哪些端口在外部打开.

$ sudo firewall-cmd --list-services
ssh dhcpv6-client

在上面的示例, 只有 dhcpv6 客户端和 ssh 被允许. 然后, 我们添加所需的端口, 以便在外部接收和发送电子邮件.

$ sudo firewall-cmd --add-service=pop3s --permanent
success
$ sudo firewall-cmd --add-service=imaps --permanent
success
$ sudo firewall-cmd --reload
success
$ sudo firewall-cmd --list-services
ssh dhcpv6-client imaps pop3s

正如您在示例中看到的, 添加 Dovecot 服务正在听到的模拟和 pop3 服务. 稍后, 我们还将添加 smtp 端口和提交, 将听到后修复 (主人). 请注意, 我不会打开 imap 和 pop3 端口不安全, 因为我想强制使用 SSL/tls.

为了确保门是开着的, 你甚至可以尝试做 telnet 端口 993 和 995 同一网络上的另一个系统, 并验证该文件是否 /瓦洛维生态。 显示尝试. 如果您在参加测试时没有条件, 请检查下面命令的输出?

$ sudo netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      2669/sshd
tcp        0      0 0.0.0.0:imaps           0.0.0.0:*               LISTEN      5946/dovecot
tcp        0      0 0.0.0.0:pop3s           0.0.0.0:*               LISTEN      5946/dovecot
tcp        0      0 mail.meudominio.com:ssh    gateway:65257           ESTABLISHED 4631/sshd: myuser

而这就是现在的一切. 然后 我们配置后缀 3.

评论 (3)

  1. [;] Servidor de Email –; 部分 3 ; 多韦科特 [;]

  2. [;] e e-mail utilizando as ferramentas mais comuns para ambiente OpenSource em Linux. 我使用后缀, 多韦科特, 后修复管理, 新, Roundcube e [;]

留言

您的电子邮件地址将不会发布. 标记必填的字段 *

此网站使用 Akismet 减少垃圾邮件. 了解如何处理注释数据.