Spam and virus filtering

Mailboxes are protected by spam and virus filtering. All incoming and outgoing mail is scanned with ClamAV, and messages found to be containing a virus are rejected. There are also multiple anti-spam measures in place:

When a message is rejected, the error message will explain to the sender exactly why it happened, so that legitimate senders can attempt to fix the problem.

Additional options are available if necessary, such as per-user Bayesian filters like QSF.

Security

Each sub-server will only accept incoming connections on its standard ports for the services mentioned below; other ports can be opened for listening but attempts to connect to them from outside will fail. This reduces the spread of worms and other malware.

Outgoing connections for each sub-server are also limited. The web server can only make outgoing connections to the HTTP and HTTPS ports (for CGI scripts to be able to fetch other web pages, for instance); outbound mail from CGI scripts must be sent through the mail server. The mail server can only make outgoing connections to the SMTP port. The shell server has a larger range: SSH, HTTP, POP, NNTP, HTTPS and rsync are allowed. Again, all outgoing mail must be sent via the mail server.

These restrictions are in place to help ensure system security. If you have a valid reason for any of them to be relaxed, please use the Contact Form to discuss it.

Server setup

The server is an Intel machine running a version of Linux based on CentOS 5. It is made up of five sub-servers:

Master file server
Holds all user files, and exports them to the other servers. There is no access to this server.
DNS server
Runs the DNS service, for hosting domain name details. There is no access to this server.
Mail server
Runs SMTP and POP3 services (the SMTP server is Postfix). The only access to this server is via each user's .procmailrc file. Some spam and virus filtering is performed (see above), and additional options such as QSF are available.
Web / database server
Runs the Apache web server with PHP, and also runs MySQL for use by CGI and PHP scripts. Users do not have direct access to this server, except via FTP, but can run CGI and PHP scripts. CGI scripts will run under the owning user's UID. Perl and various CPAN modules are installed; more can be made available on request.
Shell server
Accepts SSH connections. While logged into the shell server, users can change their FTP/email/shell password, move files around, test CGI scripts, and so on.