haraka-plugin-p0f
v1.0.15
Published
Haraka plugin that adds TCP fingerprinting
Readme
haraka-plugin-p0f
TCP Fingerprinting
Supply TCP fingerprint info (remote computer OS, network distance, etc) about the remote mail server. This can be used to implement more sophisticated anti-spam policies.
This plugin stores results with information deduced from the TCP fingerprint. The result typically includes at least os_name, os_flavor, distance, uptime_min, and link_type. Here's an example:
os_name => FreeBSD os_flavor => 8.x (1) uptime_min => 1390 link_type => ethernet/modem distance => 17
Which was parsed from this p0f fingerprint:
24.18.227.2:39435 - FreeBSD 8.x (1) (up: 1390 hrs) -> 208.75.177.101:25 (distance 17, link: ethernet/modem)
The following additional values may also be available in the p0f connection store:
query, first_seen, last_seen, total_conn, uptime_min, up_mod_days, last_nat, last_chg, distance, bad_sw, os_match_q, os_name, os_flavor, http_name, http_flavor, link_type, and language.Configuration
- start p0f
Create a startup script for p0f that creates a communication socket when your server starts up.
/usr/local/bin/p0f -u smtpd -d -s /tmp/.p0f_socket 'dst port 25 or dst port 587'
chown smtpd /tmp/.p0f_socket- configure p0f plugin
add an entry to config/plugins to enable p0f:
p0f- review settings in config/p0f.ini
At a minimum, [main]socket_path must be defined.
Startup
In the contrib/ubuntu-upstart directory is a config file (p0f.conf) for Ubuntu.
In the contrib/bsd-rc.d directory is a startup file for FreeBSD.
