Security Precautions The following precautions will help protect your Exim4U installation from hostile intruders and other potential security issues. 1) Use https instead of http for web access to all files. https encrypts all data using SSL/TLS which protects against eavesdropping and man-in-the-middle attacks. 2) Install Exim4U into an unpredictable path (i.e. don't call it exim4u). The Exim4U INSTALL file prescribes the install path as exim4u and so you may want to consider changing the path to something else. 3) Use complex passwords that would be difficult to defeat with dictionary attacks, etc. Passwords should contain upper and lower case letters, numbers, symbols and other characters. 4) If possible, password protect the entire Exim4U installation with Apache .htaccess files. However, this may not be viable if you are allowing individuals to change their own passwords, etc. Alternatively, you may use mod_auth_mysql so that the .htaccess file accesses the Exim4U user names and passwords from the MySQL database whereby any valid Exim4U user can authenticate via the .htaccess file. The following are two examples of using .htaccess to protect your installation. Example 1 - Basic .htaccess file requiring user authentication: AuthUserFile /etc/httpd/htpasswd AuthName "Exim4U Email Admin" AuthType Basic require valid-user In the above example, the user name(s) and password(s) are stored in a text file named /etc/httpd/htpasswd which would appear similar to this: UserName:EncryptedPassword exim4u:a4rfybtFoxxsR The file with the user name and password may be generated with the following command: htpasswd -c /etc/httpd/.htpasswd This command will then initiate a dialog for specifying the password. Example 2 - Advanced .htaccess file using mod_auth_mysql on RedHat/CentOS to access the Exim4U user names and passwords from the MySQL database: Options -Indexes AuthName "Exim4U Email Admin" AuthType Basic require valid-user AuthMySQLEnable On AuthMySQLSocket /var/lib/mysql/mysql.sock AuthMySQLDB exim4u AuthMySQLUser exim4u AuthMySQLPassword "DatabasePassword" AuthMySQLPwEncryption Crypt AuthMySQLUserTable users AuthMySQLNameField username AuthMySQLPasswordField crypt AuthMySQLNoPasswd off When using this feature you must install mod_auth_mysql from the RedHat/CentOS repos as follows: yum install mod_auth_mysql For more information on mod_auth_mysql refer to: http://modauthmysql.sourceforge.net/ Consult your documentation for how to implement mod_auth_mysql with other versions of Unix/Linux.