Debian Maia

Aus Wiki
Zur Navigation springen Zur Suche springen

Einleitung

Maia Mailgurad (http://www.maiamailguard.com) ist ein sehr leistungsfähiges Tool zur Bekämpfung von Spam und Viren. Es bietet jedem einzelne User eine sehr komfortable Weboberfläche zur Konfigurierung der Optionen. Der Admin nimmt die Grundkonfiguration von. Maia basiert auf amavisd-new, das Spamassasin zur Spambekämpfung und ClamAV zur Virenabwehr einbindet.


Diese Anleitung ist angelehnt an http://www.maiamailguard.com/maia/wiki/Install. Sie enthält aber zahlreiche weitere Informationen und Konfigurationsschritte.


Voraussetzungen:

Installation

Es sind zahlreiche Pakete erforderlich:

Debian Paketmanager:

apt-get --yes install libgd2-xpm php-pear php5-imap php5-ldap php5-mcrypt php5-gd libmilter-dev
apt-get --yes install php5-xmlrpc php-mail-mime php-pager php-log php-htmlpurifier php-db
apt-get --yes install php-auth-sasl php-net-socket php-net-smtp php-net-imap 
apt-get --yes install libcrypt-blowfish-perl libossp-uuid-perl libio-zlib-perl libconvert-uulib-perl
apt-get --yes install libarchive-tar-perl libarchive-zip-perl libtemplate-perl libio-socket-ssl-perl
apt-get --yes install libemail-address-perl libconvert-tnef-perl libnet-ldap-perl libencode-detect-perl
apt-get --yes install libnet-server-perl libnet-ident-perl libtext-csv-perl libmime-tools-perl libmail-dkim-perl
apt-get --yes install libunix-syslog-perl libnet-dns-perl libberkeleydb-perl libcrypt-cbc-perl
apt-get --yes install imagemagick smarty
apt-get --yes install unrar-free nomarch lzop cabextract bzip2 p7zip-full rar lha zoo ripole
apt-get --yes install clamav clamav-daemon clamav-docs
apt-get --yes install spamassassin razor pyzor 
apt-get --yes install curl rsync dnsutils

Pear PHP-Manager:

pear channel-update pear.php.net
pear upgrade pear
pear install DB_Pager
pear install Net_POP3
pear install --alldeps Image_Color
pear install -f Image_Canvas
pear install -f Numbers_Words
pear install Numbers_Roman
pear install -f Image_Graph


Maia und AmvisD

mkdir /usr/local/src/maia
cd /usr/local/src/maia
svn checkout https://www.maiamailguard.com/svn/branches/1.0

(Die Abfrage mit permanent p beantworten)

cd 1.0
mkdir /var/amavisd
mkdir /var/amavisd/maia
mkdir /var/amavisd/db
mkdir /var/amavisd/tmp
mkdir /var/amavisd/var
mkdir /var/maia
mkdir /var/run/maia
mkdir /var/lock/maia

cp -R scripts /var/amavisd/maia/
cp -R templates  /var/amavisd/maia/
cp maia.conf.dist /etc/maia/maia.conf
cp maiad.conf.dist /etc/maia/maiad.conf
cp *.cf /etc/spamassassin/
cp php/config.php.dist php/config.php
cp -R php /var/www/
mv /var/www/php /var/www/maia
cp maiad /usr/sbin

addgroup amavis
adduser www-data amavis
useradd -g amavis -d /var/amavisd amavis

chown -R amavis. /var/amavisd
chown -R amavis. /var/run/maia
chown -R amavis. /var/lock/maia
chown -R www-data. /var/www/maia
chown root. /usr/sbin/amavisd-maia
chown amavis. /etc/maia.conf
chmod 640 /var/amavisd/maia/templates/*.tpl
chmod 750 /var/amavisd/maia/scripts/*.pl
chmod 640 /etc/maia.conf 
chmod 755 /usr/sbin/amavisd-maia
ln -s /usr/sbin/maiad /usr/sbin/amavisd
ln -s /usr/share/php/smarty/libs /usr/share/php/Smarty

cd /etc/init.d
wget ftp://download:download@schiele.homelinux.org/debian/maia-init
mv maia-init maia
chmod 755 maia
update-rc.d maia defaults

Default-File anlegen:

vi /etc/default/maia

Folgenden Inhalt einfügen:

# /etc/default/maia
#

# Change to one to enable amavis
ENABLED=1

PIDFILE="/var/amavisd/var/amavisd.pid"

# Set nice level of spamd
#NICE="--nicelevel 15"

SQL-Datenbank anlegen

Maia benötigt eine MySQL-Datenbank. Diese wird im folgenden angelegt und mit Inhalt befüllt. maia_db_pwd mit einem Passwort für die maia Datenbank ersetzen.

cd /usr/local/src/maia/1.0
 mysql -u root -p mysql

mysql_root_pwd eingeben

CREATE DATABASE maia;
use maia;
GRANT CREATE, DROP, ALTER, SELECT, INSERT,UPDATE, DELETE ON maia.* TO amavis@localhost IDENTIFIED BY 'maia_db_pwd';
exit

mysql -u root -p maia < maia-mysql.sql

mysql_root_pwd eingeben


Konfiguration

Spamassassin

vi /etc/default/spamassassin

Spamassassin aktivieren:

ENABLED=1

Cronjob zum Update der Spamassassin-Regeln aktivieren:

CRON=1


Plugin Pyzor:

pyzor discover
su amavis -c 'pyzor discover'
su amavis -c 'pyzor ping' 

Pyzor ping sollte ein Ok liefern: public.pyzor.org:24441 (200, 'OK')

Plugin Razor:

razor-admin -create
razor-admin -register
cp -r /root/.razor /var/lib/amavis
chown -R amavis:amavis /var/lib/amavis

Plugin DCC:

cd /usr/local/src
wget http://www.dcc-servers.net/dcc/source/dcc-dccproc.tar.Z
tar xzvf dcc-dccproc.tar.Z
cd dcc-dccproc-[tab][enter] 
./configure --with-uid=amavis
make
make install
ln -s /var/dcc/libexec/cron-dccd /usr/bin/cron-dccd 
chown -R amavis:amavis /var/dcc 

Testen von DCC:

cdcc info 

Es sollten Antworten von den DCC-Servern erfolgen. Localhost (127.0.0.1) wird nicht antworten. Dies ist normal hier.

DCC regelmäßig updaten:

vi /etc/cron.daily/amavisd-new

Folgenden Befehl anhängen:

test -e /usr/bin/cron-dccd && exec /usr/bin/cron-dccd

Aktivieren der Plugins und Bayes-Filter:

vi /etc/spamassassin/local.cf

Kommentarzeichen (#) von folgenden Einträgen entfernen bzw. Einträge einfügen:

lock_method flock
use_bayes 1
bayes_auto_learn 1
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
bayes_ignore_header X-Spam-Level
bayes_ignore_header X-Received-From-IP
bayes_ignore_header X-Virus-Scanned
bayes_ignore_header X-Sender
bayes_ignore_header X-Mailer

#Store Bayes Information in SQL-Database
bayes_store_module              Mail::SpamAssassin::BayesStore::SQL
bayes_sql_dsn                   DBI:mysql:maia:localhost
bayes_sql_username              amavis
bayes_sql_password              maia_db_pwd

auto_whitelist_factory          Mail::SpamAssassin::SQLBasedAddrList
user_awl_dsn                    DBI:mysql:maia:localhost
user_awl_sql_username           amavis
user_awl_sql_password           maia_db_pwd

#this next part will store all data in just one user's table, no matter who runs sa-learn
bayes_sql_override_username amavis

#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor

#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf
razor_timeout 8

#dcc
use_dcc 1

DCC-Plugin aktivieren:

vi /etc/spamassassin/v310.pre 

DCC Plugin aktivieren (#-Zeichen entfernen):

loadplugin Mail::SpamAssassin::Plugin::DCC

Spamassassin Regeln updaten:

sa-update

ClamAV

ClamAV ist ein Open Source Antivirentool, das sich in idealerweise in Zusammenarbeit mit AmavisD auf einem Mialserver zur Virenabwehr einsetzen läßt. Zusammen mit dem ClamAV-Daemon wird der freshclam-Daemon gestartet, der im Hintergrund ständig die aktuellsten Virensignaturen herünterlädt.

amavis- und clamav- User den jeweiligen Benutzergruppen hinzufügen, damit diese auf gewisse Files gemeinsamen Zugriff erhalten:

adduser clamav amavis
adduser amavis clamav

Für den Einsatz von ClamAV auf einem Mailserver empfiehlt sich, die zusätzlichen Phishing, Spam und Malware Signatures von http://www.sanesecurity.net einzubinden. Dazu steht auf der Homepage ein Script bereit, das diese Signaturen downloaded und ClamAV zur Verfügung stellt.

cd /usr/local/src/maia
wget http://www.inetmsg.com/pub/clamav-unofficial-sigs.tar.gz
tar -xvf clamav-unofficial-sigs.tar.gz
cd clamav-unofficial-sigs- <tab+enter>
chmod 755 *.sh
cp clamav-unofficial-sigs.sh /usr/local/bin
cp clamav-unofficial-sigs.conf /etc/
cp clamav-unofficial-sigs.8 /usr/local/man/man8
cp clamav-unofficial-sigs-cron /etc/cron.d
cp clamav-unofficial-sigs-logrotate /etc/logrotate.d
ln -s /etc/clamav-unofficial-sigs.conf /usr/local/etc/clamav-unofficial-sigs.conf

Konfiguration des updatescripts:

vi /etc/clamav-unofficial-sigs.conf

Folgende Einstellungen vornehmen:

clamd_pid="/var/run/clamav/clamd.pid"
reload_dbs="yes"
clamd_socket="/var/run/clamav/clamd.ctl"
user_configuration_complete="yes"

Beim ersten Start des Update Scripts legt dieses nötige Verzeichnisse an und lädt einen GPG-Key herunter, der für die Updates nötig ist, um deren Integrität zu verifizieren.

clamav-unofficial-sigs.sh

Das Script gibt jede Menge Informationen und Statusmeldungen aus. Das Updatescript wird regelmäßig jede Stunde ausgeführt. Auch dabei erzeugt das Script diese Ausgaben, die Cron per Mail an User root weitergibt. Um dies zu vermeiden sollten die Ausgaben folgendermaßen unterdrückt werden:

vi /etc/cron.d/clamav-unofficial-sigs-cron

Die Cron-Zeile um >/dev/null erweitern:

45 * * * * root /usr/local/bin/clamav-unofficial-sigs.sh -c /usr/local/etc/clamav-unofficial-sigs.conf >/dev/null 2>dev/null

Ergänzen der Sanesecurity Spamdomain-Regel:

vi /etc/spamassassin/sanesecurity.cf

Ans Ende folgende Zeilen einfügen:

# Sanesecurity.InetMsg.SpamDomain
header   AV_SS_INETMSG X-Maia-AV-Status =~ m{\bInetMsg\.SpamDomain-2(m|w)\.}m
describe AV_SS_INETMSG Sanesecurity InetMsg Domain signature detected
score    AV_SS_INETMSG 5

# Sanesecurity.Jurlbl.*
header   AV_SS_JURLBL X-Maia-AV-Status =~ m{\bSanesecurity\.Jurlbl\.}m
describe AV_SS_JURBL Sanesecurity jurbl signature detected
score    AV_SS_JURBL 5

ClamAV neustarten:

/etc/init.d/clamav-freshclam restart
/etc/init.d/clamav-daemon restart


Maia und AmavisD

vi /etc/maia/maia.conf

In der folgenden Zeile password durch das oben vergebene Passwort maia_db_pwd ersetzen:

$password = "password";

Auth Methode auf Imap ändern:

$auth_method = "imap";

Keine Spam-Reports an Razor, Pyzor und DCC versenden:

$report_options = 0;
vi /var/www/maia/config.php

In der folgenden Zeile password durch das oben vergebene Passwort maia_db_pwd ersetzen:

$maia_sql_dsn = "mysql://amavis:password@tcp(localhost:3306)/maia";

Anpassen der Policy-Level (Prtotection). Die Standardeistellung von medium und high haben relativ niedrige Score-Score Werte zur Erkennung von Spam. Dadurch könnten versehentlich Ham-Mails als Spam deklariert werden.

Bedeutung der einzelnen Einträge:

Parameter amavisd-new equivalent value
Pass viruses through? virus_lover 'Y' or 'N'
Pass spam through? spam_lover 'Y' or 'N'
Pass banned files through? banned_files_lover 'Y' or 'N'
Pass mail with invalid headers through? bad_header_lover 'Y' or 'N'
Disable virus scanning? bypass_virus_checks 'Y' or 'N'
Disable spam checking? bypass_spam_checks 'Y' or 'N'
Disable banned files checking? bypass_banned_checks 'Y' or 'N'
Disable invalid header checking? bypass_header_checks 'Y' or 'N'
Discard viruses? discard_viruses 'Y' or 'N'
Discard spam? discard_spam 'Y' or 'N'
Discard banned files? discard_banned_files 'Y' or 'N'
Discard invalid mail headers? discard_bad_headers 'Y' or 'N'
Add a prefix to spam subjects? spam_modifies_subj 'Y' or 'N'
Add spam score headers when score is >= spam_tag_level -999.9 to 999.9
Consider mail spam when score is >= spam_tag2_level -999.9 to 999.9
Quarantine or discard spam when score is >= spam_kill_level -999.9 to 999.9

Das Array $protection besteht aus einer Kennung der Policy gefolgt von => und dann einem Array mit Einträgen gemäß obiger Tabelle.

$protection = array( 'off'     => array ('Y','Y','Y','Y','Y','Y','Y','Y','N','N','N','N','N','999','999','999'),
                     'low'     => array ('N','Y','Y','Y','N','Y','Y','Y','N','N','N','N','N','999','999','999'),
                     'medium'  => array ('N','N','Y','Y','N','N','Y','Y','N','N','N','N','Y','-999','6.31','6.31'),
                     'high'    => array ('N','N','N','N','N','N','N','N','N','N','N','N','Y','-999','5','5')
);


Mit folgender Einstellung erfolgt die Authentifizierung gegen den Cyrus-Imap-Server:

$auth_method = "imap";


vi /etc/maia/maiad.conf

Kommentarzeichen entfernen:

$pid_file  = "$MYHOME/var/amavisd.pid";

Domain ändern:

$mydomain = 'domain.org';  # a convenient default for other settings

Nach $mydomain folgenden Eintrag einfügen:

@local_domains_acl=( ".$mydomain" );

Folgende Einstellungen anpassen:

$DO_SYSLOG = 1;
$sa_dsn_cutoff_level = 25;
@lookup_sql_dsn = ( ['DBI:mysql:maia:localhost', 'amavis', 'maia_db_pwd'] );
$unrar      = ['rar', 'unrar'];

Hostname anpassen:

$myhostname = 'debian.domain.org';  # must be a fully-qualified domain name!

Kommentarzeichen vor der Zeile 'qr'^MAIL$',' entfernen:

@keep_decoded_original_maps = (new_RE(
 qr'^MAIL$',   # retain full original message for virus checking (can be slow)

Den Bereich @non_malware_viruses_maps folgendermaßen anpassen:

@non_malware_viruses_maps = (new_RE(
  qr'^(HTML\.Phishing|Phishing)\.',
  qr'^MSRBL-(Images|SPAM)\.',
  qr'^INetMsg\.SpamDomain-2(m|w)\.',
  qr'^Sanesecurity\.(Junk|Lott|Phishing|PhishingTestSig|Casino|Bou|Cred|Job|Jurlbl|Stk|Loan|Porn|Hdr|Dipl|Spear|Img|Img0|Spam|Spam4|SpamL|SpamImg|Scam|Scam4|ScamL)\.',
));

Socket für Clam_AV anpasen:

['ClamAV-clamd',
  \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.ctl"],

Spamassassin-Regeln in die DB

Die Spamassassin-Regeln müssen in die Maia Datenbank eingelesen werden:

/var/amavisd/maia/scripts/load-sa-rules.pl --debug

Dieses Update Script sollte keine Fehler ausgeben.

Die Regeln sollten nach jedem Update der Spamassassin-Regeln via sa-update in die maia-Datenbank übernommen werden. Die Spamassassin Regeln werden täglich mittels Cronjob /etc/cron.daily/spamassassin upgedated.

vi /etc/cron.daily/spamassassin

CRON aktivieren:

CRON=1

Folgende Zeilen ans Ende anfügen:

# Import updated Rules to maia Mailguard
if [ -x /var/amavisd/maia/scripts/load-sa-rules.pl ]; then
  /var/amavisd/maia/scripts/load-sa-rules.pl
fi


Wartungsscripte

Maia bringt eine ganze Reihe von Skripten mit, die die Datenbanken pflegen und Übersichtsmails versenden. Damti Maia korrekt funktioniert, müssen diese regelmäßig via Cron ausgeführt werden.

vi /etc/cron.d/maia

Folgende Zeilen enfügen:

0 * * * * amavis /var/amavisd/maia/scripts/stats-snapshot.pl > /dev/null
5 * * * * root /var/amavisd/maia/scripts/process-quarantine.pl > /dev/null
20 5 * * * amavis /var/amavisd/maia/scripts/expire-quarantine-cache.pl > /dev/null
15 8 * * * amavis /var/amavisd/maia/scripts/send-quarantine-reminders.pl > /dev/null
0 * * * * amavis /var/amavisd/maia/scripts/send-quarantine-digests.pl > /dev/null


Postfix

An den Postfix Konfigurationsfiles müssen Änderungen durchgeführt werden, um den Spamfilter in die Mail-Transportkette einzuschleifen:

vi /etc/postfix/master.cf

Folgende Zeilen ans Ende anfügen:

lmtp-amavis    unix  -       -       n       -       2       lmtp
   -o lmtp_data_done_timeout=1200
   -o lmtp_send_xforward_command=yes
   -o disable_dns_lookups=yes
   -o max_use=20
127.0.0.1:10025 inet n  -       y     -       -  smtpd
   -o content_filter=
   -o local_recipient_maps=
   -o relay_recipient_maps=
   -o smtpd_restriction_classes=
   -o smtpd_delay_reject=no
   -o smtpd_client_restrictions=permit_mynetworks,reject
   -o smtpd_helo_restrictions=
   -o smtpd_sender_restrictions=
   -o smtpd_recipient_restrictions=permit_mynetworks,reject
   -o smtpd_data_restrictions=reject_unauth_pipelining
   -o smtpd_end_of_data_restrictions=
   -o mynetworks=127.0.0.0/8
   -o smtpd_error_sleep_time=0
   -o smtpd_soft_error_limit=1001
   -o smtpd_hard_error_limit=1000
   -o smtpd_client_connection_count_limit=0
   -o smtpd_client_connection_rate_limit=0
   -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
vi /etc/postfix/main.cf

Folgende Option einfügen:

content_filter=lmtp-amavis:[127.0.0.1]:10024


Starten der Services

/etc/init.d/spamassassin start
/etc/init.d/maia start
/etc/init.d/postfix restart

Webbasierte Einrichtung

Konfigurations- und Datenbank Test

Im Webbrowser 'http://IP_DES_SERVERS/maia/admin/configtest.php' eingeben.eine Problem Maia sollte nun eine Auflistung ausgeben, die sämtliche Abhängigkeiten und Berechtigunen abprüft. Es sollten keine Probleme berichtet werden, außer solchen, die mit skipped bezeichnet sind.

Super-User und Admin-Einstellungen

Für Konfigurationsarbeiten an Maia ist ein Super-User nötig. Webbrowser öffnen und Adresse: http://IP_DES_SERVERS/maia/login.php?super=register eingeben. Einloggen mit den Userdaten:

User: tux@domain.org
Pwd: tux_mail_pwd

Nun ist 'tux' der Superuser (Admin) von Maia Mailguard.

Einstellungen vornehmen:

  • Auf der 'Welcome' Seite Protection Level (Current protection level)wählen: Medium
  • Button Change Level anklicken
  • Zur Seite 'Admin' wechseln
    • Unterpunkt 'Languages' selektieren
      • Unter 'Install new Language' Deutsch(de) auswählen
      • Button Install Language
      • Link [Return to the Administration Menu] anklicken um ins Admin Menü zurückzukehren
    • Unterpunkt 'System Configuration' wählen
      • Administrator's contact e-mail address: postmaster@domain.org
      • Expiry period for quarantined mail (days): z.B: 14 (Hinweis: Nicht bearbeitete Mails in Quarantäne werden nach dieser Anzahl Tagen endgültig gelöscht.)
      • E-mail reminder template file: /var/amavisd/maia/templates/reminder.tpl
      • Maia login URL for e-mail reminders: [?] http://IP_Des_Servers/maia
      • Enable graphical charts? [?] yes
      • Button Update Settings anklicken

Ausloggen mit Exit


User- Einstellungen

Webbrowser öffnen und Adresse: http://IP_DES_SERVERS/maia/ eingeben. Einloggen mit den Userdaten:

User: tux@domain.org
Pwd: tux_mail_pwd

Zur Seite 'Settings' wechseln, um die User-Einstellungen vorzunehmen

  • Send quarantine reminder e-mail? yes (um Hinweise über Mails, die in Quarantäne gesetzt wurden zu erhalten)
  • Display graphic charts?: yes
  • Display Language: deutsch
  • Button Update Miscelleanous Settings

Einstellen/Feintunen des Protection Levels. Der generelle Protection-Level kann auf der 'Willkommensseite' in folgenden groben Schritten gewählt weden:

  • Aus: kein Virenschutz, keine Spamabwehr, Mails werden ungecheckt zugestellt
  • Niedrig: Virenschutz aktiv, keine Spamabwehr, kein Anhang-Check, kein Header Check
  • Mittel: Virenschutz aktiv, Mails mit Score >6.31 werden als Spam markiert, kein Anhang-Check, kein Header Check
  • Hoch: Virenschutz aktiv, Mails mit Score >5 sind Spam, >15 werden sie in Quarantäne genommen, Anhang und Header Check

Diese Stufen können detailliert für den aktuell eingeloggten User angepasst werden. Die Default Stufen bleiben davon unberührt. Zur Seite 'Settings' wechseln, um die User-Einstellungen vorzunehmen

  • Auf die neben 'primäre Adresse' angezeigte Emailadress klicken, um die Einstellungen anpassen zu können
  • Die Einstellungen wie gewüncht vornehmen (siehe Hinweise unten)
  • Wenn alle Einstellungen den eigenen Vorstellungen entsprechen, dann den Button Aktualiesiere die Einstellungen dieser Adresse anwählen, um die Einstellungen zu übernehmen.
Bulbgraph.png Hinweis:

Die einzelnen Einstellungen haben folgende Bedeutung:

  • VirenScanner aktiviert/deaktiviert
  • Gefundene Viren werden ...
Markiert: Die Mail wird zugestellt und als Virus markiert (Hat bei eigenen Tests nicht funktioniert)
Quarantäne: Die Mail wird in Quarantäne gestellt
Gelöscht: Die Mail wird dirkt gelöscht
  • Spam-Filterung aktiviert/deaktiviert
  • Gefundener Spam wird ...
Markiert: Die Mail wird zugestellt, aber im Header wird ein 'X-Spam-Flag=Yes' Header eingefügt
Quarantäne: Die Mail wird in Quarantäne gestellt
Gelöscht: Die Mail wird dirkt gelöscht
  • Präfix in den Bereff einer Spam-eMail?
Ja: Dem Jubject wird ein '***SPAM***' vorangestellt
Nein: Subject wird nicht geändert
  • Füge 'X-Spam: Headers' ein, wenn Punkte >=:
Wenn der Score der Mail höher als dieser Wert ist, wird ein Header mit dem aktuellen Score der Mail eingefügt. Der Client kann so erkennen, dass die Mail den Spam-Filter durchlaufen hat und erfährt den Score jeder Mail. Dies kann hilfreich sein, um die Grenze für Spam ja/nein feinzutunen (siehe nächster Wert).
  • Betrachte eMail als 'Spam', wenn Punkte >=:
Wenn der Score der Mail höher als dieser Wert ist, wird die Mail als Spam betrachtet und entsprechend behandelt
  • Verschiebe in Quarantäne, wenn Punkte >=
Wenn der Score der Mail höher als dieser Wert ist, wird die Mail in Quarantäne genommen, falls aktiviert
  • eMail-Anhang Filter aktiviert/deaktiviert
  • eMails mit gefährlichen Anhängen werden ...
Markiert: Die Mail wird zugestellt und Markiert
Quarantäne: Die Mail wird in Quarantäne gestellt
Gelöscht: Die Mail wird dirkt gelöscht
  • Filter für defekte Kopfzeilen aktiviert/deaktiviert
  • eMails mit 'Bad Headers' werden ...
Markiert: Die Mail wird zugestellt und Markiert
Quarantäne: Die Mail wird in Quarantäne gestellt
Gelöscht: Die Mail wird dirkt gelöscht


Funktionstest

Der Funktionstest umfaßt mehrere Schritte. Es wird geprüft, dass normale Mails nachwievor ankommen, ob SPAM korrekt erkannt wird, und ob Viren in Quarantäne genommen werden. Weiterhin werden die Sanesecurity Signaturen überprüft. Zum Schluß wird verifiziert, ob die Maia-Quarantäne und die Freigabe von Mails korrekt funktioneren.

Clean Mail

Eine Nachricht mit beliebigem Betreff - Z.B. Test Clean - und beliebigem Inhalt - Z.b. Testmail Clean- an einen gültigen Mailuser - z.B. 'tux' - senden. => Die Mail muß ganz normal im Postfach des Benutzers abgelegt werden.

SPAM

Eine Nachricht mit Betreff 'Test GTUBE' an einen gültigen Mailuser - z.B. 'tux' - mit und folgendem Inhalt senden:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

=> Die Mail wird nicht zugestellt, da Sie einen sehr hohen Spam-Score (>1000) aufweist.

Virustest

Mit Hilfe des EICAR-Virus wird die Funktionalität von ClamAV und dessen 'eingebauter' Signaturen verifiziert. Die korrekte Funktion der Sanesecurity Signaturen wird im zweiten Schritt mit drei weiteren Testmails verifiziert.

EICAR Test-Virus

Der EICAR-Testvirus wurde geschaffen, um Anti-Virentools einem Funktionscheck unterziehen zu können. Es gibt verschiedene "Erscheinungsformen" des EICAR Testvirus: als .txt-Files oder .Zip-Files. Das EICAR-Testvirus als .txt und .zip File von http://www.eicar.org/anti_virus_test_file.htm downloaden und Lokal auf dem PC speichern.

Eine Testmail mit Betreff 'Test EICAR' an einen lokalen Mailuser -z.B. Tux - verfassen und den EICAR Testvirus (.txt) anhängen. => Die Mail wird nicht zugestellt, da diese in Quarantäne gestellt wurde Den selben Vorgang für den EICAR Testvirus im .zip-File wiederholen.

Sanesecurity

Mit Hilfe von drei Mails wird die korrekte Funktionalität der Sanesecurity Signaturen verifiziert:

  • Test1: Eine HTML-Testmail an einen lokalen User versenden - z.B. Tux - mit Betreff - z.B. Test Sanesecurity 1 - und folgendem Text:
body_rrg63uhj2ucyeccrux7d83a4qd5ua5vnlgwjp6b6fmpzpobzjabftehuhraxfbyzzzzz
  • Test2: Eine Testmail mit Inhalt - z.B. Test Sanesecurity 2 - an einen lokalen User versenden - z.B. Tux - mit folgendem Subject (Betreff):
rrg63Uhj2UCyECcruX7D83A4qd5UA5vnlgwJp6b6fmPZpObZJAbftehuhRAXFby
  • Test3: Eine Text-Testmail (kein HTML) an einen lokalen User versenden - z.B. Tux - mit Betreff - z.B. Test Sanesecurity 3 - und folgendem Text:
body_rrg63Uhj2UCyECcruX7D83A4qd5UA5vnlgwJp6b6fmPZ0ajdjkwjnSSDfsdfsdfnwerd
Bulbgraph.png Hinweis:
  • Die Zeichenfolgen müssen exakt eingehalten werden (kein Zeichen mehr eingeben, auch keine Leerzeichen). Ansonsten werden sie nicht zuverlässig erkannt.
  • Alle drei Testmails müssen als Virus identifiziert werden und in Quarantäne landen (keine Zustellung).
  • Falls dies nicht der Fall sein sollte, prüfen, ob die Vorgaben exakt eingehalten wurden: Test1: HTML-Mail , Test2: SUBJECT exakt nach Vorgabe, Test3: Text-Mail


Check der Quarantäne

Webbrowser öffnen und Adresse: http://IP_DES_SERVERS/maia eingeben. Einloggen mit den Userdaten:

User: tux@domain.org
Pwd: tux_mail_pwd

Auf der Willkommensseite wird die Statistik der Quarantäne angezeigt:

  • 1 Ham-Mail (Test Clean)
  • 1 Spam-Mail (Test GTUBE)
  • 4 Virus-Mails (EICAR+3 Sanesecurity Mails)

Die Mails in Quarantäne ansehen:

  • Auf das Briefsymbol im neben 'Ham-Mails'
  • Auf den Betreff 'Test Clean' klicken
  • Ein neues Fenster erscheint mit den Details der Mail.
  • Fenster wieder schließen
  • [Zurück zur Willkommen-Seite] anklicken
  • Die selben Schritte für die Spam- und Virusmails wiederholen

Zustellen einer Mail aus der Quarantäne ins Postfach des Benutzers

  • Die Mail 'Test Sanesecurity 1' in der Virus Quarantäne, wie oben beschrieben, in einem neuen Fenster öffnen
  • Das Briefsymbol anklicken, um die Mail ins Postfach des Nutzers zustellen zu lassen
  • Die Mail mit Betreff 'Sanesecurity 1' muß mit Origianl-Uhrzeit im Postfach des Nutzers abgelegt werden

Selektives Löschen einer Mail in Quarantäne

  • Die Mail 'Test Sanesecurity 1' in der Virus Quarantäne, wie oben beschrieben, in einem neuen Fenster öffnen
  • Auf 'Lösche diese Mail' klicken, um die Mail zu löschen
  • Das Fenster wird geschlossen und die Mail wurde aus der Quarantäne entfernt

Löschen der kompletten Quarantäne

  • Virus Quarantäne öffnen (siehe oben)
  • Alle Mails in Quarantäne sollten mit 'Löschen' markiert sein. Falls nicht, markieren.
  • Button 'Bestätige den Status dieser Mails' anklicken
  • Alle Virusmails wurden aus der Quarantäne entfernt
  • Die selben Schritte für die Spma-Quarantäne wiederholen


Workaround for Debian7

In Debian wird PHP in Version 5.5 verwendet. Ab PHP 5.4 fehlt eine von Maia verwendete Funktion session_is_registered nicht mehr enthalten. Als Folge werden bei einigen Seiten der Weboberfläche nur weiße Seiten dargestellt.

vi /var/www/maia/confirm.php

In folgendem Block:

 if (array_key_exists('token', $_GET) &&
       array_key_exists('id', $_GET)    &&
       array_key_exists('ts', $_GET)) {
     if (!session_is_registered("uid")  ||
         !session_is_registered("euid") ||

session_is_registered durch isset($_SESSION folgendermaßen ersetzen:

if (array_key_exists('token', $_GET) &&
       array_key_exists('id', $_GET)    &&
       array_key_exists('ts', $_GET)) {
       if (!isset($_SESSION['uid'])  ||
           !isset($_SESSION['euid']) ||

Selbe Änderung in /var/www/maia/rescue.php durchführen.

Analog in logout.php:

vi /var/www/maia/logout.php

Die Zeile

if (session_is_registered("uid")) {

folgendermaßen ersetzen:

if (isset($_SESSION['uid'])) {