[CentOS-es] CentOS 7 Clamav Clamd y SELinux

William Alexander Brito Vinas wilian05012 en hotmail.com
Mie Sep 24 18:18:39 UTC 2014


Por cierto las dificultades no terminan aqui. SELinux tampoco permite que exim escriba sobre el socket de clamd.


Esta regla me resuelve el problema 


module exim_clamav 1.0;


require {
        type var_run_t;
        type exim_t;
        class sock_file { read write };
}


#============= exim_t ==============
allow exim_t var_run_t:sock_file { read write };






Sent from Windows Mail





From: William Alexander Brito Vinas
Sent: ‎Tuesday‎, ‎September‎ ‎23‎, ‎2014 ‎5‎:‎26‎ ‎PM
To: centos-es en centos.org





El 23/09/14 19:20, William Alexander Brito Vinas escribió:
> He instalado clamav y clamd en un host corriendo bajo centos 7 y por lo que veo clamd no puede fucionar porque no puede crear los archivos en /var/run/{clamd.pid,clamd.sock}… o sea una cuestion de permisos.
>
>
> Los permisos para el usuario clamav le permiten escribir en /var/run y eso resuelve creo la situacion de la creacion del pid file pero SELinux no le permite crear el socket.
>
> Como no puedo arrancar clamav no puedo ver en que contexto de seguridad esta corriendo asi y por lo tanto no puedo modificar SELinux para pque le permita crear sock_file…
>
>   
>
> Existe alguna informacion que me puedan brindar antes de pasar a modo permisivo temporalmente?
>
>
> Gracias


que paquetes has sinstalado y como inicializas el clamav en CentOS 7??

_________




yum install clamd clamav

** por supuesto con todas las dependencias….


chkconfig clamd on

service clamd start

freshclam -v


Ahora despues de haber perdido tiempo revisando audit.log, creando un modulo de politicas mas relajadas para el context antivirus_t y demas termine por poner seLinux en modo permisivo y el problema persistia. Sencillamente clamd corre con los privilegios del usuario clamav y este no tiene permiso de escritura sobre /var/run y no lo hace aunque le diga a selinux que antivirus_t puede casi que hacer lo que le de la gana con var_run_t.


Regrese selinux a su modo enforced y a continuacion hice la siguiente chapuceria:

modifique el archive /etc/init.d/clamd y ahi vi que al detener el demonio el script asumia que el archive con el PID y el socket estaban en el directorio principal de clamav (/var/clamav). 

Modifique la configuracion en /etc/clamd.conf para que los archivos apuntaran hacia /var/clamd y fuciono sin problemas.

Despues regrese este cambio hacia atras, arregle las entradas en /etc/init.d/clamd para que apuntaran nuevamente a /var/run/{clam.pid, clamd.sock} y le meti la siguiente linea al comienzo  del script


mkdir /var/run/clamav && chown clamav:clamav /var/run/clamav


Hasta aqui todo funciona bien entre reinicios del sistema pero parece un poco mediocre…y es que las ideas se me acabaron….


Espero una propuesta mas limpia


> _______________________________________________
> CentOS-es mailing list
> CentOS-es en centos.org
> http://lists.centos.org/mailman/listinfo/centos-es

_______________________________________________
CentOS-es mailing list
CentOS-es en centos.org
http://lists.centos.org/mailman/listinfo/centos-es
_______________________________________________
CentOS-es mailing list
CentOS-es en centos.org
http://lists.centos.org/mailman/listinfo/centos-es


Más información sobre la lista de distribución CentOS-es