在 Ubuntu 20.04 上设置 ParseDMARC 以分析 DMARC 报告

解析DMARC 是一个开源的、自托管的 DMARC 报告分析器。 对于那些不知道的人,DMARC 是一种电子邮件安全标准,可以保护您的域名免受电子邮件欺骗,还可以识别传入的欺骗电子邮件以保护最终用户。 在上一篇文章中,我们讨论了如何为您的域名创建 DMARC DNS 记录,并使用了名为的第三方工具 邮戳 分析 DMARC 报告。 在本教程中,我们将在 Ubuntu 20.04 服务器上设置 ParseDMARC,这样我们就可以分析 DMARC 报告,而无需与第三方共享数据。

先决条件

假设您已为您的域名创建了 DMARC DNS 记录。

为了生成可视化数据,ParseDMARC 依赖于 Elasticsearch 和 Kibana,两者都需要 RAM。 安装后它们将使用大约 2G RAM,并且需要更多 RAM 来处理数据。 所以你至少需要一个服务器 3G内存. 还建议您使用至少具有以下功能的服务器 4 个 CPU 内核.

您可以单击此特殊链接在 DigitalOcean 上获得 100 美元的免费赠金。 (仅限新用户)。 如果您已经是 DigitalOcean 用户,那么您可以单击此特殊链接在 Vultr 上获得 50 美元的免费赠金(仅限新用户)。 在 DigitalOcean 或 Vultr 上拥有帐户后,在您的服务器上安装 Ubuntu 20.04 并按照以下说明进行操作。

在 Ubuntu 20.04 服务器上安装 ParseDMARC

ParseDMARC 是一个 Python 程序,可以从 PyPI(Python 包索引)软件存储库安装。 首先,我们需要在 Ubuntu 20.04 上安装 Python 包安装程序。 在下面的命令中,我们安装 python3-pip 包,因为 ParseDMARC 只能与 Python 3 一起使用。 geoipupdate 包用于更新 MaxMind GeoIP 数据库。

sudo apt install python3-pip geoipupdate

然后使用以下命令安装 ParseDMARC 的最新稳定版本。

sudo -H pip3 install -U parsedmarc

要检查有关 parsedmarc 包,你可以运行

pip3 show -f parsedmarc

要查看命令行选项,请运行

parsedmarc --help

在 Ubuntu 20.04 上安装 Elasticsearch 和 Kibana

ParseDMARC 是一个命令行程序,它产生难以阅读的输出。 如果您想在基于 Web 的界面中查看可视化的 DMARC 报告,您需要安装另外两个开源程序: ElasticsearchKibana. Elasticsearch 是一个搜索和分析引擎,Kibana 允许用户在 Elasicsearch 中使用图表和图形来可视化数据。

我们可以使用以下命令从官方存储库安装 Elasticsearch 和 Kibana。 Elasticsearch 是用 Java 编程语言编写的,所以我们还安装了 default-jre-headless (Java 运行时环境)包在最后一个命令中。

sudo apt-get install -y apt-transport-https  wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -  echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list  sudo apt-get update  sudo apt-get install -y default-jre-headless elasticsearch kibana

默认情况下,Elasticsearch systemd 服务是禁用的。 您可以使用以下命令启动和启用它。

sudo systemctl start elasticsearch  sudo systemctl enable elasticsearch

然后检查状态。

systemctl status elasticsearch

我们可以看到它现在已启用并运行,并且它使用了 1.3G RAM。 (暗示: 如果此命令没有立即退出,请按 Q 使其退出。)

我们也需要为 Kibaba 做同样的事情。

sudo systemctl start kibana  sudo systemctl enable kibana

检查状态。

systemctl status kibana