|
![]() |
||
Debian: servidor de arquivos, antivirus, lixeira e auditoria
|
||
. Nós temos 754.016 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.
![]() |
|
|
Opções do Tópico |
|
|
#1 (permalink) |
|
Administração
Registrado em: Jul 2007
Mensagens: 3.504
Reputação: 44
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
A implementação de servidores de arquivos utilizando a plataforma GNU/Linux permite a utilização de diversos recursos, bem como obter ganhos de performance e segurança. Este artigo irá apresentar a implementação de um servidor arquivos utilizando a distribuição Debian GNU/Linux Lenny, bem como, a utilização de 3 módulos VFS (Virtual File System) no Samba, para disponibilizar as funcionalidades de Lixeira, Auditoria e Antivirus. Waldemar Dibiazi Junior 19/11/2009 http://www.hardware.com.br/dicas/ser...ia-debian.html Comente aqui! |
|
|
|
|
|
#2 (permalink) |
|
Novo Membro
Registrado em: Nov 2006
Localização: São Paulo
Mensagens: 117
Reputação: 11
![]() |
Muito bom o artigo, parabéns.
__________________
Tiago Romanini Seção Nove Tecnologia www.secaonove.com.br ------------------------------------------------------------------------------------------------------------ "Comece fazendo o que é necessario, depois o que é possivel, e de repente você estara fazendo o impossivel."
|
|
|
|
|
|
#3 (permalink) |
|
Zumbi
|
como faria para que o subdiretorio quarentena fique nos home dos usuários, pois tenho um script que quando cria os usuario já cria o diretorio .quarentema por exemplo:
root@server-pdc:/etc/init.d# ls -la /etc/skel.smb/ total 48 -rw-r--r-- 1 root root 3871 2009-11-12 17:06 ! dr-xr-xr-x 7 root root 4096 2009-11-15 14:01 . drwxr-xr-x 115 root root 4096 2009-11-19 14:02 .. drwxr-xr-x 2 root root 4096 2009-10-26 09:16 Lixeira drwxr-xr-x 2 root root 4096 2009-10-26 09:16 mail drwxr-xr-x 2 root root 4096 2009-10-26 09:16 Meus documentos drwxr-xr-x 2 root root 4096 2009-10-26 09:16 PDF drwxr-xr-x 2 root root 4096 2009-10-26 09:16 .quarentena root@server-pdc:/etc/init.d# O script ficaria assim? #!/bin/sh scannedonly="/usr/local/sbin/scannedonlyd_clamav" port="2020" quarent_dir="/home/$USER/.quarentena" $scannedonly -p $port -d $quarent_dir EDITADO: fiz um teste agora com um arquivo infectado gravando no home e um usuario e nada de deletar o arquivo infectado automatico. tem que liberar a porta 2020 no firewall? Abraço
__________________
" O DVD Pirata de hoje é a bala perdida de amanhã" Autoria: Bárbara Gancia - Jornalista Valdir Sumaré - SP Última edição por jgama : 19-11-2009 às 14:48. |
|
|
|
|
|
#4 (permalink) |
|
Newbie
Registrado em: Nov 2009
Mensagens: 3
Reputação: 0
![]() |
Em relação ao scanning dos arquivos infectados e mover eles para o diretório de quarentena, existem duas opções:
- A primeira é utilizar conexão usando sockets UNIX; - A segunda conforme eu utilizei, foi através de conexões UDP na porta 2020. Caso o antivirus esteja na mesma maquina do Samba a conexão UDP é realizada através da interface loopback, então a seguinte regra no iptables resolveria: - iptables -I INPUT -i lo -j ACCEPT No ambiente q escrevi o artigo, eu não utilizei firewall, mas.... após sua duvida, eu inseri a seguintes regras na chain INPUT e funcionou corretamente: iptables -P INPUT DROP iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --dport 445 -j ACCEPT iptables -A INPUT -i lo -j ACCEPT Em relação a mover para diretórios de quarentenas individuais, isso estou verificando, pois foi uma das funcionalidades que quis implementar. Mas irei verificar e posto aqui o resultado. Abraços |
|
|
|
|
|
#5 (permalink) |
|
Newbie
Registrado em: Nov 2009
Mensagens: 3
Reputação: 0
![]() |
Verifiquei a documentação do Scannedonly, e pelo que parece não há forma de mover os arquivos para diretórios individuais de cada usuário, deste modo, implementei um pequeno shell script que pode ter a sua execução agendada no cron para que de tempos em tempo ele mova os arquivos de cada usuário para seus respectivos diretórios de quarentena pessoais.
# Shell script que move arquivos contidos no diretorio de quarentena principal # para o diretorio de quarentena individual de cada usuario # Utilizado em conjunto com o software Samba+Clamav+Scannedonly # # por Waldemar Dibiazi Junior <waldemar_jr@hotmail.com> # quarent_dir="/quarentena" home_usuario="/home" quarent_dir_usuario=".quarentena" usuarios=`ls $quarent_dir -l |cut -f3 -d" "` num_arqs=`echo $usuarios |wc -w` if [ $num_arqs -gt 0 ]; then i=1 for arq in $quarent_dir/*; do usuario=`echo $usuarios |cut -f$i -d" "` mv $arq $home_usuario/$usuario/$quarent_dir_usuario/. ((i++)) done fi Apesar que existe um detalhe, se o usuário tiver acesso ao diretório .quarentena, o modulo VFS do ScannedOnly irá detectar o virus novamente e moverá novamente para o diretório de quarentena principal, e na proxima execução do script ele moverá o mesmo arquivo para o diretório de quarentena do usuário, gerando um certo loop cada vez que o usuário acessar o diretório .quarentena. Nesse caso, creio que seria melhor criar um compartilhamento da seguinte forma: [quarentena] path = /quarentena_usuarios valid users = admin browseable = no Alterando obviamente o sheel script para esta nova situação Deste modo, somente o usuario admin teria acesso, e ao mesmo tempo este compartilhamento não estaria fazendo uso do módulo VFS e fazer o Scannedonly mover o arquivo que já está no diretório individual de quarentena do usuário, para o diretório principal de quarentena. Abraços Última edição por waldemarjr : 19-11-2009 às 16:13. |
|
|
|
|
|
#6 (permalink) |
|
Newbie
Registrado em: Nov 2009
Mensagens: 1
Reputação: 0
![]() |
Ola Waldemar!
Parabéns pelo artigo. Ótima qualidade. Continue assim. Seu amigo, Luciano Albuquerque |
|
|
|
|
|
#7 (permalink) |
|
Zumbi
|
Olá Waldemar tudo bem!!
Antes de fazer o que vc deu idéia, eu fiz a instalação e configuração conforme seu artigo, não mudei um virgula se quer. Mas quando fui fazer o teste, o arquivo infectado continua no home do usuário. Porque não removeu e nem deu alerta de virus? #tail -f /var/log/syslog |grep scannedonly Nov 23 12:24:12 server-pdc scannedonlyd_clamav[31884]: Status: scanned 0 files and 0 large files in 10 minutes; min 0/max 0 requests on small queue, min 0/max 0 requests on large queue Um detalhe, criei um usuário cobaia e movi o arquivo infectado via console. Vc saberia dizer porque não deu certo? Abraço
__________________
" O DVD Pirata de hoje é a bala perdida de amanhã" Autoria: Bárbara Gancia - Jornalista Valdir Sumaré - SP Última edição por jgama : 23-11-2009 às 11:31. |
|
|
|
|
|
#8 (permalink) |
|
Newbie
Registrado em: Nov 2009
Mensagens: 3
Reputação: 0
![]() |
O Scannedonly é um módulo VFS que trabalha em conjunto com o Samba, até ai tudo bem, por tanto, ele somente solicitará scanning de arquivos se por exemplo, você mover um arquivo infectado para o home do usuário, utilizando chamadas via protocolo CIFS, ou seja, estando numa estação Windows ou Linux e realizando acesso ao diretório compartilhado por intermédio do Samba.
O daemon scannedonlyd_vscan não é notificado sobre novos arquivos criados ou alterações de arquivos (para serem escaneados) se você utilizar o shell diretamente. Se você não quer realizar o teste utilizando outra estação Windows ou Linux só para conectar ao compartilhamento Samba, bem como, não instalou nenhum Gerenciador de Janelas como o Gnome, por exemplo, você pode através do shell conectar no compartilhamento (fazendo com que o Samba intermedie o acesso ao diretório (compartilhamento)): mount //localhost/fulano /mnt -o user=fulano considerando que o usuario fulano tenha sido criado, e você esteja usando por exemplo o compartilhamento homes. Deste modo, mova o arquivo infectado ao ponto de montagem (/mnt) depois execute o comando ls /mnt você verá que existirá um arquivo de texto vazio com o prefixo VIRUS_found_in_ + o nome do arquivo que você moveu + .txt Qualquer coisa estamos ai. Abraço FcD e se cuida Última edição por waldemarjr : 24-11-2009 às 12:17. |
|
|
|
|
|
#9 (permalink) |
|
Veterano
Registrado em: Jun 2005
Mensagens: 1.039
Reputação: 15
![]() |
amigo estou tentado fazer com o samba 3.4.5 que vem no debian testing squeeze só que só aceita compilar o samba usando o make(sem o proto) e o source dele é /usr/local/src/samba-3.4.5~dfsg/source3
ai dou make e make install e instala sem erros...mas quando vou compilar o modulo anti vírus aparece o erro abaixo: rodando o comando dentro da pasta do modulo versão 0.18: #./configure-with-samba-source=/usr/local/src/samba3.4.5~dfsg/source3-with-samba-vfs-dir=/usr/lib/samba/vfs root@samba:/usr/local/src/scannedonly-0.18# ./configure-with-samba-source=/usr/local/src/samba3.4.5~dfsg/source3-with-samba-vfs-dir=/usr/lib/samba/vfs bash: ./configure-with-samba-source=/usr/local/src/samba3.4.5~dfsg/source3-with-samba-vfs-dir=/usr/lib/samba/vfs: Arquivo ou diretório não encontrado
__________________
Macbook Air 11.6" |
|
|
|
|
|
#10 (permalink) | ||
|
Zumbi
|
Citação:
No caso do Samba 3.4.5 não precisa dizer o local do source, pois a partir do 3.4.4 o modulo VFS já vem compilado por padrão. Por isso da erro. Apenas compile com um ./configure --prefix=/usr && make && make install e pronto. Bom, agora minha dúvida. Instalei ele junto ao Samba 3.4.5, e de vez em quando (umas 3 vezes ao dia) tenho estes erros, e ele simplesmente finaliza, do nada: Citação:
Para não dar problema, eu criei um script que fica monitorando o processo do ScannedOnly, quando ele para de forma "estranha" (que não seja por um STOP proposital) ele inicia o Daemon denovo, para não causar queda de acesso na rede. Mas isso não está legal assim. Alguém sabe o que pode ser este problema? Falow!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
__________________
-->Blog Pessoal - Um pianista "desajeitado" <-- - Vendo PC: Pentium D 2.8Ghz, 1GB DDR, HD 120GB + 40GB, SB Live 5.1!, DVD-RW, Monit. 17'' LCD, GF7600GS. Tratar por MP! |
||
|
|
|
|
|
#11 (permalink) |
|
Newbie
Registrado em: Nov 2004
Mensagens: 1
Reputação: 0
![]() |
Qunado executo o make da alguns erro, alguem tem alguma idéia do que pode ser ?
# make && make install make[1]: Entrando no diretório `/usr/local/src/scannedonly-0.19/man' make[1]: Nada a ser feito para `all'. make[1]: Saindo do diretório `/usr/local/src/scannedonly-0.19/man' make[1]: Entrando no diretório `/usr/local/src/scannedonly-0.19/src' gcc -g -O2 -Wall -pipe -c -o scannedonlyd_clamav.o scannedonlyd_clamav.c scannedonlyd_clamav.c: In function ‘push_to_queue’: scannedonlyd_clamav.c:103: warning: implicit declaration of function ‘strdup’ scannedonlyd_clamav.c:103: warning: incompatible implicit declaration of built-in function ‘strdup’ scannedonlyd_clamav.c: In function ‘handle_file_warning’: scannedonlyd_clamav.c:341: warning: implicit declaration of function ‘snprintf’ scannedonlyd_clamav.c:341: warning: incompatible implicit declaration of built-in function ‘snprintf’ scannedonlyd_clamav.c: In function ‘load_engine’: scannedonlyd_clamav.c:399: warning: passing argument 2 of ‘cl_load’ from incompatible pointer type scannedonlyd_clamav.c:403: warning: implicit declaration of function ‘cl_build’ scannedonlyd_clamav.c:405: warning: implicit declaration of function ‘cl_free’ scannedonlyd_clamav.c: In function ‘scanningthread’: scannedonlyd_clamav.c:662: warning: passing argument 5 of ‘cl_scanfile’ makes integer from pointer without a cast scannedonlyd_clamav.c:662: error: too many arguments to function ‘cl_scanfile’ scannedonlyd_clamav.c: In function ‘main’: scannedonlyd_clamav.c:885: warning: incompatible implicit declaration of built-in function ‘strdup’ scannedonlyd_clamav.c:972: warning: incompatible implicit declaration of built-in function ‘strdup’ scannedonlyd_clamav.c:1063: error: invalid application of ‘sizeof’ to incomplete type ‘struct cl_limits’ scannedonlyd_clamav.c:1064: error: invalid use of undefined type ‘struct cl_limits’ scannedonlyd_clamav.c:1065: error: invalid use of undefined type ‘struct cl_limits’ scannedonlyd_clamav.c:1069: error: invalid use of undefined type ‘struct cl_limits’ scannedonlyd_clamav.c:1074: error: invalid use of undefined type ‘struct cl_limits’ make[1]: ** [scannedonlyd_clamav] Erro 1 make[1]: Saindo do diretório `/usr/local/src/scannedonly-0.19/src' make: ** [all] Erro 2 |
|
|
|
![]() |
| Opções do Tópico | |
|
|