como escanear no acesso com clamav em 14.04

4

Eu tento usar o clamav para varredura de vírus no acesso para meu diretório inicial e todas as unidades montadas. Eu encontrei algumas instruções antigas aqui e as ajustei.

Como o dazuko foi substituído pelo fanotify, os parâmetros no clamd.conf são ligeiramente diferentes. Aqui estão as minhas entradas relevantes do clamd.conf:

ScanOnAccess true
# ClamukoScanOnOpen true
# ClamukoScanOnExec true
OnAccessIncludePath /home
OnAccessIncludePath /mnt
OnAccessIncludePath /media
VirusEvent /opt/clamdazer %v &

Se eu reiniciar o clamd (por "sudo invoke-rc.d clamav-daemon restart"), o log tem o seguinte:

ERROR: ScanOnAccess: fanotify_init failed: Operation not permitted
ScanOnAccess: clamd must be started by root

O que estou fazendo de errado?

Edit: Eu tentei mudar a linha "User clamav" para "User root", mas o início do clamd falhará com "ERROR: initgroups () falhou".

Encontrei alguns relatórios de bugs que podem ser relevantes aqui: Ubuntu Bug # 1404762 e Bug do Debian # 749027 (só posso postar 2 links).

Infelizmente, não consegui usar as soluções descritas aqui. Para mim, ao que parece, a varredura no acesso atualmente não funciona de forma alguma.

    
por hako 01.03.2015 / 09:03

2 respostas

6

Na verdade, você já está lá. Você já fez Instalando o clam-av, precisamos de um pequeno ajuste para fazer o clamd rodar como root.

Como esse segmento já envelhece. Vou resumir as coisas corretas que você fez. Isto é apenas para passo-a-passo como instalar o ClamAV e torná-lo no acesso.

Primeiro, devemos instalar a versão correta. Apenas versão clamav > 0,98 tem um recurso ifanotify para a varredura ao acessar. Este ifanotify substitui o módulo de kernel dazuko preterido Veja mais @ ClamAV Blog usado pela versão mais antiga do ClamAV.

PASSO 1 - Instalação

Se você estiver executando no 14.04, você pode adicionar este ppa para a versão mais recente

ppa:teward/clamav

Em seguida, atualize o apt para atualizar o cache do apt

sudo apt-get update

Execute o seguinte comando para instalar o ClamAV

sudo apt-get install clamav clamav-daemon

Se o ClamAV já instalado não se esqueça de atualizar o banco de dados do ClamAV executando

sudo freshclam

Neste passo, já temos o ClamAV na nossa máquina. Mas espere, precisamos fazer a varredura ao acessar, certo? Certo!

PASSO 2 - Configuração

Agora abra o arquivo de configuração do ClamAV (clamd.conf). Eu estou usando o Ubuntu 16.04 LTS e ele está localizado em /etc/clamav/clamd.conf (você pode usar nano, ou vi para editar o arquivo, mas tenha certeza que você tem o privilégio de editar o arquivo).

sudo nano /etc/clamav/clamd.conf

Então você verá todos os parâmetros pré-definidos.

Agora olhe o arquivo de configuração para este parâmetro

ScanOnAccess false

Altere para

ScanOnAccess true

Agora, há duas opções para incluir o diretório para a varredura ao acessar. Primeiro inclua o diretório como montado e o segundo como diretório de inclusão.

Ainda no arquivo de configuração, adicione o seguinte parâmetro para a opção montada

OnAccessMountPath /

Isso incluirá todo o diretório ou caminho dentro da sua máquina. Em outras palavras, ele iria assistir e escanear todo o seu diretório de máquinas. Mas você pode adicionar mais de um "OnAccessMountPath", por isso você pode definir o seu próprio.

OnAccessMountPath /home
OnAccessMountPath /opt
OnAccessMountPath /var
etc...

O segundo você pode incluir o diretório mais específico usando "OnAccessIncludePath"

OnAccessIncludePath /home/{youruser}/Desktop
OnAccessIncludePath /home/{youruser}/Documents
OnAccessIncludePath /home/{youruser}/Downloads
OnAccessIncludePath /home/{youruser}/Emulation
OnAccessIncludePath /home/{youruser}/Music
OnAccessIncludePath /home/{youruser}/Pictures
OnAccessIncludePath /home/{youruser}/Public
OnAccessIncludePath /home/{youruser}/Video

E então não esqueça de adicionar o seguinte parâmetro no final do parâmetro de configuração

OnAccessPrevention false
OnAccessExtraScanning true
OnAccessExcludeUID 0

(opcional, mas recomendado) Você pode adicionar seu próprio script para manipular o evento quando o vírus encontrou essa exclusão ou mover o arquivo infectado e fazer algum log. Para fazer isso, você pode adicionar o parâmetro "VirusEvent" no arquivo de configuração. Você pode adicionar como eu faço

VirusEvent /opt/clamav-utils/clamd-response

E crie um novo arquivo bash chamado "clamd-response" em / opt / clamav-utils ou em qualquer lugar que desejar.

Aqui o script de resposta do clamd

#!/bin/sh

echo "$(date) - $CLAM_VIRUSEVENT_VIRUSNAME > $CLAM_VIRUSEVENT_FILENAME" >> /var/log/clamav/infected.log
rm $CLAM_VIRUSEVENT_FILENAME
sudo -u yourUserName DISPLAY=:0.0 notify-send "Virus Found $CLAM_VIRUSEVENT_VIRUSNAME" "$CLAM_VIRUSEVENT_FILENAME has been removed"

O script removerá o arquivo infectado, fará o log e enviará a notificação do OSD para a sua área de trabalho. Nota: Se a Notificação do OSD não aparecer, tente excluir

sudo -u yourUserName

e apenas deixe

DISPLAY=:0.0 notify-send "Virus Found $CLAM_VIRUSEVENT_VIRUSNAME" "$CLAM_VIRUSEVENT_FILENAME has been removed"

Agora precisamos fazer o clamd (clamav daemon) rodar como root. Ainda no arquivo de configuração procure por este parâmetro

User clamav

Altere-o para

User root

Agora salve e feche o arquivo. Em seguida, precisamos evitar que o clamd de proteção do aplicativo seja executado como root.

PASSO 3 - Dar capacidade de clamd como ROOT

Primeiro, precisamos instalar os utilitários de proteção de aplicativos, executando este comando

sudo apt install apparmor-utils

Em seguida, execute este comando para reclamar sobre a deficiência do clamd executada como root

sudo aa-complain clamd

Apenas reinicie sua máquina, e o ClamAV deve ser executado como no acesso agora.

    
por Tri Hartanto 06.09.2016 / 06:00
0

Teve o problema na mageia 6 Usando

User root 

Não resolveu o problema

O que eu fiz em vez disso foi editar o próprio serviço para executá-lo como root, então funcionou

gedit /etc/systemd/system/multi-user.target.wants/clamad.service

e mude o usuário para root

Espero que ajude alguém;)

    
por intika 11.03.2018 / 05:57