AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1055546
Accepted
Dave Everitt
Dave Everitt
Asked: 2021-03-02 10:03:42 +0800 CST2021-03-02 10:03:42 +0800 CST 2021-03-02 10:03:42 +0800 CST

我将如何为有限的仅发送电子邮件设置设置 Debian 10 和 Postfix 安全性?

  • 772

我(我和我的妻子)运行一个小型 Debian 10/Buster 网络服务器,其中包含几个网站供朋友使用,并且需要设置外发电子邮件。我已经到了可以从命令行(echo "Message Body" | mail -s "Message Subject" TARGET_EMAIL_HERE)发送电子邮件的地步。

我们需要一个满足以下要求的设置:

  • 每周只会发送几封电子邮件:
    • 来自网站上 Perl 联系表单的一些电子邮件(需要更严格的反垃圾邮件保护,将使用 Google 验证码)
    • 一些来自剧院预订系统的带有文档附件的电子邮件,只有已知和受信任的用户才能登录
  • 在外发电子邮件中需要一个“回复”字段,以便人们可以在他们的电子邮件客户端中点击“回复”(在设置脚本以使用邮件服务器时看起来很容易)
  • 我们不想让任何传入的电子邮件到服务器

我们有什么:

  • 用户网站设置在他们的用户目录(即 755)中,但我们管理这些网站,他们无法登录到服务器
  • 我和我的妻子是 sudo-ers(两个系统管理员)并且是唯一通过 SSH/SFTP 登录的人
  • 根登录被禁用
  • 我们更改了 SSH 端口

我知道这是最基本的信息,但我想要一些关于为这种用途设置和保护 Postfix 的指导。

debian security postfix email-server
  • 1 1 个回答
  • 121 Views

1 个回答

  • Voted
  1. Best Answer
    Bogdan Stoica
    2021-03-02T11:09:48+08:002021-03-02T11:09:48+08:00

    首先,如果您在服务器上没有收到任何电子邮件,您应该将 Postfix 配置为仅绑定到 localhost。然后你可以使用像 UFW 这样的防火墙(因为你在 Debian 上)来阻止传入的 tcp 端口 25(这不是强制性的,因为 Postfix 只绑定到 localhost 但它只会阻止传入的 SMTP 流量,因为你不想要它)。

    网站或您拥有的任何脚本(如果它们位于同一服务器上),可以将它们配置为通过 localhost 连接以发送电子邮件。当您发送电子邮件时,您必须添加一个回复标题,其中包含您希望用户回复的电子邮件地址。

    在/etc/ssh/sshd_config中配置 UseDNS no以防止在每个用户连接上进行反向 DNS 映射。我还将通过 SSH 禁用密码身份验证,并严格允许使用 ssh 公钥进行身份验证。严格使用协议 2。例如,如果您不使用 ipv6,请在 SSH 服务器中禁用它:

    AddressFamily inet
    

    也适用于 SSH:

    # Authentication:
    LoginGraceTime 15s
    PermitRootLogin no
    StrictModes yes
    MaxAuthTries 3
    MaxSessions 5
    
    KerberosAuthentication no
    GSSAPIAuthentication no
    
    • 如果用户在 15 秒内未通过身份验证,则连接关闭
    • 只允许三个密码尝试
    • 最多允许 5 个用户同时连接
    • 禁用 Kerberos 身份验证
    • 禁用 GSSAPI 身份验证

    作为一个好的经验法则,您应该严格只允许必要的传入端口并丢弃其他所有端口。外出也一样。如果您的服务器没有转发,那么您可以默认 DROP 转发。

    此外,您可以安装 fail2ban,它可以根据您的需要进行配置。互联网上有很多教程,因此您可以按照自己喜欢和/或需要的方式对其进行自定义。

    由于提供的信息非常笼统,因此很难提供直接的答案。但是这些应该提供一些基本的指导。

    • 1

相关问题

  • 关闭 FTP

  • 如何在同一台电脑上从 putty 连接 debian vmware

  • debian- 文件到包的映射

  • Debian Ubuntu 网络管理器错误 [关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve