前言:
服务器管理员 n00b 在这里。我正在为我们的站点设置一个 Web 服务器(Ubuntu 8.04 LTS 64 位)。Web 服务器不用于处理域内实际邮件用户发送的入站邮件或出站邮件;所有这些都是单独处理的(由托管服务;我既没有时间也没有专业知识来保持邮件系统正常运行)。
所以,三部分的问题:
web服务器上是否需要sendmail、postfix、qmail、exim等?例如,让 logwatch 或其他进程发送通知?这是一个托管的专用服务器,并带有预先配置的邮件,但如果我不需要它,我自然想减少攻击面——毕竟它是一个面向公众的服务器。
如果我不需要安装任何这些,大概我必须告诉服务器在发送邮件时使用什么 SMTP 服务器?或者每个包都会这样做(apticron、logwatch 等)。
再次假设我不需要邮件服务,我想在其中将电子邮件地址从“root”更改为更合适的内容以确保我们确实收到通知的最流行的配置文件是什么?例如:
/etc/apticron/apticron.conf
,/etc/logwatch/conf/logwatch.conf
, ...
链接确实非常受欢迎。
提前致谢!
您需要邮件服务器,以便您的本地进程(如 logwatch)可以发送邮件。但是,您可以将邮件服务器配置为仅侦听 127.0.0.1 而不是所有网络,这意味着外人无法使用它。这将减少您的“攻击面”(顺便说一句,这是个好词,我以前从未听说过)。
您问题第 3 部分的通常答案是在 /etc/aliases 或您选择的邮件服务器保存其别名文件的任何地方输入别名。默认情况下,这些文件通常将一大堆东西(如“webmaster”和“bin”)别名为root,然后在所有这些文件的末尾,你输入另一个别名为你的root。
您的机器上需要某种 MTA,因为大多数服务不知道如何与远程 SMTP 服务器通信并依赖
sendmail(1)
.另一方面,您不需要像 sendmail 或 postfix 这样的成熟 MTA。您可以使用例如 nullmailer 或 ssmtp(在 Ubuntu 上作为软件包提供),它们不实现 SMTP 侦听部分。
反过来,这个最小的 MTA 应该被配置为通过您的 ISP 的邮件网关中继您的电子邮件。
我已经设置了几个没有任何邮件服务器的 vps,完全没有问题。我什至做 apt-get purge postfix sendmail exim4-base nullmailer 只是为了确保没有安装任何东西。并检查端口 25 上没有监听。
apache,mysql,所有其他都没有问题。
除了一件事,你不能发送电子邮件。因此 phpmail 将无法工作。
我个人不知道如何配置各种 Linux 服务来发送电子邮件,但你是对的:如果你不使用本地邮件服务器处理电子邮件,则不需要本地邮件服务器。
即使您的服务使用本地邮件服务器发送自己的邮件,这也是一个非常糟糕的设置,因为它不是 Internet 上公开认可的邮件服务器,因此大多数“真实”邮件服务器会拒绝收到的邮件因为反垃圾邮件过滤。
我强烈建议您配置您的服务以使用您的 ISP 的邮件服务器发送他们的电子邮件,并禁用您服务器上的本地邮件。
您仍然需要一些无法从您的邮箱发送邮件的东西。如果您不想“完整”MTA,您可以尝试 ssmtp。这是“假”MTA,它模拟 sendmail,可以配置为通过远程 smtp 服务器发送所有邮件。