Security is complex and you are asking several questions.
First VNC is insecure and one of the most common cracks. This is because, by default, the VNC connection is not encrypted. So there are thus 2 problems-
People use insecure passwords (most common problem).
The passwords are in plain text and thus can be read by packet
So yes tunneling VNC over ssh will solve the second problem, but, ssh alone will not solve all your problems because:
SSH does not enforce strong passwords.
SSH introduces a new server that must now be secured.
See also http://www.cl.cam.ac.uk/research/dtg/attarchive/vnc/sshvnc.html or similar
Freenx is faster and more secure than VNC and uses encryption, so solves multiple issues.
Now your second question is about "having my network bombarded with brute force attempts"
Your network will be bombarded with brute force attempts if you install a server that enables password authentication such as logging into an Apache web page, ssh, freenx, FTP, etc, etc.
The solution there depends on what you want to do about it and may include things such as:
- Enforcing strong passwords.
- A few iptables rules - see http://bodhizazen.com/Tutorials/iptables#Additional_Tips (scroll down to "Use iptables to reject/block failed connections").
- Securing your server, varies by server, for ssh see - http://bodhizazen.com/Tutorials/SSH_security
- Using a service such as fail2ban.
So, you see, your question is quite broad and there are multiple measures you can take to improve security (this is a short list). See any of the various security guides for more information
And ask a more specific question about a more specific part of security.