Frequently Asked Question for
ISP
Q: How do I uninstall this product?
A: Use the /usr/sbin/http_uninstall
command. If you have added virtual hosts under protection,
It will ask "Please remove virtualhost in GUI
firstly" and stop the uninstall. Go to ISP
GUI's HTTProtect Tools, choose "Virtual Host"
icon and remove all the protected virtual hosts. Then,
re-do the /usr/sbin/http_uninstall command to
remove the HTTProtect software. This will allow you to
re-use the old virtual host content if it is decided to be
added for protection later on.
Q: How do I update my
expired HTTProtect evaluation copy?
A: HTTProtect can be updated from expired evaluation
copy to licensed one without re-install the software or
reboot the server. As root, the server System Admin just
issue the following command:
/lib/vpdisk/vpdadmin activate <License #>
<Key>
Q: How do I upgrade
HTTProtect package?
A: HTTProtect may be upgraded without reboot. Issuing
the setup.sh (or install shar script), It will detect if
the VPDisk in the HTTProtect package is newer than what is
in your current server. If no VPDisk is updated on the
newer HTTProtect package, then you don't need to remove
the VPDisk, and upgrade will not require to reboot the
system. See part of the install log below for detail:
...
You are installing the same version of VPDisk as currently
in your system, Please enter n to bypass VPDisk removal below.
Checking system configuration ... please wait ...
An existing VPDisk package is installed and running.
You must remove the package and reboot before installing
this new VPDisk package.
Would you like to do so now? [Y]n
Q: How do I protect or un-protect a directory on my Web server?
A: HTTProtect is designed to protect the web site on a
web server. If you are using Apache, Apache related
directories, Webserver Root, HTML Document Root, CGI Root,
Conf Root and Modules Root, are automatically protected
after installation. After logging into the HTTProtect web
admin GUI, protection is done by clicking on the lock icon
under the "size" row of the File Manager. A
directory is protected if a closed lock icon is shown,
while an open lock icon indicates that a directory is not
protected.
Q: How do I set the
HTML Root path to a different path then the default HTML
Root path in Apache ?
A: If Apache is used as your web server, you should
update the httpd.conf file under the Apache directory. Change
the DocumentRoot according to the HTML Root path currently
used for your homepage. During installation of HTTProtect,
you need to update only the HTML Document Root accordingly
and leave the rest of Apache directories un-touched. This
will protect your homepage. In the case you do not
have Apache, you can install it from our CD. Once you have
Apache installed, you can update httpd.conf accordingly.
Apache needs to be restarted when the httpd.conf is
modified.
Q: How do I restart Apache?
A: Use the "apachectl" command as shown
below:
On Solaris 8 systems:
/usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/apachectl start
On Linux 2.4 systems:
/usr/sbin/apachectl stop
/usr/sbin/apachectl start
Q: What is the lock_list? How do I protect my system commands?
A: Some system directories are or can be hardened by
HTTProtect after initial installation. The list of
hardened directories is located in /etc/omnisecure/lock_list.
Following is a sample of the lock_list file.
/usr/local;node;firm /sbin;tree;firm+
For each line entry, the 1st argument is the directory to
be hardened. The 2nd argument is the node or tree. And the
3rd argument is 'firm' for node and 'firm+' for tree. In
this example, the first line indicates that the directory,
/usr/local, is locked at the node with a firm lock. The
second line shows that the directory tree within /sbin is
locked with the firm+ lock. Type man omnish
for argument usage.
CAUTION:
On the initial installation of HTTProtect software, the
default lock_list is placed under /etc/omnisecure
directory. Your system administrator needs to update the
lock_list manually and harden it.
Q: How do I harden
and/or un-harden a directory on the server?
A: System hardening on the web server is done through
the file called lock_list. To do hardening/unhardening,
one needs to update the lock_list file. This must be
performed within the sys admin interface, /bin/omnish.
Execute the following command after the lock_list is
modified for the new hardening to take effect:
Hardening: omnish -h
Un-hardening: omnish -u
CAUTION:
The lock_list is used for system directory hardening
purpose, Web related directory protection should be done
in GUI.
Q: How do I change my
"omnish" pass phrase?
A: Type: omnish -c
Q: What if I forgot my
"omnish" pass phrase?
A: It is not possible to recover the existing omnish
pass phrase. However, it can be reset to re-create a new
one. This method can be used to recover a system if the
pass phrase is lost. Following is the procedure:
- Reboot the server into
single user mode:
On Solaris systems, hit the Stop key along with the A key to halt the server, then type boot -s at the OK prompt.
On Linux systems, type shutdown -r now, then type linux single at the LILO prompt. - Remove the old
HTTProtect sys admin id file:
On the command line type rm /etc/omnisecure/.vpdlock - Re-boot the system:
On Solaris systems, type boot on the command line.
On Linux systems, type shutdown -r now - Initialize new password:
On the command line execute omnish and you will be prompted to set up a new password.
Q: What if I set a
different HTML root path during installation than that in
the httpd.conf file?
A: Your HTTProtect GUI will have icons missing. The
DocumentRoot path in httpd.conf file MUST be the same as
the one that you enter at the "Enter document
root" prompt during installation. You may re-install
the product to correct an incorrect entry.
Q: Does this product have SMP support?
A: No, it only support single CPU.
Q: What can HTTProtect not do?
A: HTTProtect is designed to protect the web contents
of ISP and its Virtual Hosts. It is the ISP admin's
responsibility to make sure correct files, directory paths
are set, and network interfaces are up. HTTProtect does
not have the capabilities to configure these items.
Q: How do I support ~userid/public_html?
A: Below is a sample configuration of /etc/httpd/conf/httpd.conf:
<IfModule mod_userdir.c>
#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
#UserDir disable
#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disable" line above, and uncomment
# the following line instead:
#
UserDir public_html
</IfModule>
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
ScriptAliasMatch ^/~([^/]*?)/cgi-bin/(.*) "/home/$1/cgi-bin/$2"
NOTES:
- "userid" account must already exist and have permission of 711.
- The public_html and cgi-bin directories under "userid" account must have permission of 755.
- When the ISP admin adds Virtual Host for "userid", the Virtual Host Name should use "userid" not "~userid".
- After ISP admin has added this "userid" account, the account owner can then register for web content protection at http://YYY/~userid/cgi-bin/httprotect/httprotect (where YYY is the ISP Server that hosts "userid" account).
Q: How do I setup the
Virtual Host with shared IP?
A: Below is a sample configuration of /etc/httpd/conf/httpd.conf:
#ISP IP also shared with Vhost1 and Vhost2:
NameVirtualHost 60.186.154.41
#ISP:
<VirtualHost 60.186.154.41>
DocumentRoot /var/www.serviceprovider.com/html
ServerName www.serviceprovider.com
ScriptAlias /cgi-bin/ "/var/www.serviceprovider.com/cgi-bin/"
ErrorLog logs/www.serviceprovider.com-error_log
</VIrtualHost>
<Directory "/var/iwww.service.provider.com/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
#IVhost1
<VirtualHost 60.186.154.41>
DocumentRoot /var/www.company1.com/html
ServerName www.company1.com
ScriptAlias /cgi-bin/ "/var/www.company1.com/cgi-bin/"
ErrorLog logs/www.company1.com-error_log
CustomLog logs/www.company1.com-access_log combined
</VirtualHost>
#IVhost2
<VirtualHost 60.186.154.41>
DocumentRoot /var/www.company2.com/html
ServerName www.company2.com
ScriptAlias /cgi-bin/ "/var/www.company2.com/cgi-bin/"
ErrorLog logs/www.company2.com-error_log
CustomLog logs/www.company2.com-access_log combined
</VirtualHost>
The /etc/hosts file or DNS server should be updated accordingly to view the virtual hosts. For example:
127.0.0.1 www.serviceprovider.com, localhost
127.0.0.1 www.company1.com, www.company2.com
Register the VH at http://www.company#.com/cgi-bin/httprotect/httprotect.
Q: How do I setup a
Virtual Host with separate IPs?
A: Below is a sample configuration from /etc/httpd/conf/httpd.conf:
#ISP IP:
NameVirtualHost 60.186.154.41
#Separate VH IP:
NameVirtualHost 60.186.154.57
NameVirtualHost 60.186.154.58
#ISP:
<VirtualHost 60.186.154.41>
DocumentRoot /var/www.serviceprovider.com/html
ServerName www.serviceprovider.com
ScriptAlias /cgi-bin/ "/var/www.serviceprovider.com/cgi-bin/"
ErrorLog logs/www.serviceprovider.com-error_log
</VIrtualHost>
<Directory "/var/iwww.service.provider.com/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
#IVhost1
<VirtualHost 60.186.154.57>
DocumentRoot /var/www.company1.com/html
ServerName www.company1.com
ScriptAlias /cgi-bin/ "/var/www.company1.com/cgi-bin/"
ErrorLog logs/www.company1.com-error_log
CustomLog logs/www.company1.com-access_log combined
</VirtualHost>
#IVhost2
<VirtualHost 60.186.154.58>
DocumentRoot /var/www.company2.com/html
ServerName www.company2.com
ScriptAlias /cgi-bin/ "/var/www.company2.com/cgi-bin/"
ErrorLog logs/www.company2.com-error_log
CustomLog logs/www.company2.com-access_log combined
</VirtualHost>
The appropriate hostname need to be set on each
hostname interface (in this case eth0):
/etc/hostname.eth0
/etc/hostname.eth0:1
/etc/hostname.eth0:2
With "www.serverviceprovider.com"
on hostname.eth0,
"www.company1.com"
on /etc/hostname.eth0:1 and
"www.company2.com"
on /etc/hostname.eth0:2.