Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:amavis_centos_7_-_clamav_installieren

AMaViS CentOS 7 - ClamAV installieren

AMaViS (A MAil Virus Scanner) ist ein Prüfprogramm, welches e-Mails auf SPAM und Viren untersucht und sich dabei externer Programme wie dem sehr bekannten SpamAssassin und z.B. ClamAV bedient und diese in sich selbst einbindet.

ClamAV ist ein Antivirus Toolkit für Unix das unter der GPL Lizenz steht. Es wurde speziell für das scannen von e-Mails auf Mailgateways designt. ClamAV kann ebenfalls zum Prüfen von HTTP-Datenströmen, sowie auch zum Scannen von Dateisystemen eingesetzt werden und stellt dazu eine Reihe von Hilfsmittel zur Verfügung: einen flexiblen und skalierbaren Multi-Threaded Daemon, einen Kommandozeilen Scanner und ein komplexes Programm zur automatischen Aktualisierung über das Internet. Das Herzstück des Paketes ist ein Antivirus-Einheit in Form einer gemeinsam genutzten Bibliothek.

Beschreibung Externer Link
Homepage http://www.clamav.net

Ab hier werden zur Ausführung nachfolgender Befehle root-Rechte benötigt. Um der Benutzer root zu werden, melden Sie sich bitte als root-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root:

$ su -
Password:

Abhängigkeiten

Zuerst muss das Drittanbieter-Repository von EPEL, wie unter nachfolgendem internen Link dargestellt, eingebunden werden:

Installation

Nachfolgende rpm-Pakete sind zur Installation erforderlich:

  • clamav - ist im epel-Repository des Drittanbieters EPEL enthalten
  • clamav-data - ist im epel-Repository des Drittanbieters EPEL enthalten
  • clamav-filesystem - ist im epel-Repository des Drittanbieters EPEL enthalten
  • clamav-lib - ist im epel-Repository des Drittanbieters EPEL enthalten
  • clamav-server - ist im epel-Repository des Drittanbieters EPEL enthalten
  • clamav-server-systemd - ist im epel-Repository des Drittanbieters EPEL enthalten
  • clamav-update - ist im epel-Repository des Drittanbieters EPEL enthalten

Die Installation kann durch ausführen des nachfolgenden Befehls durchgeführt werden:

# yum install clamav clamav-data clamav-filesystem clamav-lib clamav-server clamav-server-systemd clamav-update
Loaded plugins: changelog, priorities
base                                                     | 3.6 kB     00:00     
epel                                                     | 4.3 kB     00:00     
extras                                                   | 3.4 kB     00:00     
updates                                                  | 3.4 kB     00:00     
66 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package clamav.x86_64 0:0.98.7-1.el7 will be installed
---> Package clamav-data.noarch 0:0.98.7-1.el7 will be installed
---> Package clamav-filesystem.noarch 0:0.98.7-1.el7 will be installed
---> Package clamav-lib.x86_64 0:0.98.7-1.el7 will be installed
---> Package clamav-server.x86_64 0:0.98.7-1.el7 will be installed
--> Processing Dependency: nc for package: clamav-server-0.98.7-1.el7.x86_64
---> Package clamav-server-systemd.noarch 0:0.98.7-1.el7 will be installed
---> Package clamav-update.x86_64 0:0.98.7-1.el7 will be installed
--> Running transaction check
---> Package nmap-ncat.x86_64 2:6.40-4.el7 will be installed
--> Processing Dependency: libpcap.so.1()(64bit) for package: 2:nmap-ncat-6.40-4.el7.x86_64
--> Running transaction check
---> Package libpcap.x86_64 14:1.5.3-4.el7_1.2 will be installed
--> Finished Dependency Resolution

Changes in packages about to be updated:


Dependencies Resolved

================================================================================
 Package                Arch        Version                  Repository    Size
================================================================================
Installing:
 clamav                 x86_64      0.98.7-1.el7             epel         806 k
 clamav-data            noarch      0.98.7-1.el7             epel          95 M
 clamav-filesystem      noarch      0.98.7-1.el7             epel          19 k
 clamav-lib             x86_64      0.98.7-1.el7             epel         3.7 M
 clamav-server          x86_64      0.98.7-1.el7             epel          93 k
 clamav-server-systemd  noarch      0.98.7-1.el7             epel          19 k
 clamav-update          x86_64      0.98.7-1.el7             epel          89 k
Installing for dependencies:
 libpcap                x86_64      14:1.5.3-4.el7_1.2       updates      137 k
 nmap-ncat              x86_64      2:6.40-4.el7             base         200 k

Transaction Summary
================================================================================
Install  6 Packages (+2 Dependent packages)

Total download size: 100 M
Installed size: 109 M
Is this ok [y/d/N]: y
Downloading packages:
(1/9): clamav-0.98.7-1.el7.x86_64.rpm                      | 806 kB   00:00     
(2/9): clamav-filesystem-0.98.7-1.el7.noarch.rpm           |  19 kB   00:00     
(3/9): clamav-lib-0.98.7-1.el7.x86_64.rpm                  | 3.7 MB   00:00     
(4/9): clamav-server-0.98.7-1.el7.x86_64.rpm               |  93 kB   00:00
(5/9): clamav-server-systemd-0.98.7-1.el7.noarch.rpm       |  19 kB   00:00     
(6/9): clamav-update-0.98.7-1.el7.x86_64.rpm               |  89 kB   00:00     
(7/9): libpcap-1.5.3-4.el7_1.2.x86_64.rpm                  | 137 kB   00:00     
(8/9): nmap-ncat-6.40-4.el7.x86_64.rpm                     | 200 kB   00:00     
(9/9): clamav-data-0.98.7-1.el7.noarch.rpm                 |  95 MB   00:02     
--------------------------------------------------------------------------------
Total                                               35 MB/s | 100 MB  00:02     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : clamav-filesystem-0.98.7-1.el7.noarch                        1/9 
  Installing : clamav-data-0.98.7-1.el7.noarch                              2/9 
  Installing : clamav-lib-0.98.7-1.el7.x86_64                               3/9 
  Installing : 14:libpcap-1.5.3-4.el7_1.2.x86_64                            4/9
  Installing : clamav-server-systemd-0.98.7-1.el7.noarch                    5/9 
  Installing : 2:nmap-ncat-6.40-4.el7.x86_64                                6/9 
  Installing : clamav-server-0.98.7-1.el7.x86_64                            7/9 
  Installing : clamav-update-0.98.7-1.el7.x86_64                            8/9 
  Installing : clamav-0.98.7-1.el7.x86_64                                   9/9 
  Verifying  : 2:nmap-ncat-6.40-4.el7.x86_64                                1/9 
  Verifying  : clamav-filesystem-0.98.7-1.el7.noarch                        2/9 
  Verifying  : clamav-server-0.98.7-1.el7.x86_64                            3/9 
  Verifying  : clamav-data-0.98.7-1.el7.noarch                              4/9
  Verifying  : clamav-server-systemd-0.98.7-1.el7.noarch                    5/9
  Verifying  : 14:libpcap-1.5.3-4.el7_1.2.x86_64                            6/9 
  Verifying  : clamav-lib-0.98.7-1.el7.x86_64                               7/9 
  Verifying  : clamav-update-0.98.7-1.el7.x86_64                            8/9 
  Verifying  : clamav-0.98.7-1.el7.x86_64                                   9/9 

Installed:
  clamav.x86_64 0:0.98.7-1.el7                 clamav-data.noarch 0:0.98.7-1.el7   
  clamav-filesystem.noarch 0:0.98.7-1.el7      clamav-lib.x86_64 0:0.98.7-1.el7    
  clamav-server.x86_64 0:0.98.7-1.el7          clamav-update.x86_64 0:0.98.7-1.el7 
  clamav-server-systemd.noarch 0:0.98.7-1.el7

Dependency Installed:
  libpcap.x86_64 14:1.5.3-4.el7_1.2            nmap-ncat.x86_64 2:6.40-4.el7       

Complete!

clamav

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket clamav installiert wurden.

# rpm -qil clamav
Name        : clamav
Version     : 0.98.7
Release     : 1.el7
Architecture: x86_64
Install Date: Fri 09 Oct 2015 10:10:43 AM CEST
Group       : Applications/File
Size        : 2247528
License     : GPLv2
Signature   : RSA/SHA256, Thu 30 Apr 2015 03:54:50 PM CEST, Key ID 6a2faea2352c64e5
Source RPM  : clamav-0.98.7-1.el7.src.rpm
Build Date  : Wed 29 Apr 2015 08:47:04 PM CEST
Build Host  : buildvm-20.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://www.clamav.net
Summary     : End-user tools for the Clam Antivirus scanner
Description :
Clam AntiVirus is an anti-virus toolkit for UNIX. The main purpose of this
software is the integration with mail servers (attachment scanning). The
package provides a flexible and scalable multi-threaded daemon, a command
line scanner, and a tool for automatic updating via Internet. The programs
are based on a shared library distributed with the Clam AntiVirus package,
which you can use with your own software. The virus database is based on
the virus database from OpenAntiVirus, but contains additional signatures
(including signatures for popular polymorphic viruses, too) and is KEPT UP
TO DATE.
/usr/bin/clambc
/usr/bin/clamconf
/usr/bin/clamdscan
/usr/bin/clamdtop
/usr/bin/clamscan
/usr/bin/clamsubmit
/usr/bin/sigtool
/usr/share/doc/clamav-0.98.7
/usr/share/doc/clamav-0.98.7/AUTHORS
/usr/share/doc/clamav-0.98.7/BUGS
/usr/share/doc/clamav-0.98.7/COPYING
/usr/share/doc/clamav-0.98.7/ChangeLog
/usr/share/doc/clamav-0.98.7/FAQ
/usr/share/doc/clamav-0.98.7/NEWS
/usr/share/doc/clamav-0.98.7/README
/usr/share/doc/clamav-0.98.7/UPGRADE
/usr/share/doc/clamav-0.98.7/clamdoc.pdf
/usr/share/doc/clamav-0.98.7/phishsigs_howto.pdf
/usr/share/doc/clamav-0.98.7/signatures.pdf
/usr/share/man/man1/clambc.1.gz
/usr/share/man/man1/clamconf.1.gz
/usr/share/man/man1/clamdscan.1.gz
/usr/share/man/man1/clamdtop.1.gz
/usr/share/man/man1/clamscan.1.gz
/usr/share/man/man1/clamsubmit.1.gz
/usr/share/man/man1/sigtool.1.gz
/usr/share/man/man5/clamav-milter.conf.5.gz
/usr/share/man/man5/clamd.conf.5.gz

clamav-data

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket clamav-data installiert wurden.

# rpm -qil clamav-data
Name        : clamav-data
Version     : 0.98.7
Release     : 1.el7
Architecture: noarch
Install Date: Fri 09 Oct 2015 10:10:38 AM CEST
Group       : Applications/File
Size        : 99269481
License     : GPLv2
Signature   : RSA/SHA256, Thu 30 Apr 2015 03:56:37 PM CEST, Key ID 6a2faea2352c64e5
Source RPM  : clamav-0.98.7-1.el7.src.rpm
Build Date  : Wed 29 Apr 2015 08:47:04 PM CEST
Build Host  : buildvm-20.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://www.clamav.net
Summary     : Virus signature data for the Clam Antivirus scanner
Description :
This package contains the virus-database needed by clamav. This
database should be updated regularly; the 'clamav-update' package
ships a corresponding cron-job. This package and the
'clamav-data-empty' package are mutually exclusive.

Use -data when you want a working (but perhaps outdated) virus scanner
immediately after package installation.

Use -data-empty when you are updating the virus database regulary and
do not want to download a >5MB sized rpm-package with outdated virus
definitions.
/var/lib/clamav/daily.cvd
/var/lib/clamav/main.cvd

clamav-filesystem

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket clamav-filesystem installiert wurden.

# rpm -qil clamav-filesystem
Name        : clamav-filesystem
Version     : 0.98.7
Release     : 1.el7
Architecture: noarch
Install Date: Fri 09 Oct 2015 10:10:34 AM CEST
Group       : Applications/File
Size        : 0
License     : GPLv2
Signature   : RSA/SHA256, Thu 30 Apr 2015 04:00:11 PM CEST, Key ID 6a2faea2352c64e5
Source RPM  : clamav-0.98.7-1.el7.src.rpm
Build Date  : Wed 29 Apr 2015 08:47:04 PM CEST
Build Host  : buildvm-20.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://www.clamav.net
Summary     : Filesystem structure for clamav
Description :
This package provides the filesystem structure and contains the
user-creation scripts required by clamav.
/usr/share/clamav
/var/lib/clamav

clamav-lib

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket clamav-lib installiert wurden.

# rpm -qil clamav-lib
Name        : clamav-lib
Version     : 0.98.7
Release     : 1.el7
Architecture: x86_64
Install Date: Fri 09 Oct 2015 10:10:39 AM CEST
Group       : System Environment/Libraries
Size        : 11544232
License     : GPLv2
Signature   : RSA/SHA256, Thu 30 Apr 2015 03:56:51 PM CEST, Key ID 6a2faea2352c64e5
Source RPM  : clamav-0.98.7-1.el7.src.rpm
Build Date  : Wed 29 Apr 2015 08:47:04 PM CEST
Build Host  : buildvm-20.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://www.clamav.net
Summary     : Dynamic libraries for the Clam Antivirus scanner
Description :
This package contains dynamic libraries shared between applications
using the Clam Antivirus scanner.
/usr/lib64/libclamav.so.6
/usr/lib64/libclamav.so.6.1.26

clamav-server

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket clamav-server installiert wurden.

# rpm -qil clamav-server
Name        : clamav-server
Version     : 0.98.7
Release     : 1.el7
Architecture: x86_64
Install Date: Fri 09 Oct 2015 10:10:40 AM CEST
Group       : System Environment/Daemons
Size        : 193846
License     : GPLv2
Signature   : RSA/SHA256, Thu 30 Apr 2015 03:58:19 PM CEST, Key ID 6a2faea2352c64e5
Source RPM  : clamav-0.98.7-1.el7.src.rpm
Build Date  : Wed 29 Apr 2015 08:47:04 PM CEST
Build Host  : buildvm-20.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://www.clamav.net
Summary     : Clam Antivirus scanner server
Description :
ATTENTION: most users do not need this package; the main package has
everything (or depends on it) which is needed to scan for virii on
workstations.

This package contains files which are needed to execute the clamd-daemon.
This daemon does not provide a system-wide service. Instead of, an instance
of this daemon should be started for each service requiring it.

See the README file how this can be done with a minimum of effort.
/etc/clamd.d
/usr/sbin/clamav-notify-servers
/usr/sbin/clamd
/usr/share/doc/clamav-server-0.98.7
/usr/share/doc/clamav-server-0.98.7/README
/usr/share/doc/clamav-server-0.98.7/clamd.conf
/usr/share/doc/clamav-server-0.98.7/clamd.init
/usr/share/doc/clamav-server-0.98.7/clamd.logrotate
/usr/share/doc/clamav-server-0.98.7/clamd.sysconfig
/usr/share/man/man5/clamd.conf.5.gz
/usr/share/man/man8/clamd.8.gz

clamav-update

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket clamav-update installiert wurden.

# rpm -qil clamav-update
Name        : clamav-update
Version     : 0.98.7
Release     : 1.el7
Architecture: x86_64
Install Date: Fri 09 Oct 2015 10:10:41 AM CEST
Group       : Applications/File
Size        : 182427
License     : GPLv2
Signature   : RSA/SHA256, Thu 30 Apr 2015 03:57:27 PM CEST, Key ID 6a2faea2352c64e5
Source RPM  : clamav-0.98.7-1.el7.src.rpm
Build Date  : Wed 29 Apr 2015 08:47:04 PM CEST
Build Host  : buildvm-20.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://www.clamav.net
Summary     : Auto-updater for the Clam Antivirus scanner data-files
Description :
This package contains programs which can be used to update the clamav
anti-virus database automatically. It uses the freshclam(1) utility for
this task. To activate it, uncomment the entry in /etc/cron.d/clamav-update.
/etc/cron.d/clamav-update
/etc/freshclam.conf
/etc/logrotate.d/clamav-update
/etc/sysconfig/freshclam
/usr/bin/freshclam
/usr/share/clamav/freshclam-sleep
/usr/share/man/man1/freshclam.1.gz
/usr/share/man/man5/freshclam.conf.5.gz
/var/lib/clamav/daily.cld
/var/lib/clamav/main.cld
/var/log/freshclam.log

Konfiguration: clamav-server

Um den ClamAV einsetzen zu können, muss dieser konfiguriert werden. Da zum Installationszeitpunkt nicht bekannt ist, für welchen Partner-Dienst (hier: AMaViS) dieser zum Einsatz kommen soll, sind keine Konfigurationsdateien vorbereitet!

Es befinden sich jedoch im Verzeichnis

  • /usr/share/doc/clamav-server-0.98.7

vorbereitete Template-Konfigurationsdateien welche entsprechend kopiert und angepasst werden können.

/etc/clamd.d/amavisd.conf

Um aus den vorbereiteten Template-Konfigurationsdateien im Verzeichnis /usr/share/doc/clamav-server-0.98.7 eine Konfigurationsdatei für den ClamAV und dessen Partner-Dienst AMaViS zu erstellen, kann nachfolgender Befehl zum kopieren der vorbereiteten Template-Konfigurationsdatei /usr/share/doc/clamav-server-0.98.7/clamd.conf genutzt werden:

# cp -a /usr/share/doc/clamav-server-0.98.7/clamd.conf /etc/clamd.d/amavisd.conf

Da die Konfigurationsdatei /etc/clamd.d/amavisd.conf aufgrund von Kommentar- und Leerzeichen sehr schnell unübersichtlich ist, kann mit nachfolgendem Befehl, eine Ausgabe ohne Kommentar- und Leerzeilen erzeugt werden, welche dann nach dem kopieren wie folgt aussehen sollte:

# egrep -v '(^#|^$)' /etc/clamd.d/amavisd.conf
Die Konfigurationsdatei /etc/clamd.d/amavisd.conf ohne Kommentar- und Leerzeichen:
# egrep -v '(^#|^$)' /etc/clamd.d/amavisd.conf
Example
LogSyslog yes
User <USER>
AllowSupplementaryGroups yes

Nachfolgende Änderungen sollten vorgenommen werden:

  • # Example

Auskommentieren des Parameters Example, um die Konfigurationsdatei zu aktivieren.

  • LogFacility LOG_DAEMON

Die Schreibung des syslog soll mit der „Facility“ - LOG-DAEMON durchgeführt werden, effektiv mit der „Facility“ - clamd.

  • PidFile /var/run/clamd.amavisd/clamd.pid

Setzen des Namens und des Speicherorts der PID-Datei (Process ID), im Laufzeitverzeichnis des Partner-Dienstes.

  • LocalSocket /var/run/clamd.amavisd/clamd.sock

Setzen des Namens und des Speicherorts der lokalen SOCKET-Datei (Kommunikationsdatei), im Laufzeitverzeichnis des Partner-Dienstes.

  • FixStaleSocket yes

Setzen des Parameters, damit die lokale SOCKET-Datei (Kommunikationsdatei), im Falle eines unvorhergesehen oder unsauberen Beenden des ClamAV-Daemons, automatisch entfernt wird.

  • User amavis

Setzen des Benutzers, unter dem der Partner-Dienst ausgeführt wird und über den die Kommunikation statt finden kann.

Die Konfigurationsdatei /etc/clamd.d/amavisd.conf ohne Kommentar- und Leerzeichen inklusive der Änderungen:

# egrep -v '(^#|^$)' /etc/clamd.d/amavisd.conf
LogSyslog yes
LogFacility LOG_DAEMON
PidFile /var/run/clamd.amavisd/clamd.pid
LocalSocket /var/run/clamd.amavisd/clamd.sock
FixStaleSocket yes
User amavis
AllowSupplementaryGroups yes

/etc/sysconfig/clamd.amavisd

Um aus den vorbereiteten Template-Konfigurationsdateien im Verzeichnis /usr/share/doc/clamav-server-0.98.7 eine Konfigurationsdatei für den ClamAV und dessen Partner-Dienst AMaViS zu erstellen, kann nachfolgender Befehl zum kopieren der vorbereiteten Template-Konfigurationsdatei /usr/share/doc/clamav-server-0.98.7/clamd.sysconfig genutzt werden:

# cp -a /usr/share/doc/clamav-server-0.98.7/clamd.sysconfig /etc/sysconfig/clamd.amavisd

Die Konfigurationsdatei /etc/sysconfig/clamd.amavisd nach dem kopieren mit Standardangaben:

#CLAMD_CONFIGFILE=/etc/clamd.d/<SERVICE>.conf
#CLAMD_SOCKET=/var/run/clamd.<SERVICE>/clamd.sock
#CLAMD_OPTIONS=

Nachfolgende Änderungen sollten vorgenommen werden:

  • CLAMD_CONFIGFILE=/etc/clamd.d/amavisd.conf

Setzen des Namens und des Speicherorts der Konfigurationsdatei des Partner-Dienstes.

  • CLAMD_SOCKET=/var/run/clamd.amavisd/clamd.sock

Setzen des Namens und des Speicherorts der lokalen SOCKET-Datei (Kommunikationsdatei), im Laufzeitverzeichnis des Partner-Dienstes.

  • CLAMD_OPTIONS=

Optionen für die Ausführung (:!: HINWEIS - Es ist nicht notwendig, hier Optionen zu setzen!).

Die Konfigurationsdatei /etc/sysconfig/clamd.amavisd inklusive der Änderungen:

CLAMD_CONFIGFILE=/etc/clamd.d/amavisd.conf
CLAMD_SOCKET=/var/run/clamd.amavisd/clamd.sock
CLAMD_OPTIONS=

/etc/systemd/system/clamd@.service

Nachfolgende Konfigurationsdatei /usr/lib/systemd/system/clamd@.service stellt den systemd-Dienst zum Systemstart des ClamAV zur Verfügung.

Um den Start via systemd durchführen zu können, kann nachfolgende Konfigurationsdatei kopiert werden und für den Start entsprechend angepasst werden:

# cp -a /usr/lib/systemd/system/clamd\@.service /etc/systemd/system/clamd\@.service

Die Konfigurationsdatei /etc/systemd/system/clamd@.service nach dem kopieren mit Standardangaben:

[Unit]
Description = clamd scanner (%i) daemon
After = syslog.target nss-lookup.target network.target
 
[Service]
Type = simple
ExecStart = /usr/sbin/clamd -c /etc/clamd.d/%i.conf --nofork=yes
Restart = on-failure
PrivateTmp = true

Nachfolgende Änderungen sollten vorgenommen werden:

  • Type = forking

Standard UNIX-Processstart. Siehe auch den externen Link systemd.service — Service unit configuration

  • [Install]
    WantedBy=multi-user.target

Aktivieren des Ladens durch dne systemd im Startbereich (runlevel) - multi-user.target.

Die Konfigurationsdatei /etc/systemd/system/clamd@.service inklusive der Änderungen:

[Unit]
Description = clamd scanner (%i) daemon
After = syslog.target nss-lookup.target network.target
 
[Service]
# Tachtler
# default: Type = simple
Type = forking
# Tachtler
# default: ExecStart = /usr/sbin/clamd -c /etc/clamd.d/%i.conf --nofork=yes
ExecStart = /usr/sbin/clamd -c /etc/clamd.d/%i.conf
Restart = on-failure
PrivateTmp = true
 
# Tachtler
[Install]
WantedBy=multi-user.target

Um die Änderungen wirksam werden zu lassen, muss nachfolgender Befehl ausgeführt werden:

# systemctl daemon-reload

Ob die Änderungen erfolgreich durchgeführt wurden, kann mit nachfolgendem Befehl überprüft werden und sollte eine Ausgabe wie nachfolgende erzeugen:

# systemctl list-unit-files -t service | grep clamd
clamd@.service                         disabled

ClamAV Dienst/Daemon-Start einrichten

Um den Virenscanner ClamAV mit dem AMaViS, welcher ebenfalls als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:

# systemctl enable clamd@amavis
ln -s '/etc/systemd/system/clamd@.service' '/etc/systemd/system/multi-user.target.wants/clamd@amavis.service'

Eine Überprüfung, ob beim Neustart des Server der clamd@amavis-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:

# systemctl list-unit-files --type=service | grep -e clamd
clamd@.service                         enabled
bzw.
# systemctl is-enabled clamd@amavis
enabled

/etc/logrotate.d/clamd

Um aus den vorbereiteten Template-Konfigurationsdateien im Verzeichnis /usr/share/doc/clamav-server-0.98.7 eine Konfigurationsdatei für den ClamAV und dessen Partner-Dienst AMaViS zu erstellen, kann nachfolgender Befehl zum kopieren der vorbereiteten Template-Konfigurationsdatei /usr/share/doc/clamav-server-0.98.7/clamd.logrotate genutzt werden:

# cp -a /usr/share/doc/clamav-server-0.98.7/clamd.logrotate /etc/logrotate.d/clamd

Die Konfigurationsdatei /etc/logrotate.d/clamd nach dem kopieren mit Standardangaben:

/var/log/clamd.<SERVICE> {
	monthly
	notifempty
	missingok
 
	postrotate
		killall -HUP clamd.<SERVICE> 2>/dev/null || :
	endscript
}

Nachfolgende Änderungen sollten vorgenommen werden:

  • /var/log/clamd.log {

Angabe der LOG-Datei, welche rotiert werden soll.

:!: HINWEIS - Hier wird nicht der Service angegeben, sonder die Endung <.log>

  • 		killall -HUP clamd@amavis 2>/dev/null || :

Ausführen des Neustart des systemd-Daemons - clamd@amavis, damit die neu rotierte LOG-Datei wieder beschrieben werden kann.

Die Konfigurationsdatei /etc/logrotate.d/clamd inklusive der Änderungen:

/var/log/clamd.log {
	monthly
	notifempty
	missingok
	postrotate
		killall -HUP clamd@amavis 2>/dev/null || :
	endscript
}

/etc/rsyslog.conf

Durch nachfolgende Anpassung, können die LOG-Meldungen des ClamAV, bzw. des clamd-Daemons/Dienstes an den Syslog-Server rsyslog mit nachfolgender Ergänzung der Konfigurationsdatei

  • /etc/rsyslog.conf

und einem Neustart des Syslog-Dienstes, in eine eigene Log-Datei

  • /var/log/clamd.log

geschrieben werden.

Änderungen und persönliche Anpassungen sind mit einem voranstehenden Kommentar, welche wie nachfolgend dargestellt aussieht

# Tachtler
gekennzeichnet.

Hier die Ergänzungen für den Syslog-Dienst rsyslog

(Nur relevanter Ausschnitt):

...
#### RULES ####
 
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console
 
# Tachtler
# Log "clamd" messages to separate log file.
:programname, isequal, "clamd"                          /var/log/clamd.log
 
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
# Tachtler
# default: *.info;mail.none;authpriv.none;cron.none                /var/log/messages
# Don't log clamd messages!
:programname, isequal, "clamd" stop
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
...

:!: HINWEIS - Diese Anpassungen des Syslog-Dienst rsyslog, haben folgende Auswirkungen:

  • Log-Schreibung erfolgt nicht nach /var/log/messages, sondern
  • ausschließlich nach /var/log/clamd.log

Der Neustart des Syslog-Dienstes rsyslog wird mit nachfolgendem Befehl durchgeführt:

# systemctl restart rsyslog.service

Erster Start clamd@amavis

:!: WICHTIG - Ein erfolgreicher Start kann NUR durchgeführt werden, wenn AMaViS bereits installiert ist!

Um den ClamAV des AMaViS zu starten kann nachfolgender Befehl angewandt werden:

# systemctl start clamd@amavis

Eine Überprüfung ob der Start des ClamAV des AMaViS erfolgreich war kann mit nachfolgendem Befehl durchgeführt werden, welcher eine Ausgabe in etwa wie nachfolgende erzeugen sollte:

# systemctl status clamd@amavis
clamd@amavis.service - clamd scanner (amavis) daemon
   Loaded: loaded (/etc/systemd/system/clamd@.service; enabled)
   Active: active (running) since Fri 2015-10-09 13:49:47 CEST; 8s ago
 Main PID: 2307 (clamd)
   CGroup: /system.slice/system-clamd.slice/clamd@amavis.service
           └─2307 /usr/sbin/clamd -c /etc/clamd.d/amavisd.conf --nofork=yes

Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: clamd daemon 0.98.7 (...
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: Running as user amavi...
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: Log file size limited...
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: Reading databases fro...
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: Not loading PUA signa...
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: Bytecode: Security mo...
Oct 09 13:49:48 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: **...
Oct 09 13:49:48 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: **...
Oct 09 13:49:48 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: **...
Oct 09 13:49:48 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: **...
Hint: Some lines were ellipsized, use -l to show in full.

bzw. mit nachfolgendem Befehl, ob der Dienst/Daemon in der Prozessliste erscheint:

# ps aux | grep clamd
amavis    2307 24.0 14.8 452984 304080 ?       Ssl  13:49   0:13 /usr/sbin/clamd -c /etc/clamd.d/amavisd.conf --nofork=yes
root      2311  0.0  0.0 112640   928 pts/0    S+   13:50   0:00 grep --color=auto clamd

Eine weitere Möglichkeit ist die Überprüfung des journal, was mit nachfolgendem Befehl durchgeführt werden kann:

# journalctl -x
Oct 09 13:49:47 server70.idmz.tachtler.net systemd[1]: Starting clamd scanner (a
-- Subject: Unit clamd@amavis.service has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit clamd@amavis.service has begun starting up.
Oct 09 13:49:47 server70.idmz.tachtler.net systemd[1]: Started clamd scanner (am
-- Subject: Unit clamd@amavis.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit clamd@amavis.service has finished starting up.
-- 
-- The start-up result is done.
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: clamd daemon 0.98.7 (OS:
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: Running as user amavis (
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: Log file size limited to
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: Reading databases from /
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: Not loading PUA signatur
Oct 09 13:49:47 server70.idmz.tachtler.net clamd[2307]: Bytecode: Security mode 
Oct 09 13:49:48 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: *****
Oct 09 13:49:48 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: ***  
Oct 09 13:49:48 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: ***  
Oct 09 13:49:48 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: *****
Oct 09 13:50:00 server70.idmz.tachtler.net clamd[2307]: Loaded 3798335 signature
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: LOCAL: Unix socket file 
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: LOCAL: Setting connectio 
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: Global size limi
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: File size limit 
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: Recursion level 
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: Files limit set 
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: MaxEmbeddedPE li
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: MaxHTMLNormalize
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: MaxHTMLNoTags li
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: MaxScriptNormali
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: MaxZipTypeRcg li
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: MaxPartitions li
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Limits: MaxIconsPE limit
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Archive support enabled.
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Algorithmic detection en
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Portable Executable supp
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: ELF support enabled.
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Mail files support enabl
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: OLE2 support enabled.
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: PDF support enabled.
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: SWF support enabled.
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: HTML support enabled.
Oct 09 13:50:01 server70.idmz.tachtler.net clamd[2307]: Self checking every 600

Konfiguration: clamav-update

Die Einbindung des Virenscanners ClamAV in den AMaViS ist leider noch nicht ausreichend, da der Virenscanner ohne frische Viren-Pattern (Viren-Update-Dateien) nur bedingt erfolgreich agieren kann, was z.B ggf. auch im journal zu sehen ist:

(Nur relevanter Ausschnitt)

Oct 09 14:00:02 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: **************************************************
Oct 09 14:00:02 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: ***  The virus database is older than 7 days!  ***
Oct 09 14:00:02 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: ***   Please update it as soon as possible.    ***
Oct 09 14:00:02 server70.idmz.tachtler.net clamd[2307]: LibClamAV Warning: **************************************************

Um den ClamAV welcher in den AMaViS eingebunden ist „Up-To-Date“ zu halten ist nachfolgende Konfiguration erforderlich.

/etc/sysconfig/freshclam

Nachfolgende Konfigurationsdatei /etc/sysconfig/freshclam regelt, ob der Dienst überhaupt aktiv ist und muss entsprechend angepasst werden, damit dieser aktiv ist.

Nachfolgende Anpassungen müssen am Ende der Konfigurationsdatei durchgeführt werden:

(Komplette Konfigurationsdatei)

## 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
# Tachtler
# default: FRESHCLAM_DELAY=disabled-warn	# REMOVE ME
# FRESHCLAM_DELAY=disabled-warn	# REMOVE ME

/etc/freshclam.conf

Nachfolgende Konfigurationsdatei /etc/freshclam.conf ist die Steuerungsdatei für den ClamAV-Update-Mechanismus.

Da die Konfigurationsdatei /etc/freshclam.conf aufgrund von Kommentar- und Leerzeichen sehr schnell unübersichtlich ist, kann mit nachfolgendem Befehl, eine Ausgabe ohne Kommentar- und Leerzeilen erzeugt werden, welche dann nach der Grundinstallation des ClamAV-Update-Mechanismus wie folgt aussehen sollte:

# egrep -v '(^#|^$)' /etc/freshclam.conf
Die Konfigurationsdatei /etc/freshclam.conf ohne Kommentar- und Leerzeichen:
# egrep -v '(^#|^$)' /etc/freshclam.conf 
Example
LogSyslog yes
DatabaseMirror database.clamav.net

Nachfolgende Anpassungen müssen am Anfang der Konfigurationsdatei durchgeführt werden:

(Nur relevanter Ausschnitt)

##
## Example config file for freshclam
## Please read the freshclam.conf(5) manual before editing this file.
##
 
 
# Comment or remove the line below.
# Tachtler
# default: Example
# Example
...

Nachfolgende Änderungen wurden beispielhaft vorgenommen:

  • Checks 48

Verringerung der Update-Zeit von alle 3 Stunden auf alle 30 Minuten (Maximalwert).

  • NotifyClamd /etc/clamd.d/amavisd.conf

Benachrichtigung des ClamAV ermöglichen.

Die Konfigurationsdatei /etc/freshclam.conf ohne Kommentar- und Leerzeichen inklusive der Änderungen, könnte dann wie folgt aussehen:

# egrep -v '(^#|^$)' /etc/freshclam.conf
LogSyslog yes
DatabaseMirror database.clamav.net
Checks 48
NotifyClamd /etc/clamd.d/amavisd.conf

Variante 1: /etc/cron.d/clamav-update

Nachfolgender cron-Job wird standardmäßig: alle 3-Stunden ausgeführt und liefert so Updates für den Virenscanner ClamAV.

Dies kann ebenfalls auf den (Maximalwert = 30 Minuten) abgeändert werden, wie nachfolgende Anpassungen zeigen:

(Komplette Konfigurationsdatei)

## Adjust this line...
MAILTO=root
 
## It is ok to execute it as root; freshclam drops privileges and becomes
## user 'clamupdate' as soon as possible
# Tachtler
# default: 0  */3 * * * root /usr/share/clamav/freshclam-sleep
*/30  * * * * root /usr/share/clamav/freshclam-sleep

Variante 2: /etc/systemd/system/clamd.freshclam.service

Alternativ kann auch der „freshclam“ als Daemon im Hintergrund gestartet werden, was durch erstellen einer systemdStart-Datei für den „freshclam“ wie nachfolgend gezeigt, durchgeführt werden kann:

# Run the freshclam as daemon
[Unit]
Description = freshclam update scanner daemon
After = network.target
 
[Service]
Type = forking
ExecStart = /usr/bin/freshclam -d
Restart = on-failure
PrivateTmp = true
 
[Install]
WantedBy=multi-user.target

Um die Änderungen wirksam werden zu lassen, muss nachfolgender Befehl ausgeführt werden:

# systemctl daemon-reload

Freshclam Dienst/Deamon-Start einrichten

Um den Virenscanner ClamAV-Update-Dienst/Daemon, welcher ebenfalls als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:

# systemctl enable clamd.freshclam.service
ln -s '/etc/systemd/system/clamd.freshclam.service' '/etc/systemd/system/multi-user.target.wants/clamd.freshclam.service'

Eine Überprüfung, ob beim Neustart des Server der clamd.freshclam.-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:

# systemctl list-unit-files --type=service | grep -e clamd.freshclam
clamd.freshclam.service               enabled
bzw.
# systemctl is-enabled clamd.freshclam.service
enabled

Erster Start clamd.freshclam

Um den ClamAV-Update-Mechanismus des E2guardian zu starten kann nachfolgender Befehl angewandt werden:

# systemctl start clamd.freshclam.service

Eine Überprüfung ob der Start des ClamAV-Update-Mechanismus des E2guardian erfolgreich war kann mit nachfolgendem Befehl durchgeführt werden, welcher eine Ausgabe in etwa wie nachfolgende erzeugen sollte:

# systemctl status clamd.freshclam.service
clamd.freshclam.service - freshclam update scanner daemon
   Loaded: loaded (/etc/systemd/system/clamd.freshclam.service; enabled)
   Active: active (running) since Fri 2015-10-09 14:29:11 CEST; 5s ago
  Process: 2439 ExecStart=/usr/bin/freshclam -d (code=exited, status=0/SUCCESS)
 Main PID: 2440 (freshclam)
   CGroup: /system.slice/clamd.freshclam.service
           └─2440 /usr/bin/freshclam -d

Oct 09 14:29:10 server70.idmz.tachtler.net freshclam[2440]: ClamAV update pro...
Oct 09 14:29:10 server70.idmz.tachtler.net freshclam[2440]: main.cvd is up to...
Oct 09 14:29:11 server70.idmz.tachtler.net systemd[1]: Started freshclam upda...
Oct 09 14:29:12 server70.idmz.tachtler.net freshclam[2440]: getfile: daily-20...
Oct 09 14:29:12 server70.idmz.tachtler.net freshclam[2440]: getpatch: Can't d...
Oct 09 14:29:12 server70.idmz.tachtler.net freshclam[2440]: getfile: daily-20...
Oct 09 14:29:12 server70.idmz.tachtler.net freshclam[2440]: getpatch: Can't d...
Oct 09 14:29:12 server70.idmz.tachtler.net freshclam[2440]: getfile: daily-20...
Oct 09 14:29:12 server70.idmz.tachtler.net freshclam[2440]: getpatch: Can't d...
Oct 09 14:29:12 server70.idmz.tachtler.net freshclam[2440]: Incremental updat...
Hint: Some lines were ellipsized, use -l to show in full.

bzw. mit nachfolgendem Befehl, ob der Dienst/Daemon in der Prozessliste erscheint:

# ps aux | grep freshclam
clamupd+  2440  5.5  0.1  71468  2692 ?        Ss   14:29   0:02 /usr/bin/freshclam -d
root      2443  0.0  0.0 112640   928 pts/0    S+   14:30   0:00 grep --color=auto freshclam

Ebenfalls kann anhand der LOG-Datei des „freshclam“ nachvollzogen werden, wie das Update der Viren-Pattern (Virus-Update-Informationen) verlaufen ist. Es sollte eine Ausgabe in etwa wie nachfolgende erscheinen:

Oct  9 14:29:10 server70 freshclam[2440]: freshclam daemon 0.98.7 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64)
Oct  9 14:29:10 server70 freshclam[2440]: ClamAV update process started at Fri Oct  9 14:29:10 2015
Oct  9 14:29:11 server70 freshclam[2440]: main.cvd is up to date (version: 55, sigs: 2424225, f-level: 60, builder: neo)
Oct  9 14:29:12 server70 freshclam[2440]: getfile: daily-20395.cdiff not found on remote server (IP: 178.63.73.246)
Oct  9 14:29:12 server70 freshclam[2440]: getpatch: Can't download daily-20395.cdiff from database.clamav.net
Oct  9 14:29:12 server70 freshclam[2440]: getfile: daily-20395.cdiff not found on remote server (IP: 130.133.110.67)
Oct  9 14:29:12 server70 freshclam[2440]: getpatch: Can't download daily-20395.cdiff from database.clamav.net
Oct  9 14:29:12 server70 freshclam[2440]: getfile: daily-20395.cdiff not found on remote server (IP: 62.27.56.14)
Oct  9 14:29:12 server70 freshclam[2440]: getpatch: Can't download daily-20395.cdiff from database.clamav.net
Oct  9 14:29:12 server70 freshclam[2440]: Incremental update failed, trying to download daily.cvd
Oct  9 14:30:30 server70 freshclam[2440]: Downloading daily.cvd [100%]
Oct  9 14:30:38 server70 freshclam[2440]: daily.cvd updated (version: 20958, sigs: 1600995, f-level: 63, builder: shurley)
Oct  9 14:30:38 server70 freshclam[2440]: Downloading bytecode.cvd [100%]
Oct  9 14:30:38 server70 freshclam[2440]: bytecode.cvd updated (version: 268, sigs: 47, f-level: 63, builder: anvilleg)
Oct  9 14:30:43 server70 freshclam[2440]: Database updated (4025267 signatures) from database.clamav.net (IP: 193.27.49.165)
Oct  9 14:30:43 server70 freshclam[2440]: Clamd successfully notified about the update.
Oct  9 14:30:43 server70 freshclam[2440]: --------------------------------------

Vor allem nachfolgende Zeile sollte erscheinen:

Oct  9 14:30:43 server70 freshclam[2440]: Clamd successfully notified about the update.

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/amavis_centos_7_-_clamav_installieren.txt · Zuletzt geändert: 2015/11/06 14:02 von klaus