This issue has come up a few times in the last month, so you might want to read some of the older posts.
It is possible with more powerful computers to do things like have a VPN (virtual private network) where you can establish connections between security domains. For example, I have two laptops at home that run my work VPN software (and are secured enough to meet the rules my work sets out for connecting machines to the network), and I can log into these machines from work, by noting down the IP address on the VPN. However, this requires some site that can act as the VPN connect points that bridge the internal and external networks. I suspect none of the Arduinos have enough memory to run a full VPN as well as the full network suite that the VPN might use.
IMHO, a better approach is to have a web server that does all of the fancy GUI stuff, etc. It then has a page that the Arduino logs into, specifies password, etc. and the arduino just adds the recent log files. This page has no fancy graphics, and is just a simple way for the arduino to upload its data. All of the complex stuff is then done in the web server. Now, it means you have two sets of programs, in different languages, one for the Arduino, and one for the web server.
You might want to check out these services, that would let you do some of the work by using their servers:
A common method for instance seems to use twitter to send the information (assuming it isn't confidential).