A couple of guys here mentioned smoothwall, which I also use. If you want to log in from work, if you know your work place's ip or block of ips, you can set your smoothwall to only allow a connection from those ips. I logged into my house from my job, since I knew the external ips, I set my smoothwall to accept only a connection from those ips.