Skip to main content

tlsrpt-reporter

tlsrpt-reporter is a TLSRPT reporting service for SMTP TLS Reporting as defined in RFC 8460. It receives TLSRPT datagrams from a MTA, collects them, creates a report in conformance with the TLSRPT Reporting Schema and finally delivers the report either via SMTP, indirectly by submitting it to a local MTA which ultimately will be responsible for delivering the report, or directly via HTTP POST.

Application Architecture

Mail platform architectures range from single all-in one servers to multi-server deployments with different server groups handling dedicated tasks. The TLSRPT reporting service's application architecture consists of three different programs which allow to provide TLSRPT reporting in simple but also in complex mail service architectures.

  • tlsrpt-collectd receives and collects TLSRPT datagrams from a MTA and stores them locally in a sqlite database.
  • tlsrpt-fetcher fetches TLSRPT datagrams collected by tlsrpt-collectd directly or over the network via SSH and aggregates them into a single database.
  • tlsrpt-reportd generates a TLSRPT report from the data provided by tlsrpt-fetcher and submits the report.

Installation

The following distributions provide packages for the TLSRPT reporting service:

Packaging status

Development

How to setup the virtual environment for Python

The TLSRPT Reporting Service has been written in Python. Setup a virtual environment like this:

Clone this repository and chdir into to the root directory of the repository:

git clone https://github.com/sys4/tlsrpt-reporter.git
cd tlsrpt-reporter

Create the new virtual venv environment using the following command:

python3 -m venv venv

After this initial step there will be a new venv directory within the tlsrpt-reporter directory containing all the file required to start and run the virtual environment. Activate the environment by typing this shell command:

source venv/bin/activate

This should change the shell prompt, you should now see a (venv) in front of the shell prompt. It will look like this as long as the venv is active.

Finally you need to install additional software within the virtual environment in order to develop and test:

python -m pip install ".[test]"

This will satisfy the dependencies of the tlsrpt-reporter package and it will install testing tools (e.g. tox) required to run automated tests.

Unit Testing

In order to run the unit tests manually on the console, first activate the virtual environment. Then run the tests like this:

$ source venv/bin/activate
(venv) $ python -m unittest discover

.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

About the project

The tlsrpt-reporter project is part of a joint effort between the Postfix project, namely Wietse Venema who co-designed and implemented TLSRPT with the help of libtlsrpt into Postfix, and sys4, who sponsored the project and whose team has put love and efforts into tlsrpt-reporter and libtlsrpt to make this happen.

We want secure communications and we want people to feel free to communicate whatever they want to about on the Internet. TLSRPT provides the reporting to create visibilty about issues regarding secure communications. Use it! It's free.

Start a discussion or create a ticket on GitHub if you have specific questions about the software provided by the project and / or join the TLSRPT mailing list for general discussions on TLSRPT but also about this project.

Metadata

Release files for tlsrpt-reporter 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tlsrpt-reporter 0.6.0
File Size Uploaded
tlsrpt_reporter-0.6.0.tar.gz 71.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tlsrpt-reporter 0.6.0
File Interpreter ABI Platform
tlsrpt_reporter-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 122.8 kB

Release files / tlsrpt_reporter-0.6.0.tar.gz

Download URL tlsrpt_reporter-0.6.0.tar.gz
Size 71.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ed002808bb00718547cebbed149a051898a2748e7f2807ba04ab10214d1c684a
BLAKE2b-256 checksum
How to use checksums
53f93979e06c3649db51512e2c0c446d0cd57ba910609b93049769ad309be56e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release files / tlsrpt_reporter-0.6.0-py3-none-any.whl

Download URL tlsrpt_reporter-0.6.0-py3-none-any.whl
Size 51.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a6eec314c7142af2e1d609a63e82a63b7ec1d14db664244c98e1344b3c603397
BLAKE2b-256 checksum
How to use checksums
099ba2f84b3a7a125baf88b6601d7166a786455c5692f12c4d03cf87a411d4b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page