Preventing dictionary-based attacks with DenyHosts