![]() |
It is important to consider some of the security issues that relate to virtual subhosting. Because the Virtual Hosts operate in the same Virtual Server Environment, CGI scripts that are executed by any Virtual Host will inherit privileges to access any directory or file in your Virtual Server directory hierarchy.
For example, a malicious Virtual Hosted client could write a simple script to remove all of the files on your Virtual Server (not a "good thing"). Another script could send the contents of your "~/etc/passwd" file to a remote e-mail address where "weak" passwords could be decrypted. If your login password is susceptible to a dictionary crack, a subhosted client could effectively steal shell access away from you.
It is recommended that you do not offer full cgi-bin access to your Virtual Hosted clients unless you have complete trust in them (even then, they may accidently cause damage to your Virtual Server). We recommend one of the following alternatives:
<Host>
definition:
ScriptAlias /cgi-bin/ /usr/local/etc/httpd/cgi-bin/vhlib/
Another alternative is to provide your subhosted clients with a cgi-bin
that is not a subdirectory in their home directory. This would prohibit
them from uploading and executing any arbitrary script. Instead, the
subhosted client would e-mail you the script, you would review it, and
then install it into their cgi-bin directory (which can be configured
to be a subdirectory of your main cgi-bin directory). An example is shown
below:
ScriptAlias /cgi-bin/ /usr/local/etc/httpd/cgi-bin/HOSTNAME/
Where the subdirectory HOSTNAME becomes the cgi-bin directory for the subhosted client (you may want to use the same directory name for both the htdocs and cgi-bin subdirectories).
We recognize that in most cases it is likely that not only are you providing your clients with hosting service, but you are also designing their web content and writing their CGI scripts as well. So this discussion may not be applicable to your specific situation, but it is still an element to remember should you decide to expand the scope of your services in the future.