Postfix安全加固和隐私配置指南

本文讲的是Postfix安全加固和隐私配置指南,Postfix和Sendmail是Linux上最常用的邮件服务器系统。与Sendmail相比,Postfix的配置要简单很多,更容易上手。

本文将主要介绍Postfix的安全配置指南,旨在对Postfix的安全性能进行强化,以增加针对垃圾邮件滥用以及可能出现的泄露敏感数据问题的防范。下面我们正式开始!

为什么要对Postfix进行加固?

事实上,我们必须承认一件事——进入互联网的任何一项服务都会在不久之后就被自动化脚本所滥用。例如一个出现问题的Postfix可能会为每个人发送信息,而不仅仅是你网络系统。这种类型的配置称为“开放式继电器”,他会很快就使你的系统被各种拉黑。如果只是一个测试系统,那么你很幸运。但如果你有客户对他有使用依赖,那么你就有的解释了。

除此之外,对Postfix加固的另一个原因是目前越来越多的隐私需求。大多数传统协议(包括SMTP发送电子邮件)在优先级列表中没有安全隐私权。这些协议可以与其他系统共享数据,并且无需任何形式的保护。而这可能导致从当地IT管理员到可能的中央情报局或国家安全局中未经授权的人员窥探数据。

准备

下面就到了获取技术并进行配置测试的时间了。值得注意的是许多加固指南和博客似乎都忘记了系统加固的一个重要部分:准备工作。那么就让我们从这一步开始吧。

测试现有的Postfix配置

可能你自己都不知道你当前的配置可能会出现错误,所以最好还是先来测试一下。

postconf 1> /dev/null

postconf的命令可以用于显示后缀配置,或进行变更。在这种情况下,我们将所有正常输出(stdout)重定向到数字垃圾桶(/dev/null)。如果你的配置有任何错误或警告,它们就会显示显示。事实上我们的系统就有一个警告,当我们在我们自己的审核工具Lynis中实施相关测试时,我们发现了这一点。

如果你得到了任何输出项,那么明智的做法是先解决这些问题,然后重新启动Postfix服务以查看错误或警告是否消失。

备份你的Postfix配置

这一步大家都知道,但是却经常被跳过。但如果你进行系统加固,最好还是请先进行备份。第一个备份是创建一个/ etc / postfix目录的副本。

tar czf /root/postfix-$(date "+%F").tar.gz /etc/postfix

为了后续的故障排除或比较配置,使用postconf  存储副本也是明智之举。这个我们可以很容易地与diff命令一起使用。

postconf > /root/postconf-$(date "+%F")

找到你的Postfix版本

postconf mail_version | awk -F" = " '{print $2}'

另一种方法是使用包管理器来查找'postfix'包的版本。对于Debian和Ubuntu用户,可以使用dpkg命令来实现。

dpkg -l postfix

加固步骤

随着所有的准备工作结束,现在起Postfix加固步骤就开始了。其中每个步骤都将改变Postfix中的特定区域,一些是为了防止信息泄露,其他的则是提高稳定性或增加发送内容的隐私性。

基本加固

禁用VRFY(验证)

VRFY命令是短期的“验证”,它可以用于查看邮件服务器上的电子邮件地址是否有效。虽然这非常适合进行故障排除,如果一个帐户存在并可能提供垃圾邮件,那么它也允许其他人进行有针对性的猜测。另外还有一点就是通常不需要在两个邮件服务器之间传送VRFY命令。

postconf -e disable_vrfy_command=yes

注意:更改每个项目后,重新启动或重新加载Postfix并查看Postfix的错误,这里有一种方法是通过在日志文件上保持观察。

网络接口(inet_interfaces)

检查的第一个设置是Postfix正在侦听的接口。此设置称为inet_interfaces,默认情况下配置为all。如果你只想将消息转发到其他系统,例如发送外发电子邮件,则不需要在所有网络接口上监听。配置Postfix只在本地接口上监听,这可以通过将inet_interface设置为仅环回来实现。

postconf -e inet_interfaces=loopback-only

重新启动Postfix后,测试您的配置。在这种情况下,我们可以使用netstat或ss的输出。

输出ss命令以显示Postfix正在侦听的网络端口:

其中有一些更改可能需要重新启动Postfix,更改inet_interfaces设置时,重新加载不够。

如果你正在配置为其他系统中继的系统,那么你会希望在所有网络接口上侦听,或者仅在本地主机和主要网络接口上进行侦听。

电子邮件中继

放置邮件服务器时的第一条规则救是要避免其是开放的中继系统。这是一个接受来自所有系统的电子邮件并对他们进行转发的系统。垃圾邮件发送者将很快找到你的主机并对其进行滥用,然后发送他们的消息。 

网络

中继配置有几个参数:第一个是mynetworks设置,通常只包括本地网络接口(lo)的网络地址。

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128

如果要扩展此列表,只需添加网段或单个系统。指定相关网络掩码,单个IPv4地址为/ 32,IPv6为/ 128。

由于此设置中的空格,请在使用postconf命令时添加引号。

postconf -e mynetworks="127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128"

域名

第二层定义什么电子邮件接受并因此进行中继,正在使用目标域。相关的设置是relay_domains,哪些域名首先接受电子邮件。

测试Postfix中继

您可以通过设置与其他系统的连接来测试您的配置是否正确设置。Telnet到其他系统,并运行以下命令

helo yourdomain.com
mail from:your.alias@yourdomain.com
rcpt to:your.personal.mailbox@gmail-or-hostmail.com
data

数据

更换地址,看看是否可以将邮件转发到您自己的域外的地址。例如,您可以使用Gmail或Hotmail地址作为接收方。

如果都配置正确了能避免打开中继,那么就会获得中继访问被拒绝的消息。

Relay access denied (in reply to RCPT TO command)

传入电子邮件配置

以smtpd开头的配置项 指向SMTP守护进程,这是处理传入请求的守护进程。

启用HELO

人们通常会问“你好”或是类似的话语,而邮件服务器则是使用HELO命令或EHLO(扩展版本)执行此操作。如果没有使用这一内容的服务器通常是未正确配置,或仅发送垃圾邮件。

postconf -e smtpd_helo_required=yes

传出电子邮件配置

通常只有几台机器可以接收传入的电子邮件,所有其他服务器都需要发送电子邮件。这可能与系统通知或需要发送电子邮件的帐户激活或密码重置的Web应用程序相关。

相关和有用的命令

postqueue -f(刷新邮件队列并重试发送所有电子邮件)

加密和隐私

启用TLS日志记录

要查看TLS中的详细信息,需要增加Postfix日志记录的级别。可将smtp_tls_loglevel(传出)或   smtpd_tls_loglevel(传入)设置为值1(1)。

postconf -e smtp_tls_loglevel=1

测试键

使用OpenSSL,你就可以轻松的去测试SMTP配置和相关密码。测试领域之一是初始连接握手的强度,这通常通过交换加密密钥的  Diffie – Hellman(DH)算法完成。

echo | openssl s_client -starttls smtp -connect localhost:25 -cipher "EDH" 2>/dev/null | grep -i -e "Server .* key"

注意:至少需要版本1.02的OpenSSL,否则不会显示所有的详细信息。

这个命令应该给你两行输出。第一行是临时密钥,使用DH时应至少为1024位,以防止Logjam攻击。

Server Temp Key: DH, 2048 bits

第二行是公钥大小,这通常是现代系统上的2048位密钥(或更高版本)。

Server public key is 2048 bit

原文发布时间为:2017年4月23日

本文作者:Change 

本文来自合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。

原文链接

时间: 2024-10-01 22:45:38

Postfix安全加固和隐私配置指南的相关文章

通用 CentOS 6 服务器安全配置指南

Linux 是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入 Linux 系统,或者盗取 Linux 系统上的重要信息.不过,只要我们仔细地设定 Linux 的各种系统功能,并且加上必要的安全措施,就能让黑客们无机可乘.一般来说,对 Linux 系统的安全设定包括取消不必要的服务.限制远程存取.隐藏重要资料.修补安全漏洞.采用安全工具以及经常性的安全检查等. 本文是可参考的实际操作,不涉及如 IP 欺骗这样的原理,而且

PowerDesigner 9.5配置指南

  PowerDesigner 9.5 配置指南     PowerDesigner 9.5 引入了更多强大功能,便于您根据需要,扩展基本元数据的定义.   使用 PowerDesigner 能够在现有概念的基础上扩展出新的概念定义,并为此概念添加特有的属性.约束.符号,并生成代码.   本文将以一个支持 Robustness 结构图的模块扩展来详细说明这一特性.  简介Robustness 结构图应用于 Collaboration 结构图中.用户可使用三类对象:Boundary. Contro

JSP+JAVABEAN+SERVLET开发环境配置指南

js|servlet *************************************本贴从网上搜索得来,是我初学JSP找到的最好的一篇配置指南了.原作者已无法确定,不过在此也略表感谢.当初,我遍历TOMCAT英文文档依然无法找到SERVLET的安装配置的方法(本人E文水平有限),后来看到这贴子一时豁然开朗.值得推介.************************************* j2sdk1.5下载地址:http://java.sun.comtomcat5.5下载地址:h

《Cisco VPN完全配置指南》一第1章 VPN概述1.1 流量问题

第1章 VPN概述 Cisco VPN完全配置指南 这一章介绍了虚拟专用网(VPN)的概念和为什么使用它们.我考察了业务量通过公网发送时产生的问题,以及VPN如何做才可以保护这些流量.我介绍了VPN的连接方法.VPN的类型.当使用VPN时要考虑的事情.VPN的组件.VPN的设计和问题.VPN实施的例子和选择一个VPN实施类型时要考虑的问题.本书其他章节扩展了这里谈到的这些主题. 1.1 流量问题 Cisco VPN完全配置指南 VPN最初开发的主要目的是处理将明文数据通过网络进行传输时的安全问题

CentOS Web服务器安全配置指南

这一章我们将向大家介绍CentOS http://www.aliyun.com/zixun/aggregation/17117.html">Web服务器安全设置,这也是很多提供Web服务功能安全设置的重中之重,作为服务器的管理员我们应该养成良好的系统维护习惯,勤打补丁,对于目录的权限设置也应该有一个非常清楚的了解,对于用户及用户组的管理也应该养成良好的习惯,如果你是刚看到这篇文章,可以先了解一下<CentOS系统安全配置指南>的部分. 关于Centos的安装及初始化设置等工作,

Hadoop On Demand配置指南

[IT168 资讯]1. 简介 本文讲的是Hadoop On Demand配置指南,这个文档讲述了一些最重要和常用的Hadoop On Demand(HOD)的配置项. 这些配置项可通过两种方式指定:INI风格的配置文件,通过--section.option[=value]格式指定的HOD shell的命令行选项.如果两个地方都指定了同一个选项,命令行中的值覆盖配置文件中的值. 你可以通过以下命令获得所有配置项的简要描述: $ hod --verbose-help 2. 段 HOD配置文件分成以

《Cisco VPN完全配置指南》一1.2 VPN定义

1.2 VPN定义 Cisco VPN完全配置指南 我在前面的小节中曾经提到,VPN可以用来处理某种类型的攻击.因此,问题是:什么是虚拟专用网(VPN)?我在计算机领域已经工作了近20年,总有人让我解释各种技术以及这些技术可以用来做什么.在安全方面,我最常被问到的问题是"什么是VPN?"我见过所有对"VPN是什么"的解释,如: 它是一个加密的隧道: 它使用IPSec.GRE.PPTP.SSL.L2TP或者MPLS(在本章后面介绍): 它加密数据: 它保护通过Inte

《Cisco VPN完全配置指南》一1.3 VPN组件

1.3 VPN组件 Cisco VPN完全配置指南 既然您已对什么是VPN有了一个基本的理解,那么就让我们来讨论构成一个传统的VPN的组件.并不是所有的VPN实施都会包括部分或所有的这些组件.而且,基于您的安全策略所列出的需求,您可能并不需要所有的这些组件.因此,您需要检查您的安全策略来决定哪种VPN实施(或者不止一种)有必要的组件来满足您的安全策略的要求. 下面的小节将会讨论通常组成一个VPN实施中的某些更关键的组件部分.特别是,它们是由下面这些部分组成的: 验证: 封装方法: 数据加密: 数

《Cisco VPN完全配置指南》一导读

前 言 Cisco VPN完全配置指南 多年来,Cisco在网络行业方面一直是非常重要的组成部分,在企业网络方面还会继续扮演关键的角色.我所用的第一个路由器产品,还要追溯到1993年,它是Cisco的AGS+产品.我已经看到IOS的许多特色,其中包括您今天在Cisco IOS操作系统中看到的许多安全特性,例如IPSec.在过去的几年中,我看到安全在网络设计中正在成为一种重要的组成部分.目前随着越来越多的公司将Internet作为一种业务工具,安全特别是VPN的使用变得越来越重要. 目 录 第1章