You could also look into sshguard. I haven't used it but I've heard good things.
Sources:
http://isc.sans.edu/diary.html?storyid=9370
http://www.sshguard.net/docs/faqs/
"Sshguard monitors servers from their logging activity. When logs convey that someone is doing a Bad Thing, sshguard reacts by blocking he/she/it for a bit. Sshguard has a touchy personality: when a naughty tyke insists disturbing your host, it reacts firmer and firmer."