BSD Ports

mail/tarpitd 1.1.0 FreeBSD

SMTP tarpit for hosts supplied by an external blocklist

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Port added
Last update
Commit
5cc52bcf74
License
BSD2CLAUSE
Categories
mail

Description

tarpitd answers SMTP connections and holds them open for as long as the peer can be persuaded to wait. It is meant to sit behind a packet filter rule that redirects known spam sources to it, in the manner of spamd(8) on OpenBSD, and it never accepts or delivers anything.

Every reply is a syntactically valid SMTP response, so the sender has no reason to give up, but it is written out one byte at a time and commands are read back at the same rate. Every terminal answer is a temporary failure, so the message stays in the sender's queue and it comes back later to be tarpitted again. The intent is to occupy a slot in the sending botnet's delivery queue for hours rather than to reject mail quickly.

Among its tactics are a delayed and optionally endless multiline greeting, detection of clients that transmit before the greeting has finished, padding of the EHLO response, a STARTTLS handshake that never completes, an AUTH honeypot that decodes and logs the credentials bots offer, and clamped socket buffers so the peer's window stays tiny.

tarpitd carries no blocklist and applies no heuristics of its own. The addresses come from an external source, such as fail2ban or blacklistd(8), and the only thing that decides whose traffic arrives here is the firewall rule that redirects it.

Install

Binary package:

pkg install tarpitd

From the ports tree:

cd /usr/ports/mail/tarpitd/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	tarpitd>0:mail/tarpitd

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest-1.1.0--1.1.0
FreeBSD:14:quarterly--n/a--
FreeBSD:15:latest1.1.01.1.0n/a--
FreeBSD:15:quarterly--n/an/an/a
FreeBSD:16:latest-1.1.0n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

The Makefile names none itself; they come from USES and USE_*.

The full lists below include those, and their dependencies in turn.

No port depends on this one.

Configuration

Options name: mail_tarpitd

OptionDefaultDescription
CAPSICUMoffSandbox workers with capsicum(4) (see caveat below)
USES
uidfix
Service scripts
tarpitd

Files

distinfo 1
FileSizeSHA256
venglin-tarpitd-v1.1.0_GH0.tar.gz350683025ca6d37c98d177e4be69cbad1eb760c77603da09141024f748d94813bb3d6

Commit history 1

DateCommitCreditsLog message
5cc52bcf74 Przemysław Frasunek mail/tarpitd: Add new port
tarpitd answers SMTP connections and holds them open for as long as the peer can be persuaded to wait. It is meant to sit behind a packet filter rule that redirects known spam sources to it, in the manner of spamd(8) on OpenBSD, and it never accepts or delivers anything. Every reply is a syntactically valid SMTP response, so the sender has no reason to give up, but it is written out one byte at a time and commands are read back at the same rate. Every terminal answer is a temporary failure, so the message stays in the sender's queue and it comes back later to be tarpitted again. The intent is to occupy a slot in the sending botnet's delivery queue for hours rather than to reject mail quickly. Among its tactics are a delayed and optionally endless multiline greeting, …