Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/haraka/haraka-plugin-uribl

URIBL plugin for Haraka
https://github.com/haraka/haraka-plugin-uribl

haraka haraka-plugin uribl

Last synced: about 2 months ago
JSON representation

URIBL plugin for Haraka

Awesome Lists containing this project

README

        

[![CI Test Status][ci-img]][ci-url]
[![Code Climate][clim-img]][clim-url]
[![NPM][npm-img]][npm-url]

# haraka-plugin-uribl

This plugin extracts URIs and feeds them to RHS based blacklists such as [DBL][1] and [SEM-FRESH][2] and body URI based DNS blacklists such as [SURBL][3] and [URIBL][4].

This plugin will discard any domain name that does not have a valid TLD or any IP address within RFC1918, 127/8 or 169.254/16 (APIPA) and will convert any URI ending in in-addr.arpa into an IP address lookup.

Configuration
-------------

This plugin reads configuration from uribl.ini.

The main section defines global settings for all lists and the blacklists zones are specified as INI section headings with the configuration for each zone within that section.

The main section can contain the following options:

* timeout

Default: 30

The total timeout in seconds for each group of lookups. Any group of
lookups that takes longer than this will be aborted and the session
will continue.

* max\_uris\_per\_list

Default: 20

This option limits the maximum number of unique lookups that will be submitted for each list after the input has been normalized into the query format required for the list. Any lookups greater than the limit will be discarded.

List sections should be named as the zone of the blacklist and can contain the following options:

At least one of the following must be set for any queries to be run for the blacklist.

* rdns = 1 | true | yes | on | enabled

Check any rDNS names against the list.

* helo = 1 | true | yes | on | enabled

Check the EHLO/HELO argument against the list.

* envfrom = 1 | true | yes | on | enabled

Check the MAIL FROM domain against the list.

* from = 1 | true | yes | on | enabled

Check the domain portion of the From: header against the list.

* replyto = 1 | true | yes | on | enabled

Check the domain portion of the Reply-To: header against the list.

* msgid = 1 | true | yes | on | enabled

Check the RHS of the Message-Id: header against the list.

* body = 1 | true | yes | on | enabled

Check any URIs found within the body of the message against the list.

The following are optional for each list:

* custom\_msg

A custom rejection message that will be returned to the SMTP client if the list returns a positive result. If found within the string {uri} will be replaced by the URI value looked up and {zone} will be replaced by the blacklist zone name.

* validate

A regular expression that will be tested against the first A record returned by the list. If it does not evaluate to true then the positive result will be discarded. Example: ^(?!127\.0\.1\.255)127\. would check that the IP address returned start with 127. and is not 127.0.1.255

* bitmask

This is optionally used for lists such as [SURBL][3] and [URIBL][4] that return bitmask values in the last octet of the returned IP address to combine multiple lists into a single zone. Using this you may specify which lists within the zone you want use.

* no\_ip\_lookups = 1 | true | yes | on | enabled

Specifies that no IP addresses should ever be check against this list. This is required for dbl.spamhaus.org.

* strip\_to\_domain= 1 | true | yes | on | enabled

Specifies that the list requires hostnames be stripped down to the domain boundaries prior to querying the list. This is required for the [SURBL][3] and [URIBL][4] lists.

Spamhaus DQS
------------

* dqs_key

DQS key for Spamhaus's DQS mirrors.

Other files
-----------

* data.uribl.excludes

This contains a list of domains that should never be looked up in any blacklist as they are known good and will never be listed. This helps to keep useless queries to a minimum.

[1]: http://www.spamhaus.org/dbl
[2]: http://spameatingmonkey.com/lists.html#SEM-FRESH
[3]: http://www.surbl.org/
[4]: http://www.uribl.com/

[ci-img]: https://github.com/haraka/haraka-plugin-uribl/actions/workflows/ci.yml/badge.svg
[ci-url]: https://github.com/haraka/haraka-plugin-uribl/actions/workflows/ci.yml
[clim-img]: https://codeclimate.com/github/haraka/haraka-plugin-uribl/badges/gpa.svg
[clim-url]: https://codeclimate.com/github/haraka/haraka-plugin-uribl
[npm-img]: https://nodei.co/npm/haraka-plugin-uribl.png
[npm-url]: https://www.npmjs.com/package/haraka-plugin-uribl