Skip to main content

A tool for parsing DMARC aggregate reports

Project description

dmarc-import :postal_horn: :mailbox:

Build Status Coverage Status

dmarc-import is a tool for parsing DMARC aggregate reports. The expected format of these aggregate reports is described in RFC 7489.

Installation of the Python package

From PyPI

pip install dmarc-import

From your local checkout

After using git to clone the repository, you can install dmarc-import using pip:

pip install /path/to/dmarc-import

From GitHub

Or, if you prefer, you can install directly from the GitHub repository:

pip install git+https://github.com/cisagov/dmarc-import.git

Building the Docker image

As an alternative to installing the Python package, you can instead choose to build the Docker image:

docker-compose build

Usage

Usage:
  dmarc-import --schema=SCHEMA --s3-bucket=BUCKET [--s3-keys=KEYS] [--domains=FILE] [--reports=DIRECTORY] [--elasticsearch=URL] [--es-region=REGION] [--log-level=LEVEL] [--dmarcian-token=FILE] [--delete]
  dmarc-import (-h | --help)

Options:
  -h --help               Show this message.
  --log-level=LEVEL       If specified, then the log level will be set to the
                          specified value.  Valid values are "debug", "info",
                          "warn", and "error".
  --schema=SCHEMA         The XSD file against which the DMARC aggregate
                          reports are to be be verified.
  --s3-bucket=BUCKET      The AWS S3 bucket containing the DMARC aggregate
                          reports.
  --s3-keys=KEYS          A comma-separated list of DMARC aggregate report
                          keys.  If specified, only the specified DMARC
                          aggregate reports will be processed.  Otherwise all
                          reports in the AWS S3 bucket will be processed.
  --domains=FILE          A file to which to save a list of all domains for
                          which DMARC aggregate reports were received.  If not
                          specified then no such file will be created.
  --reports=DIRECTORY     A directory to which to write files containing DMARC
                          aggregate report contents.  If not specified then no
                          such files will be created.
  --elasticsearch=URL     A URL corresponding to an AWS Elasticsearch
                          instance, including the index where the DMARC
                          aggregate reports should be written.
  --es-region=REGION      The AWS region where the Elasticsearch instance
                          is located.
  --dmarcian-token=FILE   A simple text file whose only contents are the
                          Dmarcian API token.  If specified then the
                          Dmarcian API will be queried to determine what
                          commercial mail-sending organization (if any) is
                          associated with the IP in the aggregate report.
  --delete                If present then the reports will be deleted after
                          processing.

Setting up Docker secrets

Before attempting to run this project via docker-compose, you must create a secrets directory and a few files inside it that contain credentials for the Docker container to use. These files are:

License

This project is in the worldwide public domain.

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dmarc-import-1.1.1.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

dmarc_import-1.1.1-py2.py3-none-any.whl (18.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dmarc-import-1.1.1.tar.gz.

File metadata

  • Download URL: dmarc-import-1.1.1.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for dmarc-import-1.1.1.tar.gz
Algorithm Hash digest
SHA256 a7c585a89145496a58a8d26445df73cd206a465e0f0cbc8e4234b8fcafc89f93
MD5 cddcbe9b24aa1cf3c9ef02bfb404897c
BLAKE2b-256 d66e5c02685720060ec5e9801e64d475abfe66b097fd42d9a9f6c57b0da10428

See more details on using hashes here.

File details

Details for the file dmarc_import-1.1.1-py2.py3-none-any.whl.

File metadata

  • Download URL: dmarc_import-1.1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for dmarc_import-1.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bd688764b913ec4d1c05bbbd2c9124e2a1272eea9a8d6634c5b706453cbab5b9
MD5 b8722ad7e3db03e70eeaa01644260386
BLAKE2b-256 00f036950f3d21e9a47bf895db0abb13c53619eedbff0d125746d150fb17f477

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page