To prevent inadvertant lockouts, Sentry auto-whitelists IPs that have
connected more than 3 times and succeeded at least once. Now that
forgetful colleague behind the office NAT router won’t get us locked out
of our system. Again. Nor the admin whose script just failed to login
12 times in 2 seconds.
Sentry includes support for adding IPs to a firewall. Support for
IPFW, PF, ipchains is included. Firewall support is disabled by default.
Firewall rules may terminate existing session(s) to the host (attn.
IPFW users). Get your IPs whitelisted (connect 3x or use –whitelist)
before enabling the firewall option.
Sentry is written in perl, which is installed nearly everywhere you find sshd. It has no
dependencies. Installation and deployment is extremely simple.
Sentry supports blocking connection attempts using tcpwrappers and several
popular firewalls. It is easy to extend sentry to support additional
Sentry was written to protect the SSH daemon but also blocks on FTP
and MUA logs. As this was written, the primary attack platform in use is
bot nets comprised of exploited PCs on high-speed internet connections.
These bots are used for carrying out SSH attacks as well as spam
delivery. Blocking bots prevents multiple attack vectors.
The programming style of sentry makes it easy to insert code for additonal functionality.
The primary goal of Sentry is to minimize the resources an attacker
can steal, while consuming minimal resources itself. Most bruteforce
blocking apps (denyhosts, fail2ban, sshdfilter) expect to run as a
daemon, tailing a log file. That requires a language interpreter to
always be running, consuming at least 10MB of RAM. A single hardware
node with dozens of virtual servers will lose hundreds of megs to daemon
protection. Sentry uses resources only when connections are made.
Once an IP is blacklisted for abuse, whether by tcpd or a firewall, the resources it can consume are practically zero.
$ /var/db/sentry/sentry.pl -r --ip=126.96.36.199 9 connections from 188.8.131.52 and it is whitelisted
HOME GATEWAY REPORT
$ /var/db/sentry/sentry.pl -r -------- summary --------- 1614 unique IPs have connected 76525 times 1044 IPs are blacklisted 18 IPs are whitelisted
WEB SERVER REPORT
$ /var/db/sentry/sentry.pl -r -------- summary --------- 1240 unique IPs have connected 285554 times 40 IPs are blacklisted 4 IPs are whitelisted
EUROPEAN DNS MIRROR
$ /var/db/sentry/sentry.pl -r -------- summary --------- 3484 unique IPs have connected 15391 times 1127 IPs are blacklisted 6 IPs are whitelisted
Download and read more at