Project "Second Mail Server"
Summary
Currently all AEGEE.org emails go to one server. Sometimes the server is down, sometimes, the spam is too much to be proceeded promptly, sometimes the internet connection is broken. To increase the availability of the service a second mail server needs to be installed.
Infrastructure
Following ports must be opened (all TCP): 22 (ssh), 25 (SMTP), 143 (IMAP), 465 (Mail submission over SSL), 587 (Mail submission over TLS), 3306 (Mysql).
Additionally having following ports opened is nice to have: 53 (both TCP und UDP), 80, 443 .
To be clarified:
- If the power supply is robust, or UPS is additionally needed [Manos said: robust]
- When do you have access to the server (24/7 or only during working hours) [Manos said: normally only working hours. Will negotiate, but I doubt that something will change.]
- Who has access to the server (Is it hard for me to steal it, if I want)? [Manos said: Have to check the place that it will be placed first. Basically, there are 2 options: either the NOC of the uni, or the building of my faculty. Second option has 24/7 access but depends on a experimental laser link that gets unstable at summer]
Software
Operating System
The choice of Linux distribution is up to the server administrator. For example, AEGEEserv runs "Linux from scratch". The administrator has to regularly make updates. Make sure RAID1 is configured and the computer can book from both disks.
Software
Following packeges must be installed with their latest stable version: glib, perl, syslog, clamav, cyrus-sasl, perl, mysql, gcc, make, emacs, sed, gawk, spamass-milter, php.
This packages are customized for AEGEE and will be installed by Дилян: aegee-milter, sendmail, cyrus-imap, spamassassin (patches described at the end), liblistserv.
Install and configure a milter (sendmail filter) that can do greylisting, but do not integrate it with sendmail.
Things that still need to be coded/verified:
- Script for generating the aliases file, that when called from aegeeserv, updates the aliases file on the second mail server accordingly (not Дилян).
- Synchronization for the Sieve scripts (Дилян will check if cyrus-murder can do it) (not Дилян).
Principles of Operation
The second mail server will initally proceed the emails for @aegee.org, possible followed by @lists.aegee.org, @aegee.uka.de, @aegee.uni-karlsruhe.de and @mail.aegee.org . Each mail will be scanned for viruses and spam. Spam will be rejected during the SMTP dialog. Non-spam for ordinary addresses will be forwarded to the final mailbox.
The mailing lists will continue to run on AEGEEserv. The second mail server is supposed to mirror the sieve scripts generated for the mailing lists (probably done by cyrus' murder), execute them, and SMTP-reject mails from non-subscribers
The IMAP mailboxes (of headoffice@aegee.org and the members of the AEGEE Mail Team) will be replicated to both servers (via cyrus' murder system).
The Mysql tables, containing the vacation-responses and (in the future) the grey-listing data must also be replicated. (Question: Shall we use something different from Mysql?)
Hardware
Minimum hardware requirements:
- 2048MB RAM
- 50 GB HDD, 2 hard disks for RAID
- 2 GHz
- Remote control options (BMC or Remote Control Cards - Philipp insists on on this)
I suggest somebody makes an AEGEE-wide open call for free server, that some company does not need any more, and we check how to transport it to its new location.
To be clarified withing some days.
Written in February 2010 by Дилян Палаузов