Post on 14-Feb-2015
Configurar Clamd
Clamd es un servicio muy útil que es utilizado para añadir soporte antivirus a diversas
implementaciones de servicios en GNU/Linux, como clamdscan y samba-vscan. Permite además
utilizar con mejor desempeño la base de datos de firmas digitales de ClamAV. La configuración requiere
un poco de trabajo, pero el resultado bien vale la pena.
Instalación de equipamiento lógico necesario.
Si se utiliza CentOS 5, se deben configurar los depósitos de AL Server para poder instalar ClamaAV en
el archivo /etc/yum.repos.d/AL_Server.repo con el siguiente contenido.
[AL-Server]name=AL Server para Enterprise Linux $releasevermirrorlist=http://www.alcancelibre.org/al/el$releasever/al-server
gpgcheck=1gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY
Si se va a utilizar CentOS 5 con los depósitos de AL Server, es importante instalar antes la firma digital
de Alcance Libre
rpm --import http://www.alcancelibre.org/al/AL-RPM-KEY
Fedora 10 incluye los paquetes necesarios y firmas digitales en sus depósitos yum, por lo que es
innecesario modificar archivo alguno.
Se requiere instalar los paquetes clamav-server, clamav-server-sysv y clamav-update.
yum -y install clamav-server clamav-server-sysv clamav-update
Procedimientos.
SELinux y el servicio clamd.
Para que SELinux permita al servicio clamd funcionar normalmente, utilice el siguiente mandato:
setsebool -P clamd_disable_trans 1
Configuración de Clamd.
El archivo /etc/freshclam.conf en Fedora 10 viene con una línea que requiere comentarse para que
pueda funcionar el mandato freshclam. editar /etc/freshclam.conf y comentar la línea 8 del archivo
para que quede de la siguiente forma:
#### Example config file for freshclam## Please read the freshclam.conf(5) manual before editing this file.##
# Comment or remove the line below.# Example
Este último procedimiento es innecesario para CentOS 5, si se utilizan los paquetes de ClamAV de AL
Server.
Una vez hecho lo anterior, actualizar la base de datos de firmas digitales de virus con el mandato
freshclam:
freshclam
Lo anterior puede devolver una salida similar a la siguiente, que por supuesto variará dependiendo de la
cantidad de actualizaciones disponibles y la fecha en que se realice el procedimiento.
ClamAV update process started at Tue Mar 3 19:43:37 2009main.cld is up to date (version: 50, sigs: 500667, f-level: 38, builder: sven)Downloading daily-9052.cdiff [100%]Downloading daily-9053.cdiff [100%]Downloading daily-9054.cdiff [100%]Downloading daily-9055.cdiff [100%]Downloading daily-9056.cdiff [100%]Downloading daily-9057.cdiff [100%]Downloading daily-9058.cdiff [100%]Downloading daily-9059.cdiff [100%]Downloading daily-9060.cdiff [100%]Downloading daily-9061.cdiff [100%]
Downloading daily-9062.cdiff [100%]Downloading daily-9063.cdiff [100%]Downloading daily-9064.cdiff [100%]Downloading daily-9065.cdiff [100%]daily.cld updated (version: 9065, sigs: 13972, f-level: 38, builder: arnaud)Database updated (514639 signatures) from database.clamav.net (IP: 199.184.215.2)
Copiar el archivo de ejemplo de clamd.conf como /etc/clamd.d/scan.conf, el cual debe denominarse
obligatoriamente como scan.conf en la ruta especificada.
cp /usr/share/doc/clamav-server-*/clamd.conf /etc/clamd.d/scan.conf
Editar /etc/clamd.d/scan.conf para configurar opciones.
vi /etc/clamd.d/scan.conf
De primera instancia, comentar la línea Example, que de otro modo impedirá iniciar el servicio.
# Comment or remove the line below.# Example
Configurar el archivo de bitácoras, el cual debe denominarse obligatoriamente como
/var/log/clamd.scan.
# Uncomment this option to enable logging.# LogFile must be writable for the user running daemon.# A full path is required.# Default: disabledLogFile /var/log/clamd.scan
Definir que se examinen los archivos PDF.
# This option enables scanning within PDF files.# Default: no
ScanPDF yes
Por motivos de seguridad, especificar que se utilice el usuario clamav.
# Run as another user (clamd must be started by root for this option to work)# Default: don't drop privilegesUser clamav
Definir el zócalo para el servicio:
# Path to a local socket file the daemon will listen on.# Default: disabled (must be specified by a user)LocalSocket /var/run/clamd.scan/clamd.sock
Crear archivo de bitácora, el cual debe pertenecer al usuario y grupo clamav y tenga permisos de
lectura y escritura para propietario y sol escritura para grupo.
touch /var/log/clamd.scanchown clamav:clamav /var/log/clamd.scanchmod 0620 /var/log/clamd.scan
Copiar el archivo de ejemplo para rotación de bitácoras dentro de /etc/logrotate.d/.
cp /usr/share/doc/clamav-server-*/clamd.logrotate /etc/logrotate.d/clamd
El contenido del archivo /etc/logrotate.d/clamd debe ser similar al siguiente:
/var/log/clamd.scan {monthlynotifemptymissingokpostrotate
killall -HUP clamd.scan 2>/dev/null || :endscript
}
Copiar el archivo de ejemplo para sysconfig como /etc/sysconfig/clamd.scan. Debe denominarse
obligatoriamente como clamd.scan
cp /usr/share/doc/clamav-server-*/clamd.sysconfig
/etc/sysconfig/clamd.scan
Editar el archivo /etc/sysconfig/clamd.scan para definir variables de entorno a utilizar.
vi /etc/sysconfig/clamd.scan
El contenido del archivo debe ser el siguiente:
CLAMD_CONFIGFILE=/etc/clamd.d/scan.confCLAMD_SOCKET=/var/run/clamd.scan/clamd.sockCLAMD_OPTIONS=
Copiar el guión de inicio de ejemplo como /etc/init.d/clamd.scan. Debe llevar el nombre clamd.scan
obligatoriamente.
cp /usr/share/doc/clamav-server-*/clamd-init /etc/init.d/clamd.scan
Editar el archivo /etc/init.d/clamd.scan
vi /etc/init.d/clamd.scan
Debe configurarse el nombre del servicio, obligatoriamente, como scan y definirse la ruta del archivo de
envoltorio:
#!/bin/bash## chkconfig: - 75 25# description: The clamd server running for locahost
CLAMD_SERVICE=scan. /usr/share/clamav/clamd-wrapper
Añadir el servicio clamad.scan a los servicios de arranque del sistema.
chkconfig clamd.scan on
Crear un enlace simbólico de /usr/sbin/clamd hacia /usr/sbin/clamd.scan.
ln -s /usr/sbin/clamd /usr/sbin/clamd.scan
Crear el directorio que será utilizado para el archivo de número de proceso.
mkdir -p /var/run/clamd.scan
Configurar el directorio anterior como propiedad del usuario y grupo clamav:
chown clamav:clamav /var/run/clamd.scan
Iniciar el servico clamad.scan.
service clamd.scan start
Para añadir el servicio clamd.scan a los servicios de arrranque del sistema, solo basta ejecutar:
chkconfig clamd.scan on
A partir de este punto, se dispondrá de un servicio que trabajará en el trasfondo del sistema y que
permitirá utilizar programas como clamdscan y samba-vscan. Este último es una implementación de
antivirus para Samba.