mirror of
https://github.com/domainaware/parsedmarc.git
synced 2026-06-07 11:19:44 +00:00
b52a131859
- Resolve conflicts in README.md, docs/source/index.md, and parsedmarc/cli.py - Migrate tests from tests.py to tests/test_google_secops.py - Update webhook_forensic to webhook_failure terminology - Update kafka_forensic to kafka_failure terminology - Adopt _expand_file_path_args for file path handling - Maintain Google SecOps Chronicle API integration
84 lines
3.1 KiB
Markdown
84 lines
3.1 KiB
Markdown
# parsedmarc documentation - Open source DMARC report analyzer and visualizer
|
|
|
|
[](https://github.com/domainaware/parsedmarc/actions/workflows/python-tests.yml)
|
|
[](https://codecov.io/gh/domainaware/parsedmarc)
|
|
[](https://pypi.org/project/parsedmarc/)
|
|
[](https://pypistats.org/packages/parsedmarc)
|
|
|
|
:::{note}
|
|
|
|
This is a project is maintained by one developer.
|
|
Please consider [sponsoring my work](https://github.com/sponsors/seanthegeek) if you or your organization benefit from it.
|
|
:::
|
|
|
|
```{image} _static/screenshots/dmarc-summary-charts.png
|
|
:align: center
|
|
:alt: A screenshot of DMARC summary charts in Kibana
|
|
:scale: 50 %
|
|
:target: _static/screenshots/dmarc-summary-charts.png
|
|
```
|
|
|
|
`parsedmarc` is a Python module and CLI utility for parsing DMARC reports.
|
|
When used with Elasticsearch and Kibana (or Splunk), or with OpenSearch and Grafana, it works as a self-hosted
|
|
open source alternative to commercial DMARC report processing services such
|
|
as Agari Brand Protection, Dmarcian, OnDMARC, ProofPoint Email Fraud Defense,
|
|
and Valimail.
|
|
|
|
## Features
|
|
|
|
- Parses aggregate/rua DMARC reports: the legacy draft and 1.0 schemas
|
|
(RFC 7489) and the new RFC 9990 schema for the final DMARC standard
|
|
(RFC 9989)
|
|
- Parses failure/ruf DMARC reports (RFC 6591 and RFC 9991; formerly called
|
|
forensic reports)
|
|
- Parses reports from SMTP TLS Reporting (TLS-RPT, RFC 8460)
|
|
- Can parse reports from an inbox over IMAP, Microsoft Graph, or Gmail API
|
|
- Transparently handles gzip or zip compressed reports
|
|
- Consistent data structures
|
|
- Simple JSON and/or CSV output
|
|
- Optionally email the results
|
|
- Optionally send the results to Elasticsearch, OpenSearch, Splunk, or
|
|
PostgreSQL, for use with premade dashboards
|
|
- Optionally send the results to Apache Kafka, Amazon S3, Azure Log
|
|
Analytics (Microsoft Sentinel), a Graylog (GELF) endpoint, a syslog server,
|
|
an HTTP webhook, or Google SecOps (Chronicle) in UDM format via API or stdout
|
|
|
|
## Python Compatibility
|
|
|
|
This project supports the following Python versions, which are either actively maintained or are the default versions
|
|
for RHEL or Debian.
|
|
|
|
| Version | Supported | Reason |
|
|
| --- | --- | --- |
|
|
| < 3.6 | ❌ | End of Life (EOL) |
|
|
| 3.6 | ❌ | Used in RHEL 8, but not supported by project dependencies |
|
|
| 3.7 | ❌ | End of Life (EOL) |
|
|
| 3.8 | ❌ | End of Life (EOL) |
|
|
| 3.9 | ❌ | Used in Debian 11 and RHEL 9, but not supported by project dependencies |
|
|
| 3.10 | ✅ | Actively maintained |
|
|
| 3.11 | ✅ | Actively maintained; supported until June 2028 (Debian 12) |
|
|
| 3.12 | ✅ | Actively maintained; supported until May 2035 (RHEL 10) |
|
|
| 3.13 | ✅ | Actively maintained; supported until June 2030 (Debian 13) |
|
|
| 3.14 | ✅ | Supported (requires `imapclient>=3.1.0`) |
|
|
|
|
```{toctree}
|
|
:caption: 'Contents'
|
|
:maxdepth: 2
|
|
|
|
installation
|
|
usage
|
|
output
|
|
elasticsearch
|
|
opensearch
|
|
kibana
|
|
splunk
|
|
google_secops
|
|
davmail
|
|
dmarc
|
|
contributing
|
|
api
|
|
```
|