sexta-feira, dezembro 22, 2006

Bro Offline Packet Analysis(DPD Enabled)

Bro-ids is a beast, you will have to spend some times to actually understand how it works, or maybe just understand it partially. There's no good guide that you can find regarding Bro-ids, the only thing you can do is either subscribing to the mailing list, or either reading Bro-ids Wiki or maybe reading its codes(Ouch). The documentation that comes with Bro-ids is rather old. I think most of people out there are using Snort, it is lightweight, snort related documentation and books are everywhere too. I will have to admit that Bro-ids is not very easy to use but you can find it very powerful from time to time. Anyway you can download it at here, to install it -

shell>tar xvzf bro-1.2-devel.tar.gz

shell>cd bro-1.2-devel

shell>./configure --prefix=/usr/local/stow/bro-1.2-devel

shell>make && make install

You will have to run make install-brolite so that configuration can be done easily. Once you have finished the configuration, now let's navigate the installed bro. The reason why I choose to install bro in non-standard directory because it will be more easy for us when we need to either remove or upgrade it next time.

shell>ls -la /usr/local/stow/bro-1.2-devel/
total 38
drwxr-xr-x 16 bro wheel 512 Dec 15 19:33 .
drwxr-xr-x 16 root wheel 512 Dec 12 14:35 ..
drwxr-xr-x 2 bro wheel 512 Dec 6 09:17 archive
drwxr-xr-x 2 bro wheel 512 Dec 6 10:00 bin
drwxr-xr-x 5 bro wheel 512 Dec 6 10:00 doc
drwxr-xr-x 2 bro wheel 512 Dec 6 12:23 etc
drwxr-xr-x 2 bro wheel 512 Dec 6 09:57 include
drwxr-xr-x 2 bro wheel 512 Dec 6 09:57 lib
drwxr-xr-x 4 bro wheel 5632 Dec 15 16:04 logs
drwxr-xr-x 3 bro wheel 512 Dec 6 10:08 perl
drwxr-xr-x 4 bro wheel 4096 Dec 15 19:34 policy
drwxr-xr-x 2 bro wheel 512 Dec 6 09:17 reports
drwxr-xr-x 2 bro wheel 512 Dec 6 10:08 scripts
drwxr-xr-x 4 bro wheel 512 Dec 6 09:14 share
drwxr-xr-x 2 bro wheel 512 Dec 6 12:42 site
drwxr-xr-x 2 bro wheel 512 Dec 15 16:04 var

I won't be going through every directory and explaining them one by one, however you should look at site which is used to store your site configuration, you should check and tune the configuration of the files in site directory especially the one with your hostname as prefix. By default brolite is enabled to load all the default policies.

@load brolite

One of the thing you can do is enable the Snort signatures matching by uncomment the following line -

# To run signatures, uncomment the following line.
@load brolite-sigs

The next directory that are important is etc(configuration directory), you may find most of bro path variables are stored in bro.cfg in etc directory. Then comes to policy script, this directory needs a lot of tuning depends on your network environment. You can actually checkout brolite.bro script inside policy directory to see what is loaded by default. Other directories that are shown pretty self descriptive so I won't touch on that.

Since this post is about Bro-IDS Offline Packet Analysis, I will just talk about it. To actually do it, I will have to add or append the following part to .bash_profile since my environment variables are stored there(I'm using bash), you should change it if you use different shell.

BROHOME=/usr/local/stow/bro-1.2-devel
BROPATH=/usr/local/stow/bro-1.2-devel/policy:/usr/local/stow/bro-1.2-devel/site

export PATH PACKAGESITE BROHOME BROPATH

Since I don't have clue for the first time how I can use bro with DPD(dynamic protocol detection), I refer to the brolite.bro to get to know which analyzers are needed if I want dynamic protocol detection. Here's the entry of brolite.bro

.....
## Dynamic Protocol Detection configuration
#
# This is off by default, as it requires a more powerful Bro host.
# Uncomment next line to activate.
const use_dpd = T;

@ifdef ( use_dpd )
@load dpd
@load irc-bot
@load dyn-disable
@load detect-protocols
@load detect-protocols-http
@load proxy

# By default, DPD looks at all traffic except port 80.
# For lightly loaded networks, comment out the restrict_filters line.
# For heavily loaded networks, try adding addition ports (e.g., 25) to
# the restrict filters.
redef capture_filters += [ ["tcp"] = "tcp" ];
# redef restrict_filters += [ ["not-http"] = "not (port 80)" ];
@endif
.....

The default offline packet analysis can be done by using mt.bro which is located at policy directory. Here's the content of my mt.bro -

# $Id: mt.bro 340 2004-09-09 06:38:27Z vern $

@load alarm
@load dns-lookup
@load hot
@load frag
@load tcp
@load scan
@load weird
@load finger
@load ident
@load ftp
@load login
@load portmapper
@load ntp
@load tftp
@load profiling
# Loading DPD
@load dpd
@load irc-bot
@load dyn-disable
@load detect-protocols
@load detect-protocols-http
@load proxy

You should see I have added the dynamic protocol detection(DPD) to mt.bro so that I can use the latest DPD when doing offline traffic analysis.

Running bro offline packet analysis
shell>bro -f tcp -r 060915-Event.pcap mt

After bro is successfully executed, you may find all the logs in current directory.

shell>ls -la *.log
-rw-r--r-- 1 root wheel 0 Dec 11 14:27 alarm.log
-rw-r--r-- 1 root wheel 0 Dec 11 14:27 conn.log
-rw-r--r-- 1 root wheel 0 Dec 11 14:27 ftp.log
-rw-r--r-- 1 root wheel 0 Dec 11 14:27 irc-bots.log
-rw-r--r-- 1 root wheel 104 Dec 11 14:01 irc-bots.summary.log
-rw-r--r-- 1 root wheel 0 Dec 11 14:27 irc.detailed.log
-rw-r--r-- 1 root wheel 0 Dec 11 14:27 irc.log
-rw-r--r-- 1 root wheel 0 Dec 11 14:27 notice.log
-rw-r--r-- 1 root wheel 0 Dec 11 14:27 prof.log
-rw-r--r-- 1 root wheel 0 Dec 11 14:27 signatures.log
-rw-r--r-- 1 root wheel 0 Dec 11 14:27 weird.log

Dynamic Protocol Detection is still new or considered in early developemet, we will see more and more protocols will be supported in future. Interestingly, you can print all the bpf filter expressions of mt.bro

shell>bro -f tcp mt print-filter
(((((((((((ip[6:2] & 0x3fff != 0) and tcp) or (port 111)) or (tcp[13] & 7 != 0)) or (port 6667)) or (port finger)) or (port telnet or tcp port 513)) or (udp port 123)) or (port ftp)) or (tcp port 113)) or (udp port 69)) or (port 6666)

By the way I'm using the wrong term - Offline Packet Analysis, Bro doesn't work that way, it is more of Offline Traffic Analysis instead as it analyses the full network stream instead of packet wise.

Enjoy (;])

Irresistable

Working as sysadmin means that you will have to watch your puter screen most of the time, thus it is good to setup prefferable working environment. While you can't change your office layout, I'm sure you can change your screenie which don't kill. Most of my friends know that I prefer simple and slick style over anything, and I can't resist to show off my Fluxbox screenshot - it is too sexy to be true and serves as perfect workspace at least for me.


Thanks to tenner for his fluxbox style - litebox, you always rox!

Cheers ;)

P/S: Please learn to appreciate beautiful things :P

Qemu Network on Linux

If some of you have downloaded my OpenBSD Sguil qemu image, and you happen to use linux, I suggest you take a look at this post which explain how to get qemu networking works on Linux. By the way if you like the work of Snort-Inline, just drop by to the blog and say hi to Victor.

http://www.inliniac.net/blog/?p=56


Thanks to Victor, this is the late post from me indeed.

Cheers :)

sexta-feira, dezembro 15, 2006

Fidelização -Telefonia Móvel

O conceito é justo. Você compra um telefone por um preço muito abaixo do valor real. Em troca, se compromete a utilizar os serviços de uma operadora por determinado período. Bolas, há telefones por R$1,00 anunciados no jornal. Faz todo o sentido do mundo. Ninguém dá nada de graça, a operadora fica feliz pois pode contabilizar seu plano como receita garantida, você fica feliz pois evita uma despesa às vezes grande, o fabricante fica feliz pois foi pago do mesmo jeito.

Usuários de planos pré-pagos não contam com cláusulas de fidelização, óbvio. Assim seus telefones em geral são cobrados integralmente. É justo? Claro, pombas. Tradicionalmente pré-pago consome menos que pós. Ninguém garante que o sujeito vai pegar o telefone da empresa A e não usar com o SIM-CARD da empresa B. Dessa forma, a cobrança mais alta.

No caso do pós-pago, a fidelização é aplicada via bloqueio, o SIM-LOCK.


SIM-LOCK
Com esse bloqueio somente chips de uma operadora específica funcionam no aparelho. Um aparelho da Claro está liberado para funcionar com chips da Claro somente, e por aí vai. Assim, o usuário não pode utilizar seu aparelho subsidiado com chips de terceiros. Isso não é justo por três motivos:

1 - Os aparelhos pré-pagos não são subsidiados. Você paga preço integral por eles. Não há qualquer vantagem ou vínculo com a operadora. Mesmo assim, aplicam o SIM-LOCK, você se torna um pré-pago com fidelização forçada

2 - Clientes pós-pagos são fidelizados por contrato. Se você for roubado, esmagar seu telefone atirando-o na parede (já fiz isso, com um T610) ou seu cachorro comê-lo, não interessa. Seu contrato tem que ser cumprido. Isso significa de 12 a 18 meses de pagamento de assinatura mínima, ou uma multa bem salgada. Se o aparelho é irrelevante para a aplicação do contrato, para quê o SIM-LOCK?

3 - Clientes de pós-pago que perdem seu aparelho ou são roubados estão sujeitos à boa-vontade da operadora. Como minha conta tinha valores absurdos, fruto de toneladas de ligações DDD, consegui um 6600 por R$70,00 mas a oferta inicial da Claro para reposição foi: R$25,00 de desconto num aparelho novo (com preço de pré-pago) mais 12 meses adicionais de fidelização. Como diz um amigo meu … “Fritas acompanham?”

Em resumo: O aparelho é seu, você comprou e pagou por ele. Sua fidelização independe do equipamento.

Desbloqueio Oficial
Por ordem da ANATEL, as operadoras são obrigadas a desbloquear gratuitamente os aparelhos com mais de um ano de contrato. Não sei como isso funciona para os pré-pagos.

Na prática isso implica em enviar carta (não email, carta) com documentação, aguardar um prazo indeterminado, esperar a boa-vontade deles e então ser encaminhado para uma assistência técnica. Desbloqueio via operadora antes disso, só pagando. Em média, R$100,00




Ubuntu Satanic edition

O Ubuntu Satanic Edition não é uma distribuição, mas uma série de temas para transformar o visual do Ubuntu. Você precisa ter a distribuição Ubuntu já instala em seu computador.

Veja screenshots e saiba mais em: http://parker1.co.uk/satanic/

PHP esta presente em 34,13% dos web sites

Pesquisa recente disponibilizada pela Nexen [1], mostra a evolução de utilização do PHP na construção de Web Site. O gráfico mostrado é o resultado da evolução até o mês de Novembro/2006.

http://e-ti.blogspot.com/2006/[...]nte-em-3413-dos-web-sites.html

Ubuntu Linux, o rei das distribuições em 2006

De acordo com o Google Trends, Distrowatch e OS News a distribuição Ubuntu com maior "mind share" e o site OS News acredita que a distribuição com maior "market share" no desktop seja também Ubuntu.


Google Trends: http://www.google.com/trends?q[...]ab=0&geo=all&date=2006

Fonte: http://www.osnews.com/story.php?news_id=16681

Java SE 6 lançado

Depois de mais de 2 anos de desenvolvimento, a Sun está lançando a última versão de seu software "Java Platform Standard Edition" (Java SE), criando ênfase em particular no suporte a outras linguagens de scripting.


O Java SE 6 é a primeira versão do software em que os desenvolvedores poderão misturar tecnologia Java com outras linguagens tais como PHP, Python, Ruby e JavaScript.
https://scripting.dev.java.net/
http://java.sun.com/javase/6/

Fonte: http://www.linuxworld.com.au/index.php/id;1102901659;fp;16;fpid;0

Lego publica os fontes do firmware do NTX

A Lego acaba de publicar os fontes do firmware do Mindstorms NXT sob licença Open Source.

Confira: http://mindstorms.lego.com/Overview/OpenSource.aspx

Fonte: http://barrapunto.com/articles/06/12/11/2040245.shtml

Qual será o Futuro do Linux?

Acho que todos nós, um dia, nos pegamos pensando no que espera o pinguim em um futuro que ainda se mostra nebuloso. Com a velocidade das mudanças, as possibilidades do que espera o Linux crescem e, em dois artigos, que defendem pontos de vista contrários, Kaiting Chen e Dmitrij D. Czarkoff debatem sobre o assunto.

Depois de 15 anos de vida, muitas pessoas começam a se perguntar sobre o que espera o pingüim no futuro. Em duas interessantes análises de pontos de vista contrários, Kaiting Chen e Dmitrij D. Czarkoff confrontam-se e debatem sobre esse assunto nos artigos intitulados “A guerra pelo Linux está Perdida – Quase” e “A guerra pelo Linux nem mesmo existe; Não está perdida de qualquer maneira”.
Os argumentos usados por ambos os autores baseiam-se na ampla experiência profissional de cada um com o Linux e traçam possibilidades interessantes para o que espera os usuários em um futuro não muito distante.
Leia:
A guerra pelo Linux está Perdida – Quase:
http://www.linux-fedora.org/xo[...]les/articles/article.php?id=17
A guerra pelo Linux nem mesmo existe; Não está perdida de qualquer maneira:
http://www.linux-fedora.org/xo[...]les/articles/article.php?id=16

"Eu compraria um Mac se não trabalhasse para a Microsoft"

"Um antigo chefe de desenvolvimento Windows, James Allchin, escreveu em janeiro de 2004 um e-mail para o CEO da companhia, Steve Ballmer e para o fundador, Bill Gates, que a empresa havia perdido o sinal das necessidades dos clientes e que compraria um Mac se não trabalhasse para a Microsoft."


Fonte: http://idgnow.uol.com.br/merca[...]-12.4171095040/IDGNoticia_view

OpenOffice 2.1 é publicado


Segundo pode-se ler no site do projeto OpenOffice.org, acaba de ser publicada a versão 2.1 do OpenOffice, com versões para GNU/Linux, FreeBSD, Windows, Macintosh e Solaris. Suas principaís novidades com relação à versão anterior são o suporte para vários monitores no Impress, a melhoria do suporte para exportar folhas de cálculo em HTML e do suporte para Access no Base.

Confira: http://download.openoffice.org/2.1.0/index.html

KERNEL LINUX - current

Kernel 2.6.19.1


Está disponível para download a primeira atualização estável para o Kernel 2.6.19.

Mais em: http://lwn.net/Articles/213657/

Download em: http://www.kernel.org/

Vídeo da nova entrevista de Júlio Neves e Sérgio Amadeu

Vídeo da nova entrevista de Júlio Neves e Sérgio Amadeu no canal Futura

No final de outubro, o Canal Futura realizou em seu telejornal uma entrevista com Júlio Neves e Sérgio Amadeu - Júlio ao vivo no estúdio, e Sérgio Amadeu em material previamente gravado.

O Júlio recebeu o registro da entrevista em DVD na semana passada, e com a cortesia que sempre o caracteriza, me enviou (para que eu pudesse compartilhar com vocês) uma cópia via Sedex, a qual recebi na manhã de hoje. Júlio Neves é gente que faz. Obrigado, Júlio!


Não sou um expert em processamento de arquivos de vídeo, portanto não realizei maiores edições. Mas converti o DVD para o formato MPEG, dividi em 2 partes e estou disponibilizando hoje a primeira (e maior) delas, que é a entrevista ao vivo com o Júlio Neves. A segunda parte, com a introdução e a entrevista pré-gravada de Sérgio Amadeu, disponibilizarei neste sábado.

Relato do entrevistado: "Todos os depoimentos antes do meu foram gravados e o meu foi ao vivo. É interessante notar que assisti ao que havia sido gravado, juntamente com o público, pois já estava dentro do estúdio e ao lado da simpática apresentadora do "Jornal do Futura". Estou citando este fato para que entendas que não tomei o viés filosófico do Software Livre" porque já havia sido abordado anteriormente, de forma a não tornar a entrevista enfadonha ou repetitiva. Por ser uma emissora de cunho educativo, preferi tomar o caminho do treinamento em SL, abordando, entre outros, o belo trabalho do CDTC"

Augusto Campos

fisl8.0: Theo De Raadt -confirmado

fisl8.0: Theo De Raadt, criador do OpenBSD é o primeiro palestrante internacional confirmado

Theo de Radt é o primeiro palestrante internacional confirmado para o Fórum Internacional Software Livre, na sua oitava edição (fisl 8.0).

Theo é o líder do projeto OpenBSD. Em outubro de 1995, Theo fundou o OpenBSD, um projeto nascido de dentro do NetBSD 1.0. A primeira versão, o OpenBSD 1.2, saiu em julho de 1996. Em outubro do mesmo ano, veio a versão 2.0.


Desde então, o projeto tem uma nova versão a cada seis meses e cada versão é mantida durante um ano. A última versão é a 4.0 de 1o. de novembro de 2006.

Theo de Raadt (nasceu em 19 de maio de 1968, na cidade de Pretoria, África do Sul) é engenheiro de software que atualmente reside em Calgary, Alberta, Canada. É o fundador e líder dos projetos OpenBSD y OpenSSH. Antes, foi membro fundador do projeto NetBSD.

De Raadt es conocido por sus formas beligerantes y confrontativas, lo que le ha llevado a varias disputas con la comunidad de software libre, aunque su mayor y más conocida discusión fue la que tuvo con el equipo de NetBSD y que lo llevó a crear el proyecto OpenBSD. Debido a esto, se ha ganado fama de decir siempre su opinión sin importarle lo que los demás piensen, o las consecuencias de sus palabras.

En 2004, la FSF le otorgó el premio FSF Award for the Advancement of Free Software

Oposición a la guerra de Iraq

Tras oponerse a la última guerra de Iraq en una entrevista con el diario de The Globe and Mail, una subvención multimillonaria concedida por el Departamento de Defensa de Estados Unidos al Proyecto POSSE de la Universidad de Pensilvania fue cancelada, acabando con el proyecto. Fondos de esa subvención habían sido destinados a los proyectos OpenBSD y OpenSSH, además de pagar el hackaton previsto para el 8 de mayo de 2003. A pesar de que el dinero de la subvención ya había sido usado para reservar alojamiento a 60 desarrolladores de OpenBSD durante una semana, el gobierno reclamó su devolución y obligó al hotel a cancelar las reservas realizadas con el dinero reclamado. Esto derivó en críticas hacia algunos de los militares estadounidenses por su censura a la libertad de expresión. El fin de la subvención no fue tan mal golpe para OpenBSD como algunos vaticinaban. Los patrocinadores de OpenBSD se pusieron manos a la obra con rapidez para ayudar al proyecto y el hackaton se desarrolló tal y como estaba previsto.

Defensa de los drivers libres

De Raadt también es muy conocido por su labor de defensa de la liberalización de los drivers de los dispositivos hardware por parte de los fabricantes. Siempre ha sido muy crítico con los desarrolladores de Linux y otros sistemas operativos libres por su tolerancia con los drivers no libres y la aceptación de licencias restrictivas a cambio de tener drivers para sus plataformas.

En particular, de Raadt ha trabajado mucho para convencer a los fabricantes de dispositivos wireless de que permitan la libre redistribución del firmware de sus productos. Sus efuerzos han sido muy fructíferos, especialmente con las compañías taiwanesas, dando como resultado muchos drivers wireless. Actualmente, Theo anima a los usuarios de redes wireless a comprar productos taiwaneses, debido a la falta de compromiso de las corporaciones estadounidenses (como Intel) con el software libre.

Fonte: http://es.wikipedia.org/wiki/Theo_de_Raadt

***********

O sistema operacional OpenBSD é seguro, estável e robusto e vem atraindo novos a antigos usuários do Unix. O sistema é desenvolvido para ser ambos estação de trabalho e servidor. O OpenBSD suporta a maioria dos principais programas e também oferece um amplo suporte de hardware. O OpenBSD não possui políticas de negócios para lucrar como fazem o Gnu/Linux e outros BSD's, logo ele é desenvolvido e desenhado de acordo com a sua própria política, sem a influência de empresas externas. Até agora este caminho tem sido muito bom para o sistema. Ele também não foi projetado para usuários que desejam apenas "apontar e clicar" e que não gostam de ler a documentação.

O OpenBSD passou a existir em 18 de Novembro de 1995, as 8:37 quando Theo de Raadt fez o primeiro fork na árvore CVS de fontes do NetBSD. A primeira liberação, o OpenBSD 2.0, ficou disponível em outubro de 1996. Novas liberações são lançadas a cada 6 meses desde então.

Visão Geral Sobre OpenBSD

O OpenBSD é o mais seguro e bem desenvolvido sistema operacional atualmente disponível. Ele é baseado em um "sabor" do Unix que possui em suas raízes milhares de horas de pesquisa e desenvolvimento além das principais características dos sistemas operacionais modernos. Ele é considerado o sistema operacional mais seguro do mundo além de suportar partes chaves da internet global.

Uma Breve História do OpenBSD

Para entendermos as raízes do OpenBSD teremos que voltar aos anos 70 no início do desenvolvimento do Unix. O Unix foi "dividido" em BSD pela primeira vez no final dos anos 70 e depois de novo com o surgimento do FreeBSD e NetBSD no início dos anos 90. Theo De Raadt, atualmente o líder do projeto OpenBSD, dividiu o NetBSD em OpenBSD em outubro de 1995 e liberou a versão 2.0 em meados de 1996. Este novo "sabor" foi desenvolvido para ser ultra-seguro e elegante.

O OpenBSD compartilha muitas características com o FreeBSD e o NetBSD e o time de desenvolvimento tem criado muitos pacotes de software que se tornaram importantes para a comunidade como é o caso do OpenSSH e PF (Package Filter). O OpenBSD é um sistema diferente do Gnu/Linux, porém muitas aplicações que rodam em Gnu/Linux estão disponíveis para OpenBSD.

Segurança no OpenBSD

A prioridade do OpenBSD é a segurança, ele é desenvolvido e desenhado para ser seguro em todos os estágios de programação. O OpenBSD é imune a maioria dos exploits e ataques que afetam sistemas GNU/Linux e outros BSD's (o MS Windows nem entra no pário, simplesmente porque ele não é imune a nada :) ). O código do kernel e dos pacotes são frequentemente auditados na tentativa de encontrar erros de programação e falhas de segurança. Outra característica importante do OpenBSD é que ele mantem viva a filosofia do modelo original de desenvolvimento do BSD, previnindo o máximo possível uma aplicação de "quebrar".

Fonte: http://salvatti.expert.com.br/openbsd/

terça-feira, dezembro 12, 2006

Transforme seu Celular num MP3 Player

Vou mostrar aqui como, utilizando ferramentas livres e gratúitas, transformar seu celular num tocador de música digital. O celular onde eu fiz meus testes foi o Nokia 6600 (buscapé: este celular mais barato aqui).
Ao final deste tutorial você estará apto a transformar celulares (não qualquer celular) em um aparelho de ouvir música completo bem como reduzir pela metade o tamanho de suas músicas para econômizar espaço na memória do celular.

É necessário ter um celular com funções sistema operacional Symbian. Verifique no manual do seu aparelho se ele possui esta funcionalidade. Veja aqui uma lista de aparelhos que possuem Symbian. Com um celular que possui Symbian podemos instalar aplicativos que vão rodar nativamente, diferentemente dos aplicativos Java que vão rodar sob uma máquina virtual e não terão acesso total as funcionalidades do aparelho.

Verificando se o seu aparelho é suportado pelo Symbian OggPlay:

O Symbian OggPlay é um software livre para tocar arquivos de aúdio em diversos formatos. Ele suporta nativamente o formato Ogg e consegue detectar os codecs de decodificação de outros formatos disponíveis no seu celular.

O Ogg é semelhante ao conhecido formato MP3, só que utilizável também para outros de fluxo de dados (vídeo por exemplo), no caso aqui, usaremos Ogg para aúdio. Os arquivos Ogg são idêntificados pela extensão .ogg.

Atualmente o Symbian OggPlay está disponível para os seguintes celulares: Sendo X, Siemens SX-1, Nokia NGage, Nokia NGageQD, Nokia 7650, Nokia 3650, Nokia 3230, Nokia 6260, Nokia 6600, Nokia 6620, Nokia 6630, Nokia 6670, Nokia 6680, Nokia 7610, Panasonic X700, Nokia N70, Nokia N90, Nokia 9300, Nokia 9500, Nokia 7710, SonyEricsson P800, P900, Motorola A920, Nokia 3250, Nokia N71, Nokia N80, Nokia N91, Nokia N92, Nokia E60, Nokia E61, Nokia E70. A maioria destes celulares está disponível no Brasil mas em geral custam mais caro que os modelos mais comuns, mas agora eles já estão ficando mais acessíveis.

Instalação do Symbian OggPlay:
A instalação do programa pode varia de aparelho para aparelho. No Nokia 6600 é bem simples. Primeiro você vai no site do Symbian OggPlay e baixa o instalar para essa série de Celular, no caso é o Series 60 MMF. O arquivo é pequeno, cerca de 300kb, extensão .sis que é a de aplicativos Symbian. Depois é só passar para o celular (veja abaixo como passar uma música para o celular, o processo é o mesmo).
Passando as músicas para o celular:Com o Nokia 6600 é necessário ter um dongle bluetooth (um chaveirinho parecido com um pendrive). Custo em torno de R$ 50,00 e não é difícil de achar (buscapé: menor preço de adaptadores bluetooth você encontra fácil aqui).

No Linux depois de instalado o kbluetoothd e as outras bibliotecas necessárias é so clicar com o botão esquerdo sobre o arquivo e procurar a opção de envio via bluetooth:



Há um tutorial do Morimoto que ensina como instalr esses programas, veja aqui.
No Windows é necessário instalar os drivers do adaptador, quem geralmente vem junto com o aparelho, em um CD.

Funcionalidades:O Symbian OggPlay tem várias vantagens em relação aos outros players (inclusive os proprietários) mas estas funcionalidades vão variar de aparelho para aparelho.
Ele permite tocar músicas mesmo quando entra a proteção de tela. Permite que você coloque uma música como toque ou como alarme, o que uma das funcionalidades mais procuraradas. Análise de frequência. Leitura de ID3 Tags. Skins. Atalhos. Leitura de listas .m3u do Winamp.

Mas e as MP3s?
O Symbian OggPlay deteca os codecs já existentes e os formatos já suportados pelo seu aparelho. Com isso ele é capaz de tocar arquivos MP3, AAC, MP4 e M4A. No caso do Nokia 6600 que não tem um codec “de fábrica” para ler MP3, é necessário instalar um codec.

Também é possível passar as músicas de MP3 para OGG. No Linux eu faço isso com o Audacity, no Windows você pode usar o Audacity também ou este.

Conclusões
No caso do Nokia 6600, a qualidade do som não é muito boa porque sua saída de som é mono e meio ruim. A vantagem é que você pode pegar uma música de 2MB e reduzir seu tamanho para 1MB (ou menos) reduzindo a amostragem e as faixas de estéreo (num próximo post eu vou mostrar como fazer isso no Audacity).
Pronto agora já posso colocar os headphones e curtir umas músicas legais.
Buscapé: Não gostou? Não tem problema. Compre um MP3 Player baratinho aqui.

quinta-feira, dezembro 07, 2006

Configurando o Postifix


Esta é a parte final deste How-To, é a configuração final do postfix, será basicamente, ligando o Postfix ao Cyrus-Sasl e a base de dados, basicamente, abaixo serão mostrados os arquivos do diretório /usr/local/etc/postfix, todos eles devem estar presente, as únicas alterações a serem feitas é o nome do usuário e senha da base de dados nos arquivos de ligação com o MySQL.


Arquivo de configuração do Postfix. /usr/local/etc/postfix/main.cf

mydestination = localhost.$mydomain, localhost, $transport_maps
local_recipient_maps = unix:passwd.byname, $alias_maps, $virtual_recipient_maps
unknown_local_recipient_reject_code = 550
mynetworks_style = class
alias_maps = hash:/usr/local/etc/postfix/aliases
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = no
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = no

#Configuração do MySQL e de dominios virtuais
transport_maps = mysql:/usr/local/etc/postfix/transport.cf
virtual_gid_maps = mysql:/usr/local/etc/postfix/gids.cf
virtual_mailbox_base = /var/mail/virtual
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual.cf
virtual_maps = mysql:/usr/local/etc/postfix/mysql.aliases.cf
virtual_uid_maps = mysql:/usr/local/etc/postfix/uids.cf
virtual_recipient_maps = mysql:/usr/local/etc/postfix/recipients.cf
virtual_mailbox_limit_inbox = no
virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mailboxsize-mysql.cf
virtual_mailbox_limit_override = yes
virtual_maildir_extended = yes
virtual_create_maildirsize = yes
virtual_mailbox_limit = 100000000

smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_helo_required = yes
smtpd_sender_login_maps = hash:/usr/local/etc/postfix/sender_login_maps
smtpd_sender_login_maps = mysql:/usr/local/etc/postfix/login_maps.cf
smtpd_recipient_restrictions =
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_invalid_hostname
reject_unknown_sender_domain
reject_unknown_recipient_domain
reject_multi_recipient_bounce
reject_sender_login_mismatch
permit_sasl_authenticated
reject_unauth_destination
permit

Arquivos de ligação do postfix com o MySQL:

/usr/local/etc/postfix/transport.cf

user = postfix
password = e-mail
dbname = mail
table = transport
select_field = transport
where_field = domain
hosts = localhost

/usr/local/etc/postfix/gids.cf

user = postfix
password= e-mail
dbname = mail
table = virtual_users
select_field = gid
where_field = id
hosts = localhost

/usr/local/etc/postfix/uids.cf

user = postfix
password= e-mail
dbname = mail
table = virtual_users
select_field = uid
where_field = id
hosts = localhost

/usr/local/etc/postfix/mysql_virtual.cf

user = postfix
password= e-mail
dbname = mail
table = virtual_users
select_field = maildir
where_field = id
hosts = localhost

/usr/local/etc/postfix/mysql.aliases.cf

user = postfix
password= e-mail
dbname = mail
table = aliases
select_field = rcpt
where_field = alias
hosts = localhost

/usr/local/etc/postfix/recipients.cf

user = postfix
password= e-mail
dbname = mail
table = virtual_users
select_field = nome
where_field = id
hosts = localhost

/usr/local/etc/postfix/mailboxsize-mysql.cf

password = e-mail
dbname = mail
table = virtual_users
select_field = quota
where_field = id
hosts = localhost

/usr/local/etc/postfix/login_maps.cf

password = e-mail
dbname = mail
table = virtual_users
select_field = login_maps
where_field = id
hosts = localhost

pronto, tudo deve estar funcionando.

Agora vamos instalar o WebMail

Postfix


O postfix será nosso servidor de e-mail, ele escutará o protocolo SMTP pela porta 25/tcp e será responsável pelo transporte das mensagens. O Postfix é o carro-chefe de nosso Sistema, então fica difícil apresentar sua instalação em uma única parte do artigo, então primeiramente irei construí-lo a partir do ports, e na parte final iremos configurá-lo, pois sua configuração depende de vários outros serviços.

Instalando o Postfix

O Postfix irá precisar de alguma dependências, porém tudo isto é feito automaticamente a partir do ports. Uma única observação, se a autenticação for feita através das senhas de usuários do UNIX, é necessário instalar cyrus-sasl2-saslauthd. Neste caso não estaremos utilizando, então isto não se faz necessário.

O ports do postfix fica em /usr/ports/mail/postfix. Para construir o Postfix apenas digite make no diretório do ports, neste momento aparecerá uma tela com as opções de configuração. Eu escolhi as opções:

NOPCRE Pois eu não irei utilizar expressões regulares do perl.
Sasl2 Para autenticação SMTP
DB43 Para criar tabelas de aliases e outras configurações com base de dados DB.
MySQL Para habilitar o suporte ao MySQL.

A partir daí o postfix começa a ser construído, e dependendo da máquina isto pode demorar algum tempo. Nos instantes finas da instalação, você será perguntado se deseja ativar o postfix no mailer.conf, diga que sim, e ele será automaticamente inicializado pelo sistema.

Configurando o Sistema Operacional

O postfix não irá precisar de uma entrada no arquivo de inicialização /etc/rc.conf pois eu habilitei-o no mailer.conf, porém se você não o habilitou você precisa inserir as seguintes linhas no /etc/rc.conf

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
postfix_enable="YES"

Estas linhas servirão para desativar o Sendmail e ativar o Postfix.

O Postfix utilizará a porta 25 tanto para chegada quanto para saída de mensagem, caso você esteja utilizando um firewall, não esqueça de deixar o trafego in e out passar por esta porta. O postfix também depende do serviço de nomes, verifique se o tempo de consulta a base de dados de nomes não é muito lento, isto pode trancar seu sistema, não esqueça de liberar o tráfego 53 udp e tcp. Cuidado com o horário e o fuso-horário do sistema também é fundamental.

Courier-Imap

O Courier-Imap nos dará suporte aos protocolos de entrega de mensagem, o imap e pop3, apesar do nome, ele traz estes dois protocolos. O courier-imap é dividido em duas partes, os protocolos de transporte e de autenticação. O os protocolos de transporte serão feitos pelos daemons imapd e pop3d, e o protocolo de autenticação será feito pelo authdaemond.

Instalado o Courier-Imap

A instalação do courier-imap será feita via ports, o caminho do ports é: /usr/ports/mail/courier-imap, entre neste diretório e execute o comando make install. Após isto irá aparecer uma tela oferecendo opções de compilação, neste caso adicione somente a opção AUTH_MYSQL, que nos dará suporte ao MySQL. Após isto a instalação deverá terminar sem demais perguntas.

Configuração do Courier-Imap

Vamos dividir a configuração do courier-imap em duas partes, primeiro iremos abordar o daemon de autenticação, e logo após os daemons de entrega.

Configurando o authdaemond

O authdaemond irá por buscar informações do banco de dados sobre os usuários. Os arquivos de configuração do authdaemond estão em /usr/local/etc/authlib, e são eles, authdaemonrc responsável por características gerais do sistema e authmysqlrc responsável pela ligação entre o courier-imap e o banco de dados. Abaixo veremos os arquivos de configuração de exemplo.

authdaemonrc
authmodulelist="authmysql"   # Lista de módulos habilitados.
authmodulelistorig="authmysql" # Lista de módulos utilizados pelo Courier webadmin.
daemons=5 # Número de daemons de autenticação.
authdaemonvar=/var/run/authdaemond # Diretório utilizado por alguns scripts.. NÃO MEXA.
subsystem=mail # Para qual facilidade do syslog enviar as mesagens.
DEBUG_LOGIN=0 # Nível de debug que as mensagens são enviadas para a syslog.
DEFAULTOPTIONS="wbnodsn=1" # Opções de linha de comando.
LOGGEROPTS="" # Opções de log.
authmysqlrc
MYSQL_SERVER localhost   # Servidor do banco de dados
MYSQL_USERNAME portfix # Usuário do banco de dados
MYSQL_PASSWORD e-mail # Senha do banco de dados
MYSQL_SOCKET /tmp/mysql.sock # Socket do banco de dados
MYSQL_PORT 3306 # Porta do banco de dados
MYSQL_OPT 0 # Opções do mysql
MYSQL_DATABASE mail # Nome do banco de dados
MYSQL_USER_TABLE virtual_users # Nome da tabela com informações do usuário
MYSQL_CLEAR_PWFIELD password # Coluna com as senhas
MYSQL_UID_FIELD uid # Coluna com o userid
MYSQL_GID_FIELD gid # Coluna com o groupid
MYSQL_LOGIN_FIELD id # Coluna com o Login
MYSQL_HOME_FIELD home # Coluna com o Home
MYSQL_NAME_FIELD nome # Coluna com o nome do usuário
MYSQL_MAILDIR_FIELD maildir # Coluna com o maildir do usuário
MYSQL_QUOTA_FIELD quota # coluna com a cota do usuário
MYSQL_WHERE_CLAUSE imapok=1 # Coluna com a flag de ativação da conta

A configuração do authdaemond está pronta, agora veremos as configurações dos damons de transporte.

Configurando os daemons de transporte

Os arquivos de configuração do courier-imap estão em /usr/local/etc/courier-imap, e tem os nomes correspondentes ao seu daemon de transporte. Você pode optar por utilizar somente um dos dois protocolos, porém o imap tem algumas vantagens sobre o pop3, cabe a você escolher qual prefere, neste exemplo utilizaremos os dois. Abaixo veremos os arquivos de configuração de exemplo.

imapd
ADDRESS=0
PORT=143
MAXDAEMONS=40
MAXPERIP=4
PIDFILE=/var/run/imapd.pid
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=imapd"
IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE"
IMAP_KEYWORDS=1
IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE"
IMAP_PROXY=0
IMAP_PROXY_FOREIGN=0
IMAP_IDLE_TIMEOUT=60
IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
IMAP_DISABLETHREADSORT=0
IMAP_CHECK_ALL_FOLDERS=0
IMAP_OBSOLETE_CLIENT=0
IMAP_UMASK=022
IMAP_ULIMITD=65536
IMAP_USELOCKS=1
IMAP_SHAREDINDEXFILE=/usr/local/etc/courier-imap/shared/index
IMAP_ENHANCEDIDLE=0
IMAP_TRASHFOLDERNAME=Trash
IMAP_EMPTYTRASH=Trash:7
IMAP_MOVE_EXPUNGE_TO_TRASH=0
SENDMAIL=/usr/sbin/sendmail
HEADERFROM=X-IMAP-Sender
IMAPDSTART=NO
MAILDIRPATH=Maildir
pop3d
PIDFILE=/var/run/pop3d.pid
MAXDAEMONS=40
MAXPERIP=4
POP3AUTH="LOGIN CRAM-MD5 CRAM-SHA1"
AUTHMODULES="authdaemon"
POP3AUTH_ORIG="PLAIN LOGIN CRAM-MD5 CRAM-SHA1 CRAM-SHA256"
POP3AUTH_TLS=""
DEBUG_LOGIN=2
PORT=110
ADDRESS=0
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=pop3d"
POP3DSTART=NO
MAILDIRPATH=Maildir

As configurações padrões são bastante completas, os itens que vale a pena dar uma revisada são:

MAXDAEMONS=40   # Número máximo de processos
MAXPERIP=4 # Conexões máximas simultâneas por IP

Configuração do SO

Agora que tudo está configurado, basta ativar o courier-imap na inicialização do sistema. para isto basta adicionar as seguintes linhas em /etc/rc.conf.

courier_authdaemond_enable="YES" # Obrigatória
courier_imap_pop3d_enable="YES" # Para ativar o pop3
courier_imap_imapd_enable="YES" # Para ativar o imapd

O protocolo imap utiliza a porta 143 TCP, e o protocolo pop3 utiliza a porta 110 TCP, se você está utilizando um firewall, libere estas portas. Os logs serão enviados para a facilidade mail do syslog, por padrão o arquivo de log será /var/log/maillog.

Courier-Maildrop

O Maidrop será nosso agente de entrega de mensagem, ele irá entregar as mensagens em suas devidas caixas de correio. Bom, mas porque não utilizar o daemon virtual que vem juntamente com o Postfix? Primeiramente, o virtual não tem controle de quota nativo, para isso iria ser preciso aplicar um patch, Segundo, o maildrop pode fazer várias verificações de mensagem, e ele cria automaticamente as caixas de correio, já com o virtual você teria de criá-las manualmente, e o maildrop oferece opções de filtros, como por exemplo desviar as mensagens de spam para uma pasta chamada Spam, retirando assim os spams da caixa de entrada.

Instalando o Maiodrop

O maildrop será instalado a partir do ports no seguinte caminho, /usr/ports/mail/maildrop. Como as informações de usuário estão armazenadas no banco de dados, precisamos adicionar o suporte para a Authlib, para isto execute o seguinte comando para construir o ports.

# make -DWITH_AUTHLIB install

A partir deste memento a instalação deve concluir sem mais perguntas.

Após a instalação, devemos criar um usuário para executar o maildrop. neste caso criei o usuário vmail, e o com o grupo padrão mail. O UID e o GID do usuário devem ser os mesmo do uid e gid do banco de dados. Isto determinará o dono dos diretórios e arquivos das caixas de correio, então no memento da criação de uma nova conta, não esqueca de inserir os valores uid e gid iguais as do usuário vmail e do grupo mail. O maildrop será executado com o usuário vmail, porém ele não possuirá permição para comunicar-se com a base de dados, por isto o executavel do maildrop deve ter o SetUID habilitado, para isto execute o seguinte comando:

# chmod u+s /usr/local/bin/maildrop

A configuração básica do maildrop está pronta.

Configurando o Maildrop

O maildrop tem apenas um arquivo de configuração, que está em: /usr/local/etc/maildroprc, na verdade este arquivo nem precisa existir. A configuração do banco de dados não é necessária, pois ele irá utilizar a Authlib para isto, e isto nós já configuramos anteriormente para o courier-imap.

O arquivo de configuração do maildrop irá conter uma rotina de tarefas que ele deve fazer ao entregar uma mensagem, veja o exemplo que utilizamos abaixo.

logfile "/var/log/maildrop.log"   #Arquivo de Log

`test -d $HOME/$DEFAULT` # Testa se a caixa de correio existe
if ($RETURNCODE!=0) # Caso não exista...
{
`maildirmake $DEFAULT` # Cria a caixa de correio,
`maildirmake -f .Spam $HOME/$DEFAULT` # e as pastas para o Spam
`maildirmake -f .Trash $HOME/$DEFAULT` # e a lixeira
}

QUOTA="$MAILDIRQUOTA"'S'
`maildirmake -q $QUOTA $HOME/$DEFAULT` # Ajusta a cota da caixa de correio

if (/^X-Spam-Status: Yes/) # E se a mensagem for um Spam, ela a envia
{ # para a pasta Spam.
to "$DEFAULT/.Spam/"
}

Ligando ao Postfix

Para ligá-lo ao Postfix, apenas verifique a linha sobre o transporte maildrop no arquivo /usr/local/etc/postfix/master.cf ela deve estar como no exemplo abaixo.

maildrop  unix  -       n       n       -       -       pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} -w 90

Com a opção -w 90 o maildrop irá enviar a mensagem contida no arquivo /usr/local/etc/quotawarnmsg avisando que a cota de uso de sua conta chegou aos 90%, o valor pode ser alterado a seu critério, e por padrão a mensagem não existe, então você deve cria-la.

SpamAssassin




O SpamAssassim será responsável pelo controle anti-spam, pesquisas mostram que sua eficácia é de 95 por cento, porém, seu custo é um pouco alto, ele checa todo o corpo de uma mensagem, isto cria um esforço computacional grande, e ele também consome uma boa fatia da memória. Nós utilizaremos o SpamAssassin na forma de um daemon, o spamd, isto reduz o esforço que o computador faria para iniciar a execução a cada checagem de e-mail, assim, o spamassassim quando requisitado não precisa iniciar todo o processo, apenas verificar a mensagem. Para isto é nescessário um programa cliente, o spamc, que envia a mensagem para o spamd chegar.

Instalando o Spamassassim

O SpamAssassin será instalado via ports, o caminho para o seu ports é: /usr/ports/mail/p5-Mail-SpamAssassin/. Para instalar entre no diretório do ports e execute.

# make install

Após isto irá aparecer uma tela de configuração de opções, eu não habilitei nenhuma, agora é só esperar o sistema terminar de compilar o SpamAssassin.

Configurando o SpamAssassim

A configuração do SpamAssassim é simples, o arquivo de configuração está em /usr/local/etc/mail/spamassassim. O arquivo init.pre contém informações sobre módulos de checagem de e-mail, habilite ou desabilite-os como quiser. O arquivo de configuração que mais nos interessa neste memento é o local.cf. Ele é um arquivo simples, em nosso coso ele precisa ter apenas as seguintes linhas:

# Deixa a mensagem intacta, porém adiciona os headers de spam.
report_safe 0
# Este é a pontuação pela qual uma mensagem é considerada spam
required_score 5.0

Configuração do Sistema Operacional

É preciso escrever um script de inicialização do spamd, ele deve estar em /usr/local/etc/rc.d/spamd.sh e ter permissão de execução. O arquivo de inicialização deve ser como no exemplo abaixo, apenas ajuste as opções de processos filhos do spamd conforme for o trafego de seu servidor.

/usr/local/etc/rc.d/spamd.sh

#!/bin/sh

case "$1" in
start)
/usr/local/bin/spamd --socketpath=/var/run/spamd/spamd.sock --pidfile=/var/run/spamd/spamd.pid --min-children=1 --min-spare=1 --max-spare=2 -d
echo "Starting Spamd."
;;
stop)
kill -9 `cat /var/run/spamd/spamd.pid`
echo "Stoping Spamd."
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0

O SpamAssassin está pronto, agora vamos ligar os dois filtros como o Clamav-Filter.

Configurando do Clamav-Filter

Faça o download do clamav-filter apartir deste link. Após o download copie-o para o diretório /usr/local/libexec/postfix/, e altere suas permições como no exemplo abaixo:

chown clamav:clamav /usr/local/libexec/postfix/clamav-filter.sh

O clamav-fiter irá precisar de dois diretórios, com permissão de escrita para o dono do clamav-filter, neste caso o usuário clamav. para isto execute o seguinte comando.

# mkdir /var/run/clamav /var/log/clamav
# chown clamav:clamav /var/run/clamav /var/log/clamav

Ligando o clamav-filter ao Postfix

Para ligá-lo ao Postfix precisamos criar um transporte e um filtro para as conexões tcp, para isto comente a seguinte linha no arquivo /usr/local/etc/postfix/master.cf

smtp      inet  n       -       n       -       -       smtpd
E adiciones estas linhas ao mesmo aquivo.
smtp      inet  n       -       n       -       -       smtpd
-o content_filter=clamav:clamav
clamav unix - n n - - pipe
flags=Rq user=clamav argv=/usr/local/libexec/postfix/clamav-filter.sh -f ${sender} -- ${recipient}

O clamav-Filter está pronto!

Testando o Clam-AV

cd /usr/ports/security/clamav/work/clamav-0.88.6/test

clamscan clam.exe

LibClamAV Warning: **************************************************
LibClamAV Warning: *** The virus database is older than 7 days. ***
LibClamAV Warning: *** Please update it IMMEDIATELY! ***
LibClamAV Warning: **************************************************
clam.exe: ClamAV-Test-File FOUND

----------- SCAN SUMMARY -----------
Known viruses: 75410
Engine version: 0.88.6
Scanned directories: 0
Scanned files: 1
Infected files: 1
Data scanned: 0.00 MB
Time: 1.377 sec (0 m 1 s)

Instalando o Clam-AV


A instalação do Clam-AV é feita apartir do ports, seu caminho é: /usr/ports/security/clamav. A instalação é simples, vá para o diretório do ports e execute:

# make install

Logo após irá aparecer uma tela com as opções de compilação, eu ativei apenas a opção LIBUNRAR, ela da suporte para arquivos compactados com extensão .rar. Após isto a configuração deve prosseguir sem mais perguntas até o final.

Configurando o Clam-AV

Os arquivos de configuração estão em /usr/local/etc/ e são /usr/local/etc/clamd.conf e /usr/local/etc/freshclam.conf. O clamd.conf é responsável pela configuração do daemon de verificação de vírus. Veja abaixo o exemplo de arquivo de configuração.

clamd.conf

#configurações de log
LogFile /var/log/clamav/clamd.log # Arquivo de Log
LogFileMaxSize 2M # Tamanho máximo do arquivo de log
LogTime # Horário nos arquivos de log
LogSyslog # Usa Syslog
LogVerbose # Log mais aprofundado
PidFile /var/run/clamav/clamd.pid # Arquivo com o Pid
DatabaseDirectory /var/db/clamav # Base de dados de virus
LocalSocket /var/run/clamav/clamd # Local do socket
FixStaleSocket # Atualização do socket ao inicia o daemon
MaxConnectionQueueLength 30 # Número máximo de conexões na fila de espera
MaxDirectoryRecursion 20 # Max Nún da profundidade de diretórios
FollowDirectorySymlinks # Segue links para diretórios
User clamav # Nome do usuário que o anti vírus está executando
AllowSupplementaryGroups # Acesso suplementar a outros grupos
ScanMail # Habilita varredura de arquivos de e-mail
ArchiveMaxFileSize 10M # Tamanho máximo do arquivo a ser varrido
ArchiveMaxRecursion 9 # Nível de recursão de um arquivo
ArchiveMaxFiles 1500 # Núm Máx de arquivos a ser varrido em um arquivo compactado

Agora iremos ver a configuração utilizada no freshclam.

DatabaseDirectory /var/db/clamav  # Base de dados de informações de vírus
UpdateLogFile /var/log/clamav/freshclam.log # Arquivo de Log de atualizações
PidFile /var/run/clamav/freshclam.pid # Arquivo com o Pid
DatabaseOwner clamav # Usuário dono da base de dados
AllowSupplementaryGroups # Acesso suplementar a outros grupos
DatabaseMirror database.clamav.net # Servidor de atualização
NotifyClamd # Notifica o Clamd sobre atualizações

Esse esquema de configuração exige que seja criados dois diretórios: /var/run/clamav e /var/log/clamav. após criar este diretório, mude o dono dos diretórios para usuário clamav.

# chown clamav:clamav /var/run/clamav /var/log/clamav

Configuração do Sistema Operacional

Agora devemos habilitar o ClamAV na inicialização do sistema. Para isso devemos adicionar as seguintes linhas em /etc/rc.conf:

clamav_clamd_enable="YES"
clamav_freshclam_enable="YES"

Caso você esteja utilizando um firewall, abra o trafego para o servidor da base de dados de atualização.

O Anti-Vírus está pronto.