Whenever a server is accessible via the Internet, it’s a safe bet that hackers will be trying to access it. Just look at the SSH logs for any server you use, and you’ll surely find lots of “authentication failure” lines, originating from IPs that have nothing to do with you or your business. Brute-force attempts (such as “dictionary attacks”) try different passwords over and over to try to get into your box, and there’s always a chance that they eventually will succeed. Thus, it’s a good idea to apply these “three Ds” for your security: detect intruder attempts, decide when they’ve gone “over the top” (past what would be acceptable for honest-to-goodness typing mistakes), and deny them access at least for a (longish!) while.
Several tools manage this kind of monitoring (see the Resources section). In this article, I describe installing, configuring and running DenyHosts. With it, you’ll have a running background dæmon that will check your system continuously for access attempts, decide if they look unsafe, block them and inform you. DenyHosts even can be configured to share information with other servers, so whenever a hacker is detected on one system, it will be blocked on other systems too.
Full article here:
Security in Three Ds: Detect, Decide and Deny (Linux Journal)