Even with your own virtual server there are no guarantees. If you want your own cheap, dedicated, unmanaged server, I recommend 15minuteservers.com. I went that route after going through 3 other hosts the past 5 years.
Whatever route you choose, ask Bluehost what they would have against this:
http://www.configserver.com/cp/csf.html
When I found that, my server admin was blown away and asked me where I found it. With that in place I can track how many lfd (login failures) occur each day. I average about 10 per day. I get an email notice:
Time: Mon Jun 22 12:57:37 2009 -0400
IP: 59.63.25.158 (CN/China/-)
Failures: 10 (sshd)
Interval: 300 seconds
Blocked: Yes
Log entries:
Jun 22 12:57:14 35265 sshd[29940]: Invalid user staff from 59.63.25.158
Jun 22 12:57:16 35265 sshd[29940]: Failed password for invalid user staff from 59.63.25.158 port 33069 ssh2
Jun 22 12:57:18 35265 sshd[29942]: Invalid user sales from 59.63.25.158
Jun 22 12:57:20 35265 sshd[29942]: Failed password for invalid user sales from 59.63.25.158 port 33342 ssh2
Jun 22 12:57:22 35265 sshd[29944]: Invalid user recruit from 59.63.25.158
Jun 22 12:57:24 35265 sshd[29944]: Failed password for invalid user recruit from 59.63.25.158 port 33596 ssh2
Jun 22 12:57:26 35265 sshd[29949]: Invalid user alias from 59.63.25.158
Jun 22 12:57:28 35265 sshd[29949]: Failed password for invalid user alias from 59.63.25.158 port 33866 ssh2
Jun 22 12:57:30 35265 sshd[29960]: Invalid user office from 59.63.25.158
Jun 22 12:57:32 35265 sshd[29960]: Failed password for invalid user office from 59.63.25.158 port 34119 ssh2
Kinda cool to see what/how people/machines attempt to hack into our server.