Remote
Administration Based on VPN for Home Networks
Rafael Palacios and José Daniel Muñoz Frías
Because of recent improvements in communications, telework is
increasing in all developed countries. One of the major problems
associated with telework, from the technical point of view, relates
to network and computer configuration. Although these problems are
usually easily solved by systems administrators in the office, they
can sometimes be impossible to address without going to the employee's
home.
In this article, we describe a method that allows for remote administration
of home computers and network, with minimal user interaction. The
system is called Remote Administration Kit (RAK), and it is based
on a portable computer preconfigured with the Windows or Linux operating
system. When the computer is connected to the home network, it automatically
establishes a VPN tunnel with the main office, thereby providing
a direct connection for local network management.
RAK has been used to configure the home router and to access home
computers. Potential applications for this system include remote
support for teleworkers or small affiliated offices, maintenance
services for SOHOs that can be arranged for a fixed monthly fee,
and remote assistance offered by telephone companies or ISPs that
provide Internet access.
Introduction
Telework is increasing at a rate similar to the number of home
Internet connections. Motivated by the improved bandwidth of DSL
and cable connections, along with decreasing fees, more people are
signing up for high-quality home connections. Employees who want
to access corporate services from home do not have any problems
as long as those services are accessible using Web-based interfaces.
Things get more complicated when inexperienced users must configure
applications such as a mail client, particularly because, instead
of accepting default protocols, companies have a tendency to force
secure protocols for any operation involving the use of personal
passwords. One step forward would be to allow users to create VPN
connections with their offices, hence giving full access to the
intranet. The complexity of VPN configuration, however, surpasses
most non-technical users, especially if the VPN requires the use
of personal certificates generated by a corporate public key infrastructure
not trusted by the home computer.
If the employee has a notebook computer for office, travel, and
home, then most configuration problems can be solved by the IT team
at the office. Nonetheless local network parameters, such as router
configuration or home desktop computer configuration, traditionally
require on-site action. Additionally, naive users have many common
daily problems that require local attention and real-time demonstrations.
Remote Administration Approaches
There are several remote administration approaches that allow
support personnel to access users' computers to see their screens
and perform keyboard and mouse actions. Some of these approaches
are valid for any operating system, and others are specific to Windows.
It is rather obvious that equipment for perimeter security will
make it difficult for remote assistance programs to access the local
network.
For security reasons, most Internet providers supply a modem/router
configured to block inbound traffic from the Internet into the local
network. Consequently, router configuration must be modified to
permit remote access. Typically, it must be modified in two ways:
opening TCP ports for inbound traffic, and adjusting Network Address
Translation (NAT) tables to translate a private IP address and port
number to a public IP address and port number.
In general, Unix systems are easier to maintain remotely because
most configuration adjustments can be performed using commands to
modify text files. Additionally, the X Window System is universally
supported in Unix systems, including Linux and Mac OS X. The X Window
System uses a protocol based on graphic objects and events that
allow remote execution of graphical applications with reasonably
low bandwidth use. The simple method for allowing remote administration
is to activate Secure Shell and configure the router to open port
22.
One approach for remote access of any operating system is to use
a KVM switch with IP connectivity. Such devices are oriented to
the remote management of data centers, and some examples are provided
by Adder Technology [1] and Xceedium. These devices allow a support
person to use the remote computer as if his or her own keyboard,
mouse, and monitor were connected to the remote computer. These
devices are quite expensive (around $1000) and not very easy to
install. One advantage is that no software installation is required,
but the user must disconnect the keyboard, the mouse, and the monitor
to install the KVM in between. Cable handling might be an important
obstacle for many users, but the main drawback is the necessity
to change router configuration to open some ports and define NAT
tables. Another disadvantage is that the communication could be
very slow because the screen must be sent as an image.
Another, less expensive, solution is to install specific software
for remote administration. A popular option is VNC, which is open
source and has been developed for different platforms:
http://www.realvnc.com/
This solution requires the user to install the server software on
his home computer, which can be a daunting task for inexperienced
users. To alleviate this installation process, a software package
can be provided by the support personnel to perform the installation
and configuration of the VNC and VPN software in a simplified way,
as described in a previous Sys Admin article [2]. Again, the
router configuration may be the main drawback.
Another alternative, which is only valid for Microsoft Windows
systems, is to use the Windows Remote Desktop [3], which communicates
through TCP port 3389. This software, like VNC, allows a remote
expert to get control the novice user's home computer. The main
advantage over VNC is that is comes pre-installed in Windows XP
and can be activated very easily (it is also available for other
versions of Windows, but not preinstalled).
Windows XP includes another tool, called Remote Assistance, designed
to request help from an expert [4]. This tool uses remote desktop
protocol and allows a novice user to request help via MS Messenger
or email. By using MS Messenger to request Remote Assistance, it
is possible to establish a remote administration connection without
modifying router configuration. But according to Microsoft TechNet
[5], one can skip router configuration of NAT tables only in certain
circumstances (UPnP NAT devices).
Description of the System
The RAK consists of a personal computer (running Linux or Windows)
that is configured to establish a VPN connection to the main office.
The employee carries this laptop home and connects it to the local
network, preferably by cables, although wireless connection is also
possible. Then, any systems administrator can enter the home network
through the personal computer, typically using SSH for Linux administration
or Windows XP Remote.
Desktop Connection for Windows Administration
The default router configuration blocks any incoming connections
from the Internet into the home network, consequently there is no
way for systems administrators to perform any maintenance (or attackers
to perform any mis-configuration) unless directly connected to the
private network. However, it is possible to establish a connection
with outside servers if originated within the local home network.
For this reason, the portable computer directly connected to the
home network is able to establish outside connections.
The system is configured to create a VPN connection with the main
office, therefore getting a corporate IP address in addition to
the home IP address assigned by the DHCP server of the router (see
Figure 1). In practice, RAK is seen as a home computer by home equipment
and as an office computer by other corporate computers (as if the
system were also physically connected to the office local network).
After all connections have been established, any communication
with home equipment is performed using the home IP address, while
any traffic with the office is performed through the VPN tunnel.
Consequently, systems administrators can use SSH or Remote Desktop
to gain control of the laptop and contact other machines. The support
person must know router and desktop passwords to perform administration;
these passwords must be provided by the user, although default router
passwords are easy to find on the Internet.
If the RAK is built on a Linux system, the straightforward method
is to use SSH to get into the laptop. Then, it is possible to enter
another Unix system using SSH or the router using telnet or Web
interface. The latter option also requires activating X, which is
a default tunnel for most SSH clients. If RAK is built on a Windows
system it is easier to use Remote Desktop, although SSH is also
possible by installing SSH server (based on OpenSSH) over Cygwin
[6].
The system was designed at the University Pontificia Comillas
(Madrid, Spain) to fill a need for professors of the Instituto de
Investigación Tecnológica who often want to access
University resources from home. This system is very convenient to
help our faculty/staff solve problems with their home computers,
and it could also be very useful for any organization in which employees
can work at home. Once the laptop is connected to the home network
of the user, it is possible to perform remote administration from
the university or even from the home of a systems administrator
(if another VPN connection were established); see Figure 2.
The system is very useful for the following types of tasks:
- Configuring routers, for example, checking security parameters
and configuring wireless access to allow connection of corporate
laptops.
- Installing or configuring special software in the desktop computer
for accessing corporate services, such as SSH clients, mail clients,
or even VPN connections.
- Configuring the home desktop computer to share folders and
printers with corporate laptop computers.
Tuning Configuration Parameters
There are a few configuration parameters that make RAK more
interesting and easier to use. Auto-startup features are used
to facilitate connection and startup; the user is only required
to connect cables and press one button. Auto-locking is provided
as a security feature for protecting the laptop computer from
user interaction. These tricks are not necessary if RAK is running
Linux; in that case, the only installation requirement is to
configure the creation of the VPN at startup.
Auto-Startup
For Windows XP, Microsoft provides a PowerToy (tool) called
Tweak UI that allows access to systems settings and options
not normally exposed in the user interface. Among these options,
there is a parameter called "Autologon" that can be used to
define the name of the default user that will log on automatically
at system startup, bypassing the initial login dialog box.
After login, the system will execute the programs found in
the Startup folder of the user, hence allowing us to create
a BAT (script) file that will establish the VPN connection.
This connection can be started by running the following command,
which must be copied into the BAT file:
rasdial connection_name
The word "connection_name" must be replaced by the name selected
during the VPN configuration process.
Auto-Locking the Computer
It is not a bad idea to lock the computer after starting and
establishing the connection. Locking the computer is not a real
security feature, but essentially prevents user interaction
by mistake (or by children). One good way to lock Windows XP
is by using the following command [7]:
rundll32.exe user32.dll, LockWorkStation
This line of code should be added to the BAT file included in
the startup folder of the default user.
Special Security Considerations
If you plan to use Remote Desktop, it must be activated in
the Control Panel/System, Remote tab. It may also be necessary
to adjust the firewall software, for example, if Win XP SP2
has been applied. These adjustments are necessary in the RAK
system and also in the desktop home computer if remote administration
is required on it.
One interesting option is to restrict connectivity for the
RAK computer within the office network. In the case of our University,
VPN access is limited to a few advanced users, and the connection
is established using EAP protocol and personal certificates
for higher security. To minimize the effect of a possible break
through the VPN access configured in RAK, the same office IP
address is always assigned to the laptop computer by the VPN
server, and that address is configured to connect only a selected
group of computers (local or also VPN) under the control of
expert support people.
Conclusion
A prototype of the RAK system has been implemented and tested
at the Universidad Pontificia Comillas. It has been used to
change the wireless settings of Wi-Fi routers just by opening
a navigator in a Remote Desktop of the RAK. It has also been
used to change configuration parameters in desktop computers
by opening a Remote Desktop of the home computer from the Remote
Desktop of the RAK. The latter procedure was quite slow, but
it is also be possible to change the router configuration to
allow for a direct Remote Desktop connection to the home computer.
Instead of using a standard notebook computer, it would be
more appropriate to develop a dedicated system, for example
using a PC/104 or Mini-ITX board, which would be less expensive.
In terms of security, such a dedicated system would be less
vulnerable, mainly because it would not have a keyboard or display.
Additionally, it would be lighter, smaller, and more robust,
and therefore more easily transported.
References
1. Stevens, Alan. November, 2004. "Adder Adderlink IP Simple,
Effective IP-based remote control", Personal Computer World.
2. Olson, Adam. 2005. "Branded VPN Deployment and Seamless
Remote Management". Sys Admin 14(6)8-13.
3. "Working Remotely with Windows XP". Microsoft. http://www.microsoft.com/windowsxp/using/mobility/default.mspx
4. "Using Remote Assistance to Get Help When You Need It".
Microsoft. http://www.microsoft.com/windowsxp/using/helpandsupport/learnmore/remoteassist/intro.mspx
5. "Administering Remote Assistance", Microsoft TechNet. http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/adminra.mspx
6. Fong, Nicholas. May, 2005. "How to install OpenSSH sshd
server and sftp server on a Windows 2000 or Windows XP or Windows
Server 2003". http://pigtail.net/LRP/printsrv/cygwin-sshd.html
7. Ferri, Vic. August, 2002. "Different Ways to Lock Windows
XP", TechTrax. http://pubs.logicalexpressions.com/Pub0009/LPMArticle.asp?ID=70.
Rafael Palacios is an Assistant Professor at the School
of Engineering, Universidad Pontificia Comillas, Madrid, Spain.
He has taught computer programming since 1996 and is an advisor
on network and Web security at the Institute of Research in Technology.
He can be reached at: palacios@mit.edu.
José Daniel Muñoz Frías is an Assistant
Professor at the School of Engineering, Universidad Pontificia
Comillas, Madrid, Spain. Since 1991 he has taught digital electronics,
computer architecture, and computer programming. He has been
hacking with Linux since 1995, using it for real-time control
and embedded systems. |