FreeXP

Die Technik hinter dem FreeXP-Server

FreeXP Admin admin at freexp.de
Die Jun 1 00:10:06 CEST 2004


<Versionsstand dieses Textes ist der 08.05.2004>

In diesem Text finden sich wichtige Hinweise zur Technik hinter dem
Server von freexp.de. Ob sich etwas an diesem Text geändert hat, erkennt
man an obigem Datum.


1.   Das Grundsystem:

     freexp.de wird auf einem vServer small von vollmar.net gehostet
     (virtueller Server mit 5GB Plattenplatz). Siehe dazu auch die
     Seiten von vollmar.net unter http://www.vlinux.de 

     Virtuelle Server sind Server, die auf einem größeren System so
     gehostet werden, das sie sich fast wie ein dedizierten Server
     verhalten. Nur müssen sich natürlich alle virtuellen Server die
     Rechenleistung, die Netzbandbreite und den Speicher teilen.

     Plattenplatz ist ebenfalls begrenzter als bei echten dedizierten
     Servern. Für freexp.de reichen die Kapazitäten allerdings völlig
     aus.

     Mehr zu virtuellen Servern: http://www.linux-vserver.org


2.   Die Systemsoftware:

     Der FreeXP-Server wird mit Software aus der Debian Sarge Linux-
     Distribution betrieben. Als Linux-Kernel kommt ein aktueller
     2.4er-Kernel mit vServer-Patch zum Einsatz. Der Kernel kann
     allerdings von FreeXP *nicht* beeinflußt werden, da es sich wie
     bereits in Punkt 1 erläutert beim FreeXP-Server um einen virtuellen
     Server handelt. Bei virtuellen Servern nutzen alle auf demselben
     System gehosteten Server den gleichen Linux-Kernel.


3.   Die Serversoftware:

3.1  Der Webserver:

     Es wird der jeweils für Debian Sarge aktuelle Apache 2 benutzt.
     PHP4 wird als CGI angebunden.


3.2  Der FTP-Server:

     Beim FTP-Server handelt es sich um den jeweils aktuellen ProFTPd
     aus Debian Sarge. Er ist so konfiguriert, daß man ihn nur zum
     anonymen Download benutzen kann. Ein Upload auf den FreeXP-Server
     ist aus Sicherheitsgründen weder anonym noch per namentlichem Login
     möglich.


3.3  Die Textkonsole:

     Administrativer Zugang per Textkonsole ist ausschließlich via SSH
     möglich. Hierzu kommt das aktuelle OpenSSH aus Debian Sarge zum
     Einsatz.


3.4  CVS-Server:

     Auf dem FreeXP-Server ist der jeweils aktuelle CVS-Server aus
     Debian Sarge im Einsatz. Er ist als pserver konfiguriert und
     erlaubt anonym nur das Beziehen der aktuellen FreeXP-Sourcen. Um
     Änderungen selbst einspielen zu können, ist ein persönlicher
     CVS-Account notwendig.

     Näheres zum CVS-Server ist auf der Webseite
     http://www.freexp.de/sources.php nachzulesen.


3.5  Die Zeit, wo ist sie geblieben:

     Per NTP kann beim FreeXP-Server die Zeit erfragt werden. Der
     eingesetzte NTP-Server verbindet sich zwecks Syncronisation direkt
     mit ntp1.ptb.de


3.6  Der Mailserver:

     Bis 06.05.2004:
     Als SMTP-Server kam Exim 3.36 zum Einsatz. Um diverse Müllplagen
     einzudämmen, wurden folgende Filter eingesetzt:

     - Exiscan als Virenscan-Modul, das mittels Clamav alle ankommenden
       Mails auf Viren überprüfte. Wurde ein Virus entdeckt, wurde die Mail
       nicht zugestellt, sondern in Quarantäne genommen und nach einigen
       Tagen gelöscht. Aufgrund der derzeit großen Müllmenge ist eine
       manuelle Prüfung jeder Virenmail vor dem Löschen *nicht* möglich.
       Auch erfolgte keine Benachrichtigung des Empfängers, da die
       Virenmeldungen sonst überhand genohmen hätten.
       Der Absender der Mail wurde ebenso nicht benachrichtigt - zu viele
       Viren bzw. Würmer fälschen inzwischen auch den Absender.

     - SpamAssassin als Spamfilter für alle auf dem FreeXP-Server
       existierenden Mail-Accounts.

    Ab 07.05.2004 erfolgten folgende Änderungen:
    Als SMTP-Server kommt Exim 4.31 zum Einsatz bzw. der jeweils aktuelle
    Exim4 aus Debian Sarge. Um diverse Müllplagen einzudämmen, werden folgende
    Filter eingesetzt:

     - Exiscan-acl als Virenscan-Modul, das mittels Clamav alle ankommenden
       SMTP-Connections auf Viren überprüft. Wird ein Virus entdeckt, wird
       die Einlieferung der Mail mit einem Fehlercode 550 verweigert.
       Eine Benachrichtigung des Empfängers der so nicht eingelieferten
       Mail erfolgt nicht. Der Absender wird durch seinen Mailserver darüber
       in Kenntnis gesetzt das seine Mail nicht eingeliefert werden konnte.
       Diese Benachrichtigung ist möglich, da das Abweisen der Mail bereits
       während des SMTP-Dialogs erfolgt und nicht wie bisher unter Exim3
       später.

     - SpamAssassin als Spamfilter für alle auf dem FreeXP-Server
       existierenden Mail-Accounts.
       Derzeit noch klassisch wie bei Exim3. An einer Lösung auf Ebene
       des SMTP-Dialogs arbeite ich noch. Ebenso am Abweisen von
       BadMIME-Mails.

     Gleichgeblieben ist:
    
       Um den Mißbrauch des FreeXP-Servers für Spam als Open Relay zu
       verhindern. wird Mailrelaying nur nach Authentifizierung via
       SMTP-AUTH unterstützt.

     - Als POP3-Server kommt pop3d aus Debian Sarge zum Einsatz.

     - Als IMAPS-Server wird uwimapd benutzt.


3.7  Der Mailinglisten-Manager:

     Als Mailinglisten-Manager kommt ein von uns modifizierter Mailman
     zum Einsatz, der Message-IDs beim Gaten nicht verändert. Dadurch
     ist eine funktionierende Bezugsverkettung in beiden Richtungen
     gewährleistet. Mailman ist so konfiguriert, daß es als Mail2News-
     Gate funktioniert und alle Mailinglisten-Mails, die an eine der
     öffentlichen Mailinglisten auf dem FreeXP-Server gesendet wurden,
     an die korrespondierende Newsgroup gatet. Neue Postings in eine
     Newsgroup werden im Gegenzug als Mail an die entsprechende
     Mailingliste zurückgegated.

     Mailman testet via SpamAssassin jede Mailinglisten-Mail auf Spam
     und entsorgt automatisch jede Mail, die mit hoher Wahrscheinlich-
     keit Spam ist. Bezüglich Viren ist zu beachten, daß Virenmails an
     Mailinglisten bereits durch Exiscan nach der Einlieferung per SMTP
     an Exim aus dem System genommen werden.

     Bitte beachten: Auch wenn hier auf Viren gescannt wird, ist nicht
                     ausgeschlossen, daß das System Viren übersieht und
                     sie somit zugestellt werden.


3.8  Der Newsserver:

     Wir verwenden den aktuellen INN2.4 aus Debian Sarge. Die Haltezeit
     der Postings auf news.freexp.de ist auf unendlich eingestellt.

     Entsorgt werden alte Postings dennoch irgendwann. Dies passiert, da
     wir hier als Speichermethode CNFS (Cyclic News File System)
     benutzen, sobald das CNFS dieselbe Speicherstelle wiederverwendet
     hat. Es existieren 2 CNFS-Spools: ONE und TWO.

     ONE wird für die Gruppen crosspoint.freexp.bin und
     crosspoint.freexp.cvs verwendet, TWO für alle anderen.

     Beide Spools sind 100.000.000 Bytes (ca. 97MB) groß. 
     Wer also wissen will, wann ein von ihm abgesetztes Posting vom
     Server entfernt wird, der kann dies nicht anhand einer Anzahl Tagen
     abschätzen, sondern muß sehen das erst 97 MB in denselben Spool
     geschrieben werden müssen, bis ein Posting weg ist. 
     CNFS sind Ringbuffer.

     Es existieren derzeit folgende Feeds zu anderen Newsservern:

     news.t-online.de      T-Online
     news.ping.de          PING e.V.


3.9  Webforen:

     Als Foren-Software kommt PHPBB2 zum Einsatz. Mittels Newssync
     werden die Webforen mit dem Newsserver synchron gehalten. Das
     Aktualisierungsintervall liegt bei 10 Minuten.


3.10 MRTG:

     Wer den Verlauf der Aktivitäten auf dem FreeXP-Server graphisch
     verfolgen will, kann dies unter http://www.freexp.de/mrtg/ tun.


4.   Fehlt etwas ?

     Dann schreibt einfach an admin at freexp.de


Martin Wodrich <mw at freexp.de>



Mehr Informationen über die CVS-List Mailingliste