Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:mail_c7:spam_7 [20.11.2014 16:16. ] – [clamav-update] djangocentos:mail_c7:spam_7 [15.07.2020 11:07. ] (aktuell) – [freschcalm Update] django
Zeile 266: Zeile 266:
  
  
-==== freschcalm Update ====+==== freshclam Update ====
    # vim /etc/cron.d/clamav-update    # vim /etc/cron.d/clamav-update
 <code>## Adjust this line... <code>## Adjust this line...
Zeile 2923: Zeile 2923:
 Damit [[http://www.clamav.net|ClamAV]] stets mit den aktuellen Vireninformationen versorgen wird, steht und das Programm **freshclam** aus dem Paket **clamav-update** zu Diensten. Damit [[http://www.clamav.net|ClamAV]] stets mit den aktuellen Vireninformationen versorgen wird, steht und das Programm **freshclam** aus dem Paket **clamav-update** zu Diensten.
  
-In der Standardkonfiguration sorgt **freshclam** dafür, dass **alle 3 Stunden** ein Update der Virenpattern-Datenbank vorgenommen wird. Bei Bedarf können wir den Updatezyklus unseren Erfordernissen anpassen und so z.B. alle Stunde überprüfen lassen ob neue Patternfiles vorhanden sind und diese dann auf unseren Rechner herunterzuladen und in die lokale Datenbak einfließen zu lassen.  +In der Standardkonfiguration sorgt **freshclam** dafür, dass **alle 3 Stunden** ein Update der Virenpattern-Datenbank vorgenommen wird. Bei Bedarf können wir den Updatezyklus unseren Erfordernissen anpassen und so z.B. alle Stunde überprüfen lassen ob neue Patternfiles vorhanden sind und diese dann auf unseren Rechner herunterzuladen und in die lokale Datenbank einfließen zu lassen. 
- +
- +
- +
-FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME +
  
 +Als erstes aktivieren wir die mitgelieferte Konfigurationsdatei //**/etc/freshclam.conf**//, in dem wir den Eintrag **Example** deaktivieren.
    # vim /etc/freshclam.conf    # vim /etc/freshclam.conf
  
 +<code bash /etc/freshclam.conf>##
 +## Example config file for freshclam
 +## Please read the freshclam.conf(5) manual before editing this file.
 +##
  
  
 +# Comment or remove the line below.
 +# Django : 2014-11-15
 +# default: Example
 +#Example
  
 +...
 +</code>
  
 +Somit beschränkt sich diese Konfigurationsdatei lediglich auf zwei Zeilen.
 +   # egrep -v '(^.*#|^$)' /etc/freshclam.conf
  
 +   LogSyslog yes
 +   DatabaseMirror database.clamav.net
  
- +Die komplette Konfigurationsdatei lautet somit. 
- +   # vim /etc/freshclam.conf 
- +<file bash /etc/freshclam.conf>##                                          
- +
- +
-<code>##                                          +
 ## Example config file for freshclam         ## Example config file for freshclam        
 ## Please read the freshclam.conf(5) manual before editing this file. ## Please read the freshclam.conf(5) manual before editing this file.
Zeile 3178: Zeile 3186:
 #ExtraDatabase dbname1 #ExtraDatabase dbname1
 #ExtraDatabase dbname2 #ExtraDatabase dbname2
-</code>+</file> 
 + 
 +Der Pattern-Update erfolgt mit Hilfe der Datei **clamav-update** im Verzeichnis //**/etc/cron.d**//
 +   # vim /etc/cron.d/clamav-update 
 + 
 +<file bash /etc/cron.d/clamav-update>## Adjust this line... 
 +MAILTO=root 
 + 
 +## It is ok to execute it as root; freshclam drops privileges and becomes 
 +## user 'clamupdate' as soon as possible 
 +# Django : 2014-11-15 
 +# default: alle 3 Stunden 
 +#          0  */3 * * * root /usr/share/clamav/freshclam-sleep 
 +0  */3 * * * root /usr/share/clamav/freshclam-sleep 
 +</file> 
 + 
 +Damit nun alle drei Stunden der Update auch wirklich stattfinden kann, muss noch der Eintrag am Ende der Datei //**/etc/sysconfig/freshclam**// deaktiviert oder gelöscht werden. 
 +   # vim /etc/sysconfig/freshclam 
 +<file bash /etc/sysconfig/freshclam>## When changing the periodicity of freshclam runs in the crontab, 
 +## this value must be adjusted also. Its value is the timespan between 
 +## two subsequent freshclam runs in minutes. E.g. for the default 
 +## 
 +## | 0 */3 * * *  ... 
 +## 
 +## crontab line, the value is 180 (minutes). 
 +# FRESHCLAM_MOD= 
 + 
 +## A predefined value for the delay in seconds. By default, the value is 
 +## calculated by the 'hostid' program. This predefined value guarantees 
 +## constant timespans of 3 hours between two subsequent freshclam runs. 
 +## 
 +## This option accepts two special values: 
 +## 'disabled-warn'  ...  disables the automatic freshclam update and 
 +##                         gives out a warning 
 +## 'disabled'       ...  disables the automatic freshclam silently 
 +# FRESHCLAM_DELAY= 
 + 
 + 
 +### !!!!! REMOVE ME !!!!!! 
 +### REMOVE ME: By default, the freshclam update is disabled to avoid 
 +### REMOVE ME: network access without prior activation 
 +
 +# Django : 2014-11-15 
 +# default: FRESHCLAM_DELAY=disabled-warn        # REMOVE ME 
 +</file>
  
  
Zeile 3223: Zeile 3275:
 </code> </code>
  
-Beim **systemd-tmpfiles** werden für temporäre Dateien und Verzeichnisse unter anderem im Verzeichnis //**/var/run/**// angelegt. Damit für unseren Service der UNix-Dateisocket im richtigen Verzeichnis mit den zugehörigen Berechtigungen gesetzt werden kann, benötigen wir im Verzeichnis //**/etc/tmpfiles.d/**// eine zugehörige Konfigurationsdatei. Diese legen wir nun an.+Bei **[[http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html|systemd-tmpfiles]]** werden für temporäre Dateien und Verzeichnisse unter anderem im Verzeichnis //**/var/run/**// angelegt. Damit für unseren Service der UNix-Dateisocket im richtigen Verzeichnis mit den zugehörigen Berechtigungen gesetzt werden kann, benötigen wir im Verzeichnis //**/etc/tmpfiles.d/**// eine zugehörige Konfigurationsdatei. Diese legen wir nun an.
    # vim /etc/tmpfiles.d/clamd.amavisd.conf    # vim /etc/tmpfiles.d/clamd.amavisd.conf
  
-<file bash/etc/tmpfiles.d/clamd.amavisd.conf ># Django : 2014-11-15 Socketverzeichnis im tmpfile based System+<file bash/etc/tmpfiles.d/clamd.amavisd.conf ># Django : 2014-11-15 Socketverzeichnis im tmpfile based System anlegen
 d /var/run/clamd.amavisd 0710 amavis amavis - d /var/run/clamd.amavisd 0710 amavis amavis -
 </file> </file>
  
-Bevor wir unseren ClamAV-Daemon starten können müssen wir noch kurz die zugehörige systemd-Konfigurationsdatei //**/usr/lib/systemd/system/clamd@.service**// +Bevor wir unseren ClamAV-Daemon starten können müssen wir noch kurz die zugehörige systemd-Konfigurationsdatei //**/usr/lib/systemd/system/clamd@.service**// anpassen. 
-   # vim /usr/lib/systemd/system/clamd@.service+<WRAP center round alert 60%>
  
-<file bash /usr/lib/systemd/system/clamd@.service>[Unit]+**ACHTUNG** \\ 
 +Keinenfalls die Datei direkt im Verzeichnis **// /usr/lib/systemd/system/ //** bearbeiten! Bei einem Update des zugehörigen Paketes wpürden die Änderungen wieder überschrieben! 
 +</WRAP> 
 + 
 +Wir kopieren also das **systemc-startscript** nach //**/etc/systemd/system/**// und bearbeiten dort eine lokale Kopie vom Original. Dadurch sind wir dann auch update-fest! 
 + 
 +   # cp /usr/lib/systemd/system/clamd@.service /etc/systemd/system/ 
 + 
 +   # vim /etc/systemd/system/clamd@.service 
 + 
 +<file bash /etc/systemd/system/clamd@.service>[Unit]
 Description = clamd scanner (%i) daemon Description = clamd scanner (%i) daemon
 After = syslog.target nss-lookup.target network.target After = syslog.target nss-lookup.target network.target
Zeile 3250: Zeile 3312:
 Anschließend führen wir einen Reload des **systemctl**-Daemon aus. Anschließend führen wir einen Reload des **systemctl**-Daemon aus.
    # systemctl daemon-reload    # systemctl daemon-reload
 +
 +==== amavisd ====
 +Die **ClamAV** spezifischen Konfigurationsoptionen befinden sich in mehreren Sectionen. So finden sich die Angaben zu den Packprogrammen in der Section **PFADANGABEN DER LOKALEN INSTALLATION** 
 +
 +<code perl>...
 +
 +# Utilities mit denen amavis Archive auspackt
 +@decoders = (
 +    ['mail', \&do_mime_decode],
 +    ['F',    \&do_uncompress, ['unfreeze', 'freeze -d', 'melt', 'fcat'] ],
 +    ['Z',    \&do_uncompress, ['uncompress', 'gzip -d', 'zcat'] ],
 +    ['gz',   \&do_uncompress, 'gzip -d'],
 +    ['gz',   \&do_gunzip],
 +    ['bz2',  \&do_uncompress, 'bzip2 -d'],
 +    ['xz',   \&do_uncompress, ['xzdec', 'xz -dc', 'unxz -c', 'xzcat'] ],
 +    ['lzma', \&do_uncompress, ['lzmadec', 'xz -dc --format=lzma',
 +            'lzma -dc', 'unlzma -c', 'lzcat', 'lzmadec'] ],
 +    ['lrz',  \&do_uncompress, ['lrzip -q -k -d -o -', 'lrzcat -q -k'] ],
 +    ['lzo',  \&do_uncompress, 'lzop -d'],
 +    ['rpm',  \&do_uncompress, ['rpm2cpio.pl', 'rpm2cpio'] ],
 +    [['cpio','tar'], \&do_pax_cpio, ['pax', 'gcpio', 'cpio'] ],
 +    ['deb',  \&do_ar, 'ar'],
 +    ['rar',  \&do_unrar, ['unrar', 'rar'] ],
 +    ['arj',  \&do_unarj, ['unarj', 'arj'] ],
 +    ['arc',  \&do_arc,   ['nomarch', 'arc'] ],
 +    ['zoo',  \&do_zoo,   ['zoo', 'unzoo'] ],
 +    ['cab',  \&do_cabextract, 'cabextract'],
 +    ['tnef', \&do_tnef],
 +    [['zip','kmz'], \&do_7zip,  ['7za', '7z'] ],
 +    [['zip','kmz'], \&do_unzip],
 +    ['7z',   \&do_7zip,  ['7zr', '7za', '7z'] ],
 +    [[qw(7z zip gz bz2 Z tar)], \&do_7zip,  ['7za', '7z'] ],
 +    [[qw(xz lzma jar cpio arj rar swf lha iso cab deb rpm)], \&do_7zip,  '7z' ],
 +    ['exe',  \&do_executable, ['unrar','rar'], 'lha', ['unarj','arj'] ],
 +);
 +
 +# eMails wird komplett dem Virenscanner zugestellt. Dem Inhalt von Archiven
 +# wird grundsätzlich nicht vertraut.
 +@keep_decoded_original_maps = (new_RE(
 +  qr'^MAIL$',
 +  qr'^MAIL-UNDECIPHERABLE$',
 +  qr'^(ASCII(?! cpio)|text|uuencoded|xxencoded|binhex)',
 +));
 +
 +...
 +</code>
 +
 +In der Section **VIRUS POLICY** finden sich die Definitionen zum Virenscanner **ClamAV**.
 +<code perl>################################################################################
 +## VIRUS POLICY
 +#
 +
 +# Check aktivieren?
 +# @bypass_virus_checks_maps = (1);
 +
 +# In Quarantäne?
 +$virus_quarantine_to = undef;
 +
 +# Admin benachrichtigen?
 +$virus_admin = undef;
 +
 +# Empfänger benachrichtigen?
 +$warnvirusrecip = 1;
 +
 +# Recipient-Adresse bei Release erweitern?
 +@addr_extension_virus_maps = ('virus');
 +
 +# eMail bei Release wrappen?
 +$defang_virus  = 1;
 +
 +# Wollen wir Content transportieren?
 +$final_virus_destiny = D_REJECT;
 +
 +@av_scanners = (
 +  ### http://www.clamav.net/
 +  ['ClamAV-clamd',
 +    \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamd.amavisd/clamd.sock"],
 +    qr/\bOK$/m, qr/\bFOUND$/m,
 +    qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],
 +);
 +
 +@av_scanners_backup = ();
 +</code>
 +
 +
 +===== Programmstart =====
 +==== freshclam ====
 +Der Update der Virensignatur-Datenbank läuft bereits automatisch über den cron-job. Im Syslog finden wir dazu die entsprechenden Transferversuche und -erfolge.
 +   # less /var/log/maillog 
 +<code>Nov 18 15:48:33 vml000067 freshclam[10698]: ClamAV update process started at Tue Nov 18 15:48:33 2014
 +Nov 18 15:48:33 vml000067 freshclam[10698]: main.cvd is up to date (version: 55, sigs: 2424225, f-level: 60, builder: neo)
 +Nov 18 15:48:34 vml000067 freshclam[10698]: getfile: daily-19121.cdiff not found on remote server (IP: 144.76.28.11)
 +Nov 18 15:48:34 vml000067 freshclam[10698]: getpatch: Can't download daily-19121.cdiff from database.clamav.net
 +Nov 18 15:48:34 vml000067 freshclam[10698]: getfile: daily-19121.cdiff not found on remote server (IP: 213.174.32.130)
 +Nov 18 15:48:34 vml000067 freshclam[10698]: getpatch: Can't download daily-19121.cdiff from database.clamav.net
 +Nov 18 15:48:34 vml000067 freshclam[10698]: getfile: daily-19121.cdiff not found on remote server (IP: 176.9.115.53)
 +Nov 18 15:48:34 vml000067 freshclam[10698]: getpatch: Can't download daily-19121.cdiff from database.clamav.net
 +Nov 18 15:48:34 vml000067 freshclam[10698]: Incremental update failed, trying to download daily.cvd
 +Nov 18 15:49:36 vml000067 freshclam[10698]: Downloading daily.cvd [100%]
 +Nov 18 15:49:41 vml000067 freshclam[10698]: daily.cvd updated (version: 19647, sigs: 1264737, f-level: 63, builder: neo)
 +Nov 18 15:49:42 vml000067 freshclam[10698]: Downloading bytecode.cvd [100%]
 +Nov 18 15:49:42 vml000067 freshclam[10698]: bytecode.cvd updated (version: 242, sigs: 46, f-level: 63, builder: dgoddard)
 +Nov 18 15:49:46 vml000067 freshclam[10698]: Database updated (3689008 signatures) from database.clamav.net (IP: 193.27.49.165)
 +</code>
 +
 +==== erster Start von clamd ====
 +Den ClamAV-Daemon, den wir speziell f+r AMaViS konfiguriert haben, starten wir mit folgendem Aufruf.
 +   # systemctl start clamd@amavisd
 +
 +Fragen wir nun den Serverstatus ab, erhalten wir detailierte Angaben zum laufenden Daemon.
 +   # systemctl status clamd@amavisd
 +<code>clamd@amavisd.service - clamd scanner (amavisd) daemon
 +   Loaded: loaded (/usr/lib/systemd/system/clamd@.service; enabled)
 +   Active: active (running) since Thu 2014-11-20 21:39:50 CET; 18s ago
 + Main PID: 3054 (clamd)
 +   CGroup: /system.slice/system-clamd.slice/clamd@amavisd.service
 +           └─3054 /usr/sbin/clamd -c /etc/clamd.d/amavisd.conf --nofork=yes
 +
 +Nov 20 21:40:02 vml000067.dmz.nausch.org clamd[3054]: Algorithmic detection enabled.
 +Nov 20 21:40:02 vml000067.dmz.nausch.org clamd[3054]: Portable Executable support enabled.
 +Nov 20 21:40:02 vml000067.dmz.nausch.org clamd[3054]: ELF support enabled.
 +Nov 20 21:40:02 vml000067.dmz.nausch.org clamd[3054]: Mail files support enabled.
 +Nov 20 21:40:02 vml000067.dmz.nausch.org clamd[3054]: OLE2 support enabled.
 +Nov 20 21:40:02 vml000067.dmz.nausch.org clamd[3054]: PDF support enabled.
 +Nov 20 21:40:02 vml000067.dmz.nausch.org clamd[3054]: SWF support enabled.
 +Nov 20 21:40:02 vml000067.dmz.nausch.org clamd[3054]: HTML support enabled.
 +Nov 20 21:40:02 vml000067.dmz.nausch.org clamd[3054]: Self checking every 600 seconds.
 +Nov 20 21:40:02 vml000067.dmz.nausch.org clamd[3054]: Self checking every 600 seconds.
 +</code>
 +
 +Im Syslog finden wir naturlich auch Informationen zum erfolgreichen Start des Daemon.
 +   # less /var/log/messages
 +
 +<code>Nov 20 21:39:50 vml000067 systemd: Starting clamd scanner (amavisd) daemon...
 +Nov 20 21:39:50 vml000067 systemd: Started clamd scanner (amavisd) daemon.
 +Nov 20 21:40:02 vml000067 clamd: Limits: Global size limit set to 104857600 bytes.
 +Nov 20 21:40:02 vml000067 clamd: Limits: File size limit set to 26214400 bytes.
 +Nov 20 21:40:02 vml000067 clamd: Limits: Recursion level limit set to 16.
 +Nov 20 21:40:02 vml000067 clamd: Limits: Files limit set to 10000.
 +Nov 20 21:40:02 vml000067 clamd: Limits: MaxEmbeddedPE limit set to 10485760 bytes.
 +Nov 20 21:40:02 vml000067 clamd: Limits: MaxHTMLNormalize limit set to 10485760 bytes.
 +Nov 20 21:40:02 vml000067 clamd: Limits: MaxHTMLNoTags limit set to 2097152 bytes.
 +Nov 20 21:40:02 vml000067 clamd: Limits: MaxScriptNormalize limit set to 5242880 bytes.
 +Nov 20 21:40:02 vml000067 clamd: Limits: MaxZipTypeRcg limit set to 1048576 bytes.
 +Nov 20 21:40:02 vml000067 clamd: Limits: MaxPartitions limit set to 50.
 +Nov 20 21:40:02 vml000067 clamd: Limits: MaxIconsPE limit set to 100.
 +Nov 20 21:40:02 vml000067 clamd: Archive support enabled.
 +Nov 20 21:40:02 vml000067 clamd: Algorithmic detection enabled.
 +Nov 20 21:40:02 vml000067 clamd: Portable Executable support enabled.
 +Nov 20 21:40:02 vml000067 clamd: ELF support enabled.
 +Nov 20 21:40:02 vml000067 clamd: Mail files support enabled.
 +Nov 20 21:40:02 vml000067 clamd: OLE2 support enabled.
 +Nov 20 21:40:02 vml000067 clamd: PDF support enabled.
 +Nov 20 21:40:02 vml000067 clamd: SWF support enabled.
 +Nov 20 21:40:02 vml000067 clamd: HTML support enabled.
 +Nov 20 21:40:02 vml000067 clamd: Self checking every 600 seconds.
 +</code>
 +
 +==== automatischer Start des clamd ====
 +Damit nun unser AMaViS-Server beim Booten automatisch gestartet wird, nehmen wir noch folgende Konfigurationsschritte vor. 
 +   # systemctl enable clamd@amavisd
 +
 +ln -s '/usr/lib/systemd/system/clamd@.service' '/etc/systemd/system/multi-user.target.wants/clamd@amavisd.service'
 +
 +Wollen wir überprüfen ob der Dienst automatisch startet, verwenden wir folgenden Aufruf.
 +   # systemctl is-enabled clamd@amavisd
 +
 +   enabled
 +
 +Die Rückmeldung **enabled** zeigt an, dass der Dienst automatisch startet; ein **disabled** zeigt entsprechend an, dass der Dienst __nicht__ automatisch startet.
 +
 +
 +
 +===== Test =====
 +Haben wir die Konfiguration unseres **[[centos:mail_c7:spam_6|AMaViS]]** fertiggestellt, können wir uns auch daransetzen unsere **[[centos:mail_c7:spam_6?&#programmstart|ClamAV]]**-Installation zu überprüfen.
 +
 +===== HAM =====
 +Als erstes wollen wir ein beliebiges ZIP-Archiv per eMail verschicken. In diesem Beispiel nehmen wir einfach ein Lied/ZIP-Archiv der [[http://ebersberger-liedersammlung.de|Ebersberger Liedersammlung]]. Dieses laden wir erst einmal auf unseren Rechner.
 +   # curl -O http://ebersberger-liedersammlung.de/lib/exe/fetch.php/lieder/in_dulci_jubilo.zip
 +
 +<code>  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 +                                 Dload  Upload   Total   Spent    Left  Speed
 +100  717k  100  717k    0      2007k      0 --:--:-- --:--:-- --:--:-- 2004k
 +</code>
 +
 +Anschließend generieren wir mit Hilfe von **[[http://www.jetmore.org/john/code/swaks/|swaks]]** eine eMail und packen dazu das ZIP-File in den Anhang.
 +   # swaks --to django@nausch.org --from michael@nausch.org --attach - --server 10.0.0.87 --suppress-data </root/in_dulci_jubilo.zip --header "Subject: Ebersberger Liedersammlung: In dulci jubilo"
 +
 +<code>=== Trying 10.0.0.87:25...
 +=== Connected to 10.0.0.87.
 +<-  220 mx01.nausch.org ESMTP Postfix
 + -> EHLO vml000087.dmz.nausch.org
 +<-  250-mx01.nausch.org
 +<-  250-PIPELINING
 +<-  250-SIZE 52428800
 +<-  250-ETRN
 +<-  250-STARTTLS
 +<-  250-ENHANCEDSTATUSCODES
 +<-  250-8BITMIME
 +<-  250 DSN
 + -> MAIL FROM:<michael@nausch.org>
 +<-  250 2.1.0 Ok
 + -> RCPT TO:<django@nausch.org>
 +<-  250 2.1.5 Ok
 + -> DATA
 +<-  354 End data with <CR><LF>.<CR><LF>
 + -> 12914 lines sent
 +<-  250 2.0.0 Ok: queued as 20560C00088
 + -> QUIT
 +<-  221 2.0.0 Bye
 +=== Connection closed with remote host.
 +</code>
 +
 +Im Maillog des **MTA**((**M**ail **T**ransport **A**gent)) finden wir die einträge der erfolgreichen Zustellung.
 +   # less /var/log/maillog
 +
 +<code>Nov 20 22:37:43 vml000087 postfix/smtpd[12103]: connect from vml000087.dmz.nausch.org[10.0.0.87]
 +Nov 20 22:37:43 vml000087 postfix/smtpd[12103]: 20560C00088: client=vml000087.dmz.nausch.org[10.0.0.87]
 +Nov 20 22:37:43 vml000087 postfix/cleanup[12108]: 20560C00088: message-id=<20141120213743.20560C00088@mx01.nausch.org>
 +Nov 20 22:37:44 vml000087 postfix/qmgr[8701]: 20560C00088: from=<michael@nausch.org>, size=1006405, nrcpt=1 (queue active)
 +Nov 20 22:37:44 vml000087 postfix/smtpd[12103]: disconnect from vml000087.dmz.nausch.org[10.0.0.87]
 +Nov 20 22:37:44 vml000087 postfix/lmtp[12109]: 20560C00088: to=<django@nausch.org>, relay=10.0.0.77[10.0.0.77]:24, delay=1.4, delays=0.93/0.02/0.05/0.37, dsn=2.0.0, status=sent (250 2.0.0 <django@nausch.org> KmGbByhfblQOXQAArK2B9Q Saved)
 +Nov 20 22:37:44 vml000087 postfix/qmgr[8701]: 20560C00088: removed
 +</code>
 +
 +Auf Seiten unseres **AS/AV**((**A**nti**S**pam und **A**nti**V**irus))-Hosts wird die Prüfung im Maillog dokumentiert.
 +   # less /var/log/maillog
 +
 +<code>Nov 20 22:37:43 vml000067 amavis[3310]: loaded policy bank "AM.PDP-SOCK"
 +Nov 20 22:37:43 vml000067 amavis[3310]: process_request: fileno sock=13, STDIN=0, STDOUT=1
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: request=AM.PDP
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: queue_id=20560C00088
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: sender=<michael@nausch.org>
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: recipient=<django@nausch.org>
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: tempdir=/var/spool/amavisd/afXXXXtVLyxI
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: tempdir_removed_by=client
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: mail_file=/var/spool/amavisd/afXXXXtVLyxI/email.txt
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: delivery_care_of=client
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: client_address=10.0.0.87
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: client_name=vml000087.dmz.nausch.org
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: helo_name=vml000087.dmz.nausch.org
 +Nov 20 22:37:43 vml000067 amavis[3310]: policy protocol: policy_bank=mx01.nausch.org
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) Request: AM.PDP  /var/spool/amavisd/afXXXXtVLyxI: <michael@nausch.org> -> <django@nausch.org>
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) loaded policy bank "MYNETS" over "AM.PDP-SOCK"
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) body hash: 5bf56bd1955c4a16ec95bddecda96bb7
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) ip_trace: 10.0.0.87
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) Checking: tlAv90BU3Ydw AM.PDP-SOCK/MYNETS [10.0.0.87] <michael@nausch.org> -> <django@nausch.org>
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) 2822.From: <michael@nausch.org>
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) p003 1 Content-Type: multipart/mixed
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) p001 1/1 Content-Type: text/plain, size: 22 B, name:
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) p002 1/2 Content-Type: application/octet-stream, size: 734822 B, name:
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) inspect_dsn: not a bounce
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) Checking for banned types and filenames
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) skipping banned check: all recipients bypass banned checks
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) presenting full original message to scanners as /var/spool/amavisd/afXXXXtVLyxI/parts/p008
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) run_av Using (ClamAV-clamd): (code) CONTSCAN /var/spool/amavisd/afXXXXtVLyxI/parts\n
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) ClamAV-clamd: Connecting to socket  /var/run/clamd.amavisd/clamd.sock
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) new socket by IO::Socket::UNIX to /var/run/clamd.amavisd/clamd.sock, timeout 10
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) ClamAV-clamd: Sending CONTSCAN /var/spool/amavisd/afXXXXtVLyxI/parts\n to socket /var/run/clamd.amavisd/clamd.sock
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) rw_loop read: got eof
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) run_av (ClamAV-clamd): CLEAN
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) run_av (ClamAV-clamd) result: clean
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) truncating a message passed to SA at 410151 bytes, orig 1006367
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) calling SA parse (0), SA vers 3.3.2, 3.003002, data as GLOB, recips_ind [0], user: "amavis"
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) spam_scan: score=-1.01 autolearn=ham tests=[ALL_TRUSTED=-1,T_RP_MATCHES_RCVD=-0.01] recips=0
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) do_notify_and_quar: ccat=CleanTag (1,1) ("1,1":CleanTag, "1":Clean, "0":CatchAll) ccat_block=(), qar_mth=
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) delivery method is 1, recips: django@nausch.org
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) spam-tag, <michael@nausch.org> -> <django@nausch.org>, No, score=-1.01 tagged_above=-1000 required=6.31 tests=[ALL_TRUSTED=-1, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) dkim: candidate originators: From:<michael@nausch.org>
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) dkim: not signing, empty signing domain, From: <michael@nausch.org>
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) DSN: sender is credible (orig), SA: -1.010, <michael@nausch.org>
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) status counters: InMsgsStatus{Accepted,AcceptedInternal,AcceptedOriginating}
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) Passed CLEAN {AcceptedInternal}, AM.PDP-SOCK/MYNETS LOCAL [10.0.0.87] <michael@nausch.org> -> <django@nausch.org>, Queue-ID: 20560C00088, Message-ID: <20141120213743.20560C00088@mx01.nausch.org>, mail_id: tlAv90BU3Ydw, Hits: -1.01, size: 1006367, 772 ms
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) TIMING-SA total 477 ms - parse: 19 (4.1%), extract_message_metadata: 24 (5.1%), get_uri_detail_list: 0.44 (0.1%), tests_pri_-1000: 6 (1.2%), tests_pri_-950: 1.60 (0.3%), tests_pri_-900: 1.17 (0.2%), tests_pri_-400: 0.95 (0.2%), tests_pri_0: 353 (74.0%), check_dkim_adsp: 16 (3.4%), check_spf: 0.37 (0.1%), check_razor2: 260 (54.5%), check_pyzor: 0.24 (0.1%), tests_pri_500: 3 (0.7%), learn: 53 (11.0%), get_report: 0.92 (0.2%)
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) mail checking ended: version_server=2\nlog_id=03310-01\nsetreply=250 2.5.0 Ok,%20id=03310-01,%20continue%20delivery\ninsheader=0 X-Spam-Status No,%20score=-1.01%20tagged_above=-1000%20required=6.31%0a%09tests=[ALL_TRUSTED=-1,%20T_RP_MATCHES_RCVD=-0.01]%20autolearn=ham\ninsheader=0 X-Spam-Level \ninsheader=0 X-Spam-Score -1.01\ninsheader=0 X-Spam-Flag NO\nreturn_value=continue\nexit_code=0
 +Nov 20 22:37:43 vml000067 amavis[3310]: (03310-01) size: 1006367, TIMING [total 778 ms] - got data: 0.0 (0%)0, check_init: 3.4 (0%)0, digest_hdr: 1.4 (0%)1, digest_body_dkim: 9 (1%)2, collect_info: 1.7 (0%)2, mkdir parts: 1.4 (0%)2, mime_decode: 47 (6%)8, get-file-type2: 17 (2%)10, ren4-unl0-files4: 46 (6%)16, decompose_part: 0.4 (0%)16, get-file-type4: 28 (4%)20, parts_decode: 0.3 (0%)20, check_header: 0.4 (0%)20, AV-scan-1: 124 (16%)36, spam-wb-list: 0.5 (0%)36, SA parse: 22 (3%)39, SA check: 451 (58%)97, decide_mail_destiny: 8 (1%)98, notif-quar: 0.5 (0%)98, prepare-dsn: 4.0 (1%)98, report: 1.4 (0%)99, main_log_entry: 5 (1%)99, update_snmp: 1.5 (0%)99, rundown: 4.0 (1%)100
 +Nov 20 22:37:44 vml000067 amavis[3310]: (03310-01) extra modules loaded: unicore/lib/Gc/Nd.pl
 +Nov 20 22:37:44 vml000067 amavis[3310]: (03310-01) load: 100 %, total idle 0.000 s, busy 0.804 s
 +</code>
 +
 +In der Inbox unseres **MUA**((**M**ail **U**ser **A**gent))s POP3/IMAP-Servers finden wir auch die zugestellte Nachricht.
 +
 +<code>Return-Path: <michael@nausch.org>
 +Delivered-To: django@nausch.org
 +Received: from mx01.nausch.org ([10.0.0.87])
 + by imap.nausch.org (Dovecot) with LMTP id KmGbByhfblQOXQAArK2B9Q
 + for <django@nausch.org>; Thu, 20 Nov 2014 22:37:44 +0100
 +X-Spam-Flag: NO
 +X-Spam-Score: -1.01
 +X-Spam-Level: 
 +X-Spam-Status: No, score=-1.01 tagged_above=-1000 required=6.31
 + tests=[ALL_TRUSTED=-1, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
 +Received: from vml000087.dmz.nausch.org (vml000087.dmz.nausch.org [10.0.0.87])
 + by mx01.nausch.org (Postfix) with ESMTP id 20560C00088
 + for <django@nausch.org>; Thu, 20 Nov 2014 22:37:43 +0100 (CET)
 +Date: Thu, 20 Nov 2014 22:37:43 +0100
 +To: django@nausch.org
 +From: michael@nausch.org
 +Subject: Ebersberger Liedersammlung: In dulci jubilo
 +X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
 +MIME-Version: 1.0
 +Content-Type: multipart/mixed; boundary="----=_MIME_BOUNDARY_000_12110"
 +Message-Id: <20141120213743.20560C00088@mx01.nausch.org>
 +
 +------=_MIME_BOUNDARY_000_12110
 +Content-Type: text/plain
 +
 +This is a test mailing
 +------=_MIME_BOUNDARY_000_12110
 +Content-Type: application/octet-stream
 +Content-Disposition: attachment
 +Content-Transfer-Encoding: BASE64
 +
 +UEsDBBQDAAAIAFNyDUN6/Zsb2QYAAKUSAAASAAAAaW5fZHVsY2lfanViaWxvLmx5rVdZDtMwEP0m
 +pxiCECBB2coq9lXsiFVClZCTTBKDYwfbYQdxB36R+OEMfPHXm3ASnh1CCoWwiEpNE2f8Znsz426m
 +M5IdO7pqPOtMCe/pSWcLJrbOs1KeHhtNV2ReC1Z0VXQur5PNdMloLx76w9T0b07o+GZmbEVbr5+/
 +Tm2XKZnveMjPaNfTPXsPzk8fnB/aRkmyeAxkCcx0z2z3/tmuNFnULAq29CIh8tIrpqOUXtBUdCqX
 +9KDLpDIprX+i7bR8l7GFaitLT4DpPaEn0hb0nLW3kq2nCk76535G0OG67JsaSjds2DDAPWHp2fK4
 +...
 +
 +...
 +G9kGAAClEgAAEgAAAAAAAAAAACCAtIEAAAAAaW5fZHVsY2lfanViaWxvLmx5UEsBAj8DFAMAAAgA
 +U3INQ1XNopkpAgAA7QcAABQAAAAAAAAAAAAggLSBCQcAAGluX2R1bGNpX2p1Ymlsby5taWRpUEsB
 +Aj8DFAMAAAgAU3INQzZ3dvYIwgkAgAAKABMAAAAAAAAAAAAggLSBZAkAAGluX2R1bGNpX2p1Ymls
 +by5tcDNQSwECPwMUAwAACABTcg1DPURRdX5pAQAQDgIAEwAAAAAAAAAAACCAtIGdywkAaW5fZHVs
 +Y2lfanViaWxvLnBkZlBLBQYAAAAABAAEAAQBAABMNQsAAAA=
 +
 +------=_MIME_BOUNDARY_000_12110--
 +
 +</code>
 +
 +
 +===== Virus-Mail =====
 +Beim nächsten Test versuchen wir eine eMail mit einem Virus im Anhang an einen Benutzer zu schicken. Hierzu greifen wir auf ein Testsignatur-Datei der **[[http://www.eicar.com|EUROPEAN EXPERT GROUP FOR IT-SECURITY]]** zurück.
 +Als erstes laden wir uns eine Testsignaturdatei auf unseren Rechner.
 +   # curl -O http://www.eicar.org/download/eicarcom2.zip
 +<code>  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 +                                 Dload  Upload   Total   Spent    Left  Speed
 +100   308  100   308    0       1299      0 --:--:-- --:--:-- --:--:--  1305
 +</code>
 +Wie auch schon bei unserem vorherigen Test nutzen wir auch hier **swaks** zum verschicken einer eMail mit der eicar-Testdatei im Anhang.
 +   # swaks --to django@nausch.org --from michael@nausch.org --attach - --server 10.0.0.87 --suppress-data </root/eicarcom2.zip --header "Subject: Eicar Virentestpattern"
 +
 +<code>=== Trying 10.0.0.87:25...
 +=== Connected to 10.0.0.87.
 +<-  220 mx01.nausch.org ESMTP Postfix
 + -> EHLO vml000087.dmz.nausch.org
 +<-  250-mx01.nausch.org
 +<-  250-PIPELINING
 +<-  250-SIZE 52428800
 +<-  250-ETRN
 +<-  250-STARTTLS
 +<-  250-ENHANCEDSTATUSCODES
 +<-  250-8BITMIME
 +<-  250 DSN
 + -> MAIL FROM:<michael@nausch.org>
 +<-  250 2.1.0 Ok
 + -> RCPT TO:<django@nausch.org>
 +<-  250 2.1.5 Ok
 + -> DATA
 +<-  354 End data with <CR><LF>.<CR><LF>
 + -> 28 lines sent
 +<** 554 5.7.0 Reject, id=03311-01 - INFECTED: Eicar-Test-Signature. Contact your postmaster/admin for technical assistance. He can achieve our postmaster via email: postmaster@nausch.org or via fax: +49 8121 883179. In any case, please provide the following information in your problem report: This error message, time (Nov 20 22:43:10), client (10.0.0.87) and server (mx01.nausch.org).
 + -> QUIT
 +<-  221 2.0.0 Bye
 +=== Connection closed with remote host.
 +</code>
 +Wie wir sehen, wurde die Annahme der eMail vom Mailserver abgelehnt. Der einliefernde Client bekommt auch sofort mit der Fehlermeldung **554 5.7.0 Reject, id=03311-01 - INFECTED: Eicar-Test-Signature.** einen Hinweis, warum die Nachricht nicht angenommen wurde.
 +
 +Im Maillog des **MTA**((**M**ail **T**ransport **A**gent)) finden wir die Einträge des Zustellungsversuch. 
 +   # less /var/log/maillog
 +
 +<code>Nov 20 22:43:10 vml000087 postfix/smtpd[12126]: connect from vml000067.dmz.nausch.org[10.0.0.67]
 +Nov 20 22:43:10 vml000087 postfix/smtpd[12126]: 44A0AC00089: client=vml000067.dmz.nausch.org[10.0.0.67]
 +Nov 20 22:43:10 vml000087 postfix/cleanup[12127]: 44A0AC00089: message-id=<VRAnQpYwBJBkmi@viruswall.dmz.nausch.org>
 +Nov 20 22:43:10 vml000087 postfix/qmgr[8701]: 44A0AC00089: from=<postmaster@nausch.org>, size=1211, nrcpt=1 (queue active)
 +Nov 20 22:43:10 vml000087 postfix/cleanup[12125]: CCB54C00088: milter-reject: END-OF-MESSAGE from vml000087.dmz.nausch.org[10.0.0.87]: 5.7.0 Reject, id=03311-01 - INFECTED: Eicar-Test-Signature; from=<michael@nausch.org> to=<django@nausch.org> proto=ESMTP helo=<vml000087.dmz.nausch.org>
 +Nov 20 22:43:10 vml000087 postfix/smtpd[12119]: disconnect from vml000087.dmz.nausch.org[10.0.0.87]
 +Nov 20 22:43:10 vml000087 postfix/lmtp[12128]: 44A0AC00089: to=<django@nausch.org>, relay=10.0.0.77[10.0.0.77]:24, delay=0.62, delays=0.05/0.19/0/0.37, dsn=2.0.0, status=sent (250 2.0.0 <django@nausch.org> YmGbByhfblQOXQAArK2B9Q Saved)
 +Nov 20 22:43:10 vml000087 postfix/qmgr[8701]: 44A0AC00089: removed
 +</code>
 +
 +Details zum Scannvorgang und -ergebnis können wir mit der id **03311-01** im Maillog des **AS/AV**((**A**nti**S**pam und **A**nti**V**irus))-Host herausfinden.
 +   # less /var/log/maillog
 +
 +<code>Nov 20 22:43:09 vml000067 amavis[3311]: loaded policy bank "AM.PDP-SOCK"
 +Nov 20 22:43:09 vml000067 amavis[3311]: process_request: fileno sock=13, STDIN=0, STDOUT=1
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: request=AM.PDP
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: queue_id=CCB54C00088
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: sender=<michael@nausch.org>
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: recipient=<django@nausch.org>
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: tempdir=/var/spool/amavisd/afXXXXqKQgyd
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: tempdir_removed_by=client
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: mail_file=/var/spool/amavisd/afXXXXqKQgyd/email.txt
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: delivery_care_of=client
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: client_address=10.0.0.87
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: client_name=vml000087.dmz.nausch.org
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: helo_name=vml000087.dmz.nausch.org
 +Nov 20 22:43:09 vml000067 amavis[3311]: policy protocol: policy_bank=mx01.nausch.org
 +Nov 20 22:43:09 vml000067 amavis[3311]: (03311-01) Request: AM.PDP  /var/spool/amavisd/afXXXXqKQgyd: <michael@nausch.org> -> <django@nausch.org>
 +Nov 20 22:43:09 vml000067 amavis[3311]: (03311-01) loaded policy bank "MYNETS" over "AM.PDP-SOCK"
 +Nov 20 22:43:09 vml000067 amavis[3311]: (03311-01) body hash: 45e745bc84324a9251567c19e367fdfb
 +Nov 20 22:43:09 vml000067 amavis[3311]: (03311-01) ip_trace: 10.0.0.87
 +Nov 20 22:43:09 vml000067 amavis[3311]: (03311-01) Checking: AnQpYwBJBkmi AM.PDP-SOCK/MYNETS [10.0.0.87] <michael@nausch.org> -> <django@nausch.org>
 +Nov 20 22:43:09 vml000067 amavis[3311]: (03311-01) 2822.From: <michael@nausch.org>
 +Nov 20 22:43:09 vml000067 amavis[3311]: (03311-01) p003 1 Content-Type: multipart/mixed
 +Nov 20 22:43:09 vml000067 amavis[3311]: (03311-01) p001 1/1 Content-Type: text/plain, size: 22 B, name:
 +Nov 20 22:43:09 vml000067 amavis[3311]: (03311-01) p002 1/2 Content-Type: application/octet-stream, size: 308 B, name:
 +Nov 20 22:43:09 vml000067 amavis[3311]: (03311-01) inspect_dsn: not a bounce
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) Checking for banned types and filenames
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) skipping banned check: all recipients bypass banned checks
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) presenting full original message to scanners as /var/spool/amavisd/afXXXXqKQgyd/parts/p006
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) run_av Using (ClamAV-clamd): (code) CONTSCAN /var/spool/amavisd/afXXXXqKQgyd/parts\n
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) ClamAV-clamd: Connecting to socket  /var/run/clamd.amavisd/clamd.sock
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) new socket by IO::Socket::UNIX to /var/run/clamd.amavisd/clamd.sock, timeout 10
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) ClamAV-clamd: Sending CONTSCAN /var/spool/amavisd/afXXXXqKQgyd/parts\n to socket /var/run/clamd.amavisd/clamd.sock
 +Nov 20 22:43:10 vml000067 clamd[3288]: /var/spool/amavisd/afXXXXqKQgyd/parts/p005: Eicar-Test-Signature FOUND
 +Nov 20 22:43:10 vml000067 clamd[3288]: /var/spool/amavisd/afXXXXqKQgyd/parts/p006: Eicar-Test-Signature FOUND
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) rw_loop read: got eof
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) run_av (ClamAV-clamd): /var/spool/amavisd/afXXXXqKQgyd/parts INFECTED: Eicar-Test-Signature, Eicar-Test-Signature
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) virus_scan: (Eicar-Test-Signature), detected by 1 scanners: ClamAV-clamd
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) Virus Eicar-Test-Signature matches (constant:1), sender addr ignored
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) blocking contents category is (9) for django@nausch.org, final_destiny -3
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) do_notify_and_quar: ccat=Virus (9,0) ("9":Virus, "1,1":CleanTag, "1":Clean, "0":CatchAll) ccat_block=(9), qar_mth=
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) dkim: candidate originators: From:<postmaster@nausch.org>
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) dkim: not signing, empty signing domain, From: <postmaster@nausch.org>
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp session: setting up a new session
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) new socket using IO::Socket::IP to [10.0.0.87]:10025, timeout 35
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp greeting: 220 mx01.nausch.org ESMTP Postfix, dt: 113.3 ms
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp cmd> EHLO localhost
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp resp to EHLO: 250 mx01.nausch.org\nPIPELINING\nSIZE 52428800\nETRN\nSTARTTLS\nAUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 NTLM\nAUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 NTLM\nXFORWARD NAME ADDR PROTO HELO SOURCE PORT IDENT\nENHANCEDSTATUSCODES\n8BITMIME\nDSN
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) AUTH not needed, user='', MTA offers 'PLAIN LOGIN DIGEST-MD5 CRAM-MD5 NTLM'
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp cmd> MAIL FROM:<postmaster@nausch.org> ENVID=AM.2T4ZIGYMVawD.20141120T214310Z@viruswall.dmz.nausch.org
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp cmd> RCPT TO:<django@nausch.org>
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp cmd> DATA
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp resp to MAIL (pip): 250 2.1.0 Ok
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp resp to RCPT (pip) (<django@nausch.org>): 250 2.1.5 Ok
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp resp to DATA: 354 End data with <CR><LF>.<CR><LF>
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) smtp resp to data-dot (<django@nausch.org>): 250 2.0.0 Ok: queued as 44A0AC00089, dt: 28.4 ms
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) Amavis::Out::SMTP::Session close, keeping connection
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) 2T4ZIGYMVawD(AnQpYwBJBkmi) SEND from <postmaster@nausch.org> -> <django@nausch.org>, ENVID=AM.2T4ZIGYMVawD.20141120T214310Z@viruswall.dmz.nausch.org 250 2.0.0 from MTA(smtp:[10.0.0.87]:10025): 250 2.0.0 Ok: queued as 44A0AC00089
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) delivery method is 1, recips: django@nausch.org
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) DSN: sender is credible (orig), SA: 0.000, <michael@nausch.org>
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) status counters: InMsgsStatus{Rejected,RejectedInternal,RejectedOriginating}
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) Blocked INFECTED (Eicar-Test-Signature) {RejectedInternal}, AM.PDP-SOCK/MYNETS LOCAL [10.0.0.87] <michael@nausch.org> -> <django@nausch.org>, Queue-ID: CCB54C00088, Message-ID: <20141120214309.CCB54C00088@mx01.nausch.org>, mail_id: AnQpYwBJBkmi, Hits: -, size: 1222, 470 ms
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) mail checking ended: version_server=2\nlog_id=03311-01\nsetreply=554 5.7.0 Reject,%20id=03311-01%20-%20INFECTED:%20Eicar-Test-Signature\nreturn_value=reject\nexit_code=69
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) size: 1222, TIMING [total 541 ms] - got data: 0.0 (0%)0, check_init: 7 (1%)1, digest_hdr: 1.9 (0%)2, digest_body_dkim: 0.4 (0%)2, collect_info: 2.8 (1%)2, mkdir parts: 8 (1%)4, mime_decode: 24 (4%)8, get-file-type2: 35 (6%)14, ren1-unl0-files1: 60 (11%)25, decompose_part: 0.9 (0%)26, get-file-type1: 22 (4%)30, ren1-unl0-files1: 38 (7%)37, decompose_part: 0.3 (0%)37, get-file-type1: 13 (2%)39, parts_decode: 0.2 (0%)39, check_header: 0.5 (0%)39, AV-scan-1: 9 (2%)41, read_snmp_variables: 0.7 (0%)41, decide_mail_destiny: 1.7 (0%)41, notif-quar: 0.5 (0%)41, fwd-connect: 132 (24%)66, fwd-mail-pip: 26 (5%)71, fwd-rcpt-pip: 0.5 (0%)71, fwd-data-chkpnt: 0.1 (0%)71, write-header: 0.4 (0%)71, fwd-data-contents: 1.1 (0%)71, fwd-end-chkpnt: 30 (5%)77, prepare-dsn: 1.3 (0%)77, report: 6 (1%)78, main_log_entry: 52 (10%)87, update_snmp: 51 (9%)97, rundown: 17 (3%)100
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) extra modules loaded: unicore/lib/Gc/Nd.pl
 +Nov 20 22:43:10 vml000067 amavis[3311]: (03311-01) load: 100 %, total idle 0.000 s, busy 0.635 s
 +</code>
 +
 +Hier suche wir dann nach besagter ID 03311-01 und erfahren den eigentlichen Grund, warum die Annahme der Nachricht verweigert wurde. 
 +
 +Gemäß unseren Einstellungen im **[[|AMaViS]]** erhält der Empfänger eine Nachricht, dass versucht wurde ihm eine NAchricht zuzustellen, deren Annahme aber verweigert wurde, da ein Virus erkannt wurde.
 +
 +<code>Return-Path: <postmaster@nausch.org>
 +Delivered-To: django@nausch.org
 +Received: from mx01.nausch.org ([10.0.0.87])
 + by imap.nausch.org (Dovecot) with LMTP id YmGbByhfblQOXQAArK2B9Q
 + for <django@nausch.org>; Thu, 20 Nov 2014 22:43:10 +0100
 +Received: from localhost (vml000067.dmz.nausch.org [10.0.0.67])
 + by mx01.nausch.org (Postfix) with ESMTP id 44A0AC00089
 + for <django@nausch.org>; Thu, 20 Nov 2014 22:43:10 +0100 (CET)
 +MIME-Version: 1.0
 +From: Postmaster <postmaster@nausch.org>
 +Date: Thu, 20 Nov 2014 22:43:09 +0100 (CET)
 +Subject: VIRUS (Eicar-Test-Signature) in mail TO YOU from <michael@nausch.org>
 +To: django@nausch.org
 +Message-ID: <VRAnQpYwBJBkmi@viruswall.dmz.nausch.org>
 +Content-Type: text/plain; charset="UTF-8"
 +Content-Disposition: inline
 +Content-Transfer-Encoding: 7bit
 +
 +VIRUS ALERT
 +
 +Our content checker found
 +    virus: Eicar-Test-Signature
 +
 +in an email to you from probably faked sender:
 +  
 +claiming to be: <michael@nausch.org>
 +
 +Content type: Virus
 +Our internal reference code for your message is 03311-01/AnQpYwBJBkmi
 +
 +First upstream SMTP client IP address: [10.0.0.87] vml000087.dmz.nausch.org
 +Received from: 10.0.0.87
 +
 +Return-Path: <michael@nausch.org>
 +From: michael@nausch.org
 +Message-ID: <20141120214309.CCB54C00088@mx01.nausch.org>
 +X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
 +Subject: Eicar Virentestpattern
 +Not quarantined.
 +
 +Please contact your system administrator for details.
 +
 +</code>
 +
 +
 +===== Optimierung / RAM-Disk für AMaViS =====
 +Da sich bei entsprechenden Traffic die Zugriffe auf die Harddisk ungünstig auf die Performance auswirkt, legen wir eine RAM-Disk für den Virenscanner an. Dort kann ClamAV dann die Dateianhänge der Nachrichten entpacken, ablegen und auf Schadcode hin überprüfen.
 +
 +<WRAP center round tip 60%> \\
 +Denn wie lautet die alte Serverkonfiguration? //**Was ist besser als viel RAM?  Ganz einfach: Noch mehr RAM!**// ;)
 +</WRAP>
 +
 +Bei der Festlegung, wie groß die RAM-Disk denn sein soll, kann man folgende Formel heranziehen:
 +
 +**RAM-Disk ≈ Anzahl AMaViS-Instanzen * (max. e-Mailgröße + (max. e-Mailgröße * Auspackfaktor))**
 +
 +Diesen theoretischen Wert, wird man aber in den seltensten Fällen einstellen können/dürfen. Zum einen gibt es Budgetgrenzen bei der Anschaffung und natürlich andere limitierende Faktoren, wie z.B. den Netzwerkkartendurchsatz und Wahrscheinlichkeit, wie häufig Nachrichten mit Anhängen zugleich bearbeitet werden müssen.
 +
 +Bei einigen Installationen hat sich die Faustregel 
 +**RAM-Disk ≈ Anzahl AMaViS-Instanzen * (1,25 * max. Dateigröße)**
 +bestens bewährt. Bei vier Instanzen reicht also eine 250MB große RAM-Disk dicke aus!
 +
 +Damit wir die Zugriffsrechte auf die Ramdisk richtig setzen können, schließlich soll nicht jedermann die Inhalte der eMails lesen können, ermitteln wird zu erst noch die **gid** und **uid**.
 +   # grep amavis /etc/passwd
 +
 +   amavis:x:996:995:User for amavisd-new:/var/spool/amavisd:/sbin/nologin
 +
 +Die **UID** lautet also **996** und die **GID** **995**. 
 +
 +Da wir nun die Werte **RAM-Disk-Größe**, **GID** und **UID** haben können wir nun in der Konfigurationsdatei //**/etc/fstab**// unsere RAM-Disk definieren.
 +   # vim /etc/fstab
 +<code bash>...
 +
 +# Django : 2014-11-21
 +# RAM-Disk für ClamAV eingerichtet
 +tmpfs      /var/spool/amavisd/tmp/ tmpfs   defaults,size=250m,mode=750,uid=996,gid=995     0 0
 +</code>
 +
 +Anschließend mounten wir unser neues Laufwerk mit dem folgenden Aufruf.
 +   # mount /var/spool/amavisd/tmp
 +
 +Je nach Belastung werden nun in unserem Arbeitsverzeichnis die Daten abgelegt.
 +   # df -h -t tmpfs
 +
 +<code>Filesystem      Size  Used Avail Use% Mounted on
 +tmpfs           921M      921M   0% /dev/shm
 +tmpfs           921M  8.4M  913M   1% /run
 +tmpfs           921M      921M   0% /sys/fs/cgroup
 +/dev/shm        250M  168M  250M  67% /var/spool/amavisd/tmp</code>
 +
 +Der Scanvorgang unserer Nachrichten wird nun wesentlich schneller ablaufen, als bei den Tests ohne die RAM-Disk!
 +====== Links ======
 +  * **⇐ [[centos:mail_c7:spam_6|Zurück zum Kapitel "Grundinstallation von AMaViS unter CentOS 7.x"]]**
 +  * **⇒ [[centos:mail_c7:spam_8|Weiter zum Kapitel "Spamassassin für AMaViS unter CentOS 7.x"]]**
 +  * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**
 +  * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
 +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
  
  
  
  • centos/mail_c7/spam_7.1416500206.txt.gz
  • Zuletzt geändert: 20.11.2014 16:16.
  • von django