Por que o clamdscan não consegue escanear nada?

5

Não tenho certeza do que está acontecendo aqui. Instalei clamav , clamav-freshclam e clamav-daemon para executar varreduras automatizadas (usando o cron) na minha máquina executando o Ubuntu Desktop 10.04 LTS x64 .

Infelizmente, o clamdscan se recusa a escanear qualquer coisa . Esta é a saída que recebo sempre que tento:

root@uhs:/raid/Share/Public/# clamdscan -v /raid/Share/Public/
/raid/Share/Public: lstat() failed: Permission denied. ERROR

----------- SCAN SUMMARY -----------
Infected files: 0
Total errors: 1
Time: 0.004 sec (0 m 0 s)
root@uhs:/raid/Share/Public/#

/raid/Share/Public tem 777 permissões e o usuário clamav-daemon clamav foi incluído nos grupos admin e root . Eu recebo o mesmo erro, não importa quais arquivos ou diretórios eu tente digitalizar.

Eu até executei dpkg-reconfigure clamav-base e fiz o usuário daemon root para ver se isso ajudaria (o que não aconteceu). E, claro, corri service clamav-daemon restart entre todas essas mudanças.

Eu estou ciente da opção cat file_name | clamdscan - , mas eu preciso ser capaz de escanear diretórios inteiros recursivamente , então obviamente isso não funcionará.

O que estou fazendo de errado? Posso usar o clamdscan?

Obrigado por qualquer ajuda.

Atualizar

Saída de sudo -u clamav stat /raid/Share/Public/ :

root@uhs:/raid/Share/Public# sudo -u clamav stat /raid/Share/Public/
  File: '/raid/Share/Public/'
  Size: 6           Blocks: 0          IO Block: 4096   directory
Device: 900h/2304d  Inode: 54526208    Links: 2
Access: (0777/drwxrwxrwx)  Uid: ( 1000/awensley)   Gid: (  120/   admin)
Access: 2011-01-19 01:00:00.304365306 -0600
Modify: 2011-01-18 22:47:06.793592673 -0600
Change: 2011-01-19 00:42:52.023813550 -0600
root@uhs:/raid/Share/Public# 

Atualização 2

Eu tenho exatamente este mesmo problema em 5 máquinas Ubuntu 10.04 separadas; 3 deles servidores. Então, ou eu estou sentindo falta de algo ou há um problema real aqui.

Atualização 3

Eu enviei isto como um relatório de bug no Launchpad

    
por Andrew Ensley 19.01.2011 / 18:49

1 resposta

4

Em outros lugares, vi que o AppArmor ou o SELinux podem causar problemas para o clamdscan.

Se você executar sudo aa-complain clamd e a nova varredura funcionar, provavelmente é o seu problema. (Certifique-se de reativá-lo com sudo aa-enforce clamd .)

Para desativar temporariamente o SELinux, que eu não executei no Ubuntu, você pode tentar echo 0 > /selinux/enforce . Podemos acompanhar isso se você estiver executando o SELinux.

update: Aqui está um tópico muito interessante do launchpad: link . Eu seguiria os comentários de Jamie Strandboge para eliminar os perfis do AppArmor como o culpado.

Se isso não for aplicável, o hack que vem à mente é canalizar um diretório para a saída padrão via tar e inserir isso no clamdscan (que é uma variação do que você mencionou para um único arquivo). Eu acho que seria algo parecido com:

 tar -cvf --to-stdout /somedirectory | clamdscan -  

Você deve ser capaz de obter a versão empacotada mais recente do clamav da equipe Ubuntu Clamav do seu link ppa:

Além disso, no site do ClamAV : "Se você quiser enviar um relatório de bug, verifique sempre o latest código de desenvolvimento ." (Supondo que você ainda não tenha feito isso) Você terá que puxar esse código manualmente de seu repositório Git e compilá-lo.

Para relatar erros nos pacotes do Ubuntu, consulte link .

=======

Uma coisa a notar é que, até onde eu sei, é clamscan e não clamdscan , que deve funcionar apenas sem problemas em seu diretório pessoal.

O Ubuntu apresenta algumas complicações possíveis (com o aumento de segurança muito desejável) por ter o apparmor ativado por padrão.

(o clamdscan requer que o daemon clamav esteja rodando - o clamscan, mais de um pacote ad-hoc orientado pelo usuário, não funciona. Com os recursos adicionais do clamdscan / clamd, há mais sobrecarga de complexidade.)

Ainda, contra isso, o bug para clamdscan e apparmor mencionado no bug deste post deveria ter sido corrigido pelo tempo do pacote atual.

Atualizado tenta reproduzir e resolver

Eu não acho que posso reproduzir completamente o seu ambiente ou controlar o erro do usuário (definitivamente meu e possivelmente o seu), no entanto eu reproduzi o que eu acho que é o mesmo problema com a mesma versão do clamav que você tem.

Além disso, fiz o download do código mais recente do repositório git, o compilei e instalei e ainda tenho o problema.

Eu não tenho o SELinux, mas tenho o AppArmor. Eu achei corretamente isso? Eu não sou 100%. Eu ainda recebo a permissão de erros negados depois de desativar o AppArmor embora.

=======

    
por belacqua 25.01.2011 / 00:47