FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD - [ATUALIZADO] Instalao de servidor de e-mail com Qmail usando o ports do FreeBSD
 
26.06  
Inicio arrow Noticias arrow [ATUALIZADO] Instalao de servidor de e-mail com Qmail usando o ports do FreeBSD
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma
Histrico da Lista
  • [FUG-BR] balanceamento entre os cores
  • Re: [FUG-BR] balanceamento entre os cores
  • Re: [FUG-BR] balanceamento entre os cores
  • Re: [FUG-BR] balanceamento entre os cores
  • Re: [FUG-BR] balanceamento entre os cores
  • Re: [FUG-BR] balanceamento entre os cores
  • Re: [FUG-BR] balanceamento entre os cores
  • Re: [FUG-BR] balanceamento entre os cores

  • Alertas em Ports
  • gnupg -- possible DoS using garbled compressed data packets
  • samba -- multiple vulnerabilities
  • phpMyAdmin -- two XSS vulnerabilities due to unescaped db/table names
  • iodined -- authentication bypass



  • Por bsdinfo
  • No seja pego de surpresa com a atualizao da libxml2 via ports
    Recentemente saiu uma vulnerabilidade no pacote libxml2 e eu meio que no automtico fui atualizar e me deparei com uma srie de novidades. Bem, para comear no seja pego de surpresa faa o comando abaixo e veja quem voc vai ter que recompilar aps a atualizao dessa lib. Bem j comea porque uma lib […]

  • FreeBSD + OpenBGP + PTT ? dicas teis
    Ol povo :) venho nesse post passar algumas dicas teis para quem possui router FreeBSD rodando OpenBGP e est tentando fechar um peering com o PTT (Ponto de Troca de Trfego), que no meu caso foi com o PTT-SP. Se voc no sabe o que um PTT ento esse post no lhe ser til. […]

  • Primeiro trimestre de trabalhos dos projetos no FreeBSD
    Anualmente temos 4 relatrios trimestrais sobre como andam os projetos desenvolvidos no FreeBSD. mais que um compromisso com a comunidade, um exemplo de organizao e de crescimento desse Sistema que a base para tantos outros projetos. Saiu o primeiro relatrio referente Jan/Fev/Mar. Um resumo do mesmo est abaixo, seguido do link […]

  • Por freebsdnews
  • BSDNow.TV Episdio 42: mtodos tortuosos
    Neste episdio BSD Agora, hospeda Kris Moore e Allan Jude mostrar-lhe como conexes SSH em cadeia, e entrevista Bryce Chidester a respeito de um provedor de shell baseado em BSD. Clique no boto play abaixo para entrar em sintonia: Confira...

  • PC-BSD 10.0.2-RELEASE est agora disponvel
    Os desenvolvedores do PC-BSD acabaram de lanar a verso oficial do 10.0.2 depois de uma srie de lanamentos de teste. As mudanas mais notveis ??incluem o novo desktop Lumina (ainda em seus estgios alfa), bem como uma reformulao do AppCafe....

  • PC-BSD 10.0.2-RC2 disponvel para testes
    Os desenvolvedores do PC-BSD tem apenas disponibilizado o segundo release candidate para a verso 10.0.2. Voc pode encontrar o download aqui. Isso vai (espero) ser o nosso ltimo RC antes de liberar 10.0.2 oficialmente em algum momento ou em torno...

  • [ATUALIZADO] Instalao de servidor de e-mail com Qmail usando o ports do FreeBSD PDF Imprimir E-mail
    Por Carlos A. Talhati   
    13/06/2006
    ndice de Artigos
    [ATUALIZADO] Instalao de servidor de e-mail com Qmail usando o ports do FreeBSD
    Parte 2

    ImageCarlos A. Talhati escreveu um excelente artigo documentando passo-a-passo a instalação do MTA Qmail, com SpamControl e alguns recursos adicionais de controle de Spam, utlizando o sistema de Ports do FreeBSD. O artigo foi criado conjunto com Renato Botelho, commiter do FreeBSD e mantenedor dos ports do Qmail. Esse artigo já foi colocado em destaque anteriormente aqui na FUG, mas agora Botelho e Talhati atualizaram, e nessa última versão, incluíram suporte ao RBL2SMTPD, patch exclusivo do ports do FreeBSD, documentaram o suporte à TLS e complementaram com a instalação do webmail squirrelmail.

    Talhati informa que: "Neste artigo apresentaremos de forma simples e clara como disponibilizar um servidor de email utilizando o ports QMAIL-SPAMCONTROL. Este port permite várias configurações de combate ao spam que miniminizam o trabalho do administrador de sistemas. Todos os softwares necessários para um funcionamento completo do servidor também está disponível aqui, do pop ao webmail."

    [EDITADO - NOTA DA REDAÇÃO DA FUG] A versão mais recente desse artigo encontra-se agora aqui , na seção artigos e não mais como notícia.  

    FREEBSD xxx.xxx.br 6.1-RELEASE FreeBSD 6.1-RELEASE #3: Wed May 10 19:18:56 BRT 2006
    Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo :/usr/obj/usr/src/sys/xxx.xxx.br i386

    Antes de começar uma nova instalação é aconselhavél atualizar sua arvore do ports.
    O FREEBSD a partir da versão 5.5 diponibilizou um recurso chamado portsnap.
    Com ele é possível manter a arvore do ports atualizada.

    Deve demorar um pouco, são aproximandamente 40MB o download do portsnap (fetch), em seguida deve
    se descompactar o ports e depois atualizar. Esse procedimento (extract) e o fetch de 40Mb acontece
    apenas na primeira vez, nas proximas basta um portsnap fetch update

    # portsnap fetch
    # portsnap extract
    # portsnap updade


    Também é seguro habilitar a checagem de vulnabilidades dos ports antes de instalar.
    Para isto instale o portaudit.

    # cd /usr/ports/security/portaudit
    # make install clean
    # /usr/local/sbin/portaudit -Fda

    Antes de instalar o QMAIL com o pacote do SPAMCONTROL conheça as opções disponiveis
    neste port e não deixe de ler o documento : http://www.fehcom.de/qmail/spamcontrol/README_spamcontrol.html

    Tela de Instalação



    BIG-CONCURRENCY : (http://www.qmail.org/big-concurrency.patch): Este patch faz com que o qmail possa processar mais de 255 mensagens de uma vez no queue. Assim se a máquina for boa e com grande volume de mensagens simultâneas, o servidor poderá processá-las mais rapidamente.
    LOCALTIME_PATH : Envia email com a hora local configurada no servidor, ao inves de usar a hora GMT.
    MAILDIRQUOTA_PATCH : Suporte a Maildir++
    SPF_PATCH : Path para suporte a SPF
    EXTTODO_PATCH : Path que organiza melhor a fila, divide a fila, separa os remotes, os locals e com isso aumenta o desempenho.
    RELAYMAILFROM : Define que pode enviar email a partir de seu servidor. Mais seguro usar autenticação SMTP.
    REQBRACKETS : Requer que o endereço de email contenha o caracter "<" e ">", por exemplo < Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo >.
    VERP : Utiliza Return-Path por usuário (VERP - Variable Envelope Return Paths). Isto faz com que qmail-inject adicione cada endereço de recipiente no sender da cópia da mensagem que está indo para este usuário.
    MOREIPME : Scott Gifford's adicional arquivos de controle com moreipme e notipme
    BIGTODO : Bruce Guenter's BigToDo patch
    RCDLINK : Cria "script" qmail.sh em seu diretorio rc.d


    # cd /usr/ports/mail/qmail-spamcontrol
    # make config
    # make install clean

    Habilitar o QMAIL como padrão

    # /var/qmail/scripts/enable-qmail

    Antes é aconselhavel adcionar estas linhas no /etc/make.conf

    # Define qual slaveport do qmail sera usado
    QMAIL_SLAVEPORT=spamcontrol


    Verificar se o arquivo /etc/mail/mailer.conf esta correto como abaixo:

    sendmail /var/qmail/bin/sendmail
    send-mail /var/qmail/bin/sendmail
    mailq /var/qmail/bin/qmail-qread
    newaliases /var/qmail/bin/newaliases
    hoststat /var/qmail/bin/qmail-tcpto
    purgestat /var/qmail/bin/qmail-tcpok


    Verificar se a variavel sendmail_enable="NONE" foi adicionada no final do /etc/rc.conf
    Instalar o UCSPI-TCP

    # cd /usr/ports/sysutils/ucspi-tcp
    # make install clean


    Não esqueça de selecionar os patches RSS_DIFF e RBL2SMTP

    A opção RBL2SMTPD funciona da seguinte maneira : vc tem o usuario x, é um usuário válido, ele quer mandar email, porém o mesmo usa uma rede de banda larga com IP dinâmico e este IP está em uma RBL, o RBLSMTP não vai dar a chance dele se autenticar e provar que ele é "quente" e vai cortar sua conexão antes do QMAIL-SMTPD. Este patch permite cortar a conexão depois do RCPT TO se o usuário não se autenticar e se ele autenticar sua conexão é mantida.

    A opcao SSL, ela somente é necessaria se for montar um pop3 e/ou um smtp com SSL



    Instalar o UCSPI-SSL-TLS se for utilizar o TLS

    Essa ferramenta serve para usar aplicações cliente-servidor com SSL, oferecendo suporte à TLS.

    # cd /usr/ports/sysutils/ucspi-ssl-tls
    # make install clean 

    Instalação do DAEMONTOOLS

    # cd /usr/ports/sysutils/daemontools
    # make install clean


    Criação do daemontools em /var/qmail/service usando o qmail-conf
    Instalação do QMAIL-CONF

    Instalação do QMAIL-CONF

    # cd /usr/ports/mail/qmail-conf
    # make install clean


    Habilitando o serviço POP3D

    # /var/qmail/bin/qmail-pop3d-conf /usr/local/vpopmail/bin/vchkpw qmaill /var/qmail/service/pop3d
    # cd /var/qmail/service/pop3d/
    # ee tcp
    :allow
    # make


    Habilitando o serviço SMTP

    Quando seu servidor não estiver configurado em um servidor de DNS, pode ocorrer o erro de "fatal: unable to read /var/qmail/control/me: file does not exist" , isto porque a instalação do QMAIL não criou o arquivo /var/qmail/control/me

    Para resolver o problema faça o seguinte :

    # echo seuservidor.com.br > /var/qmail/control/me

    e continue a instalação

    # /var/qmail/bin/qmail-smtpd-conf qmaild qmaill /var/qmail/service/smtpd

    Criação do script do smtpd que usará autenticação e veriricação de spam em blacklists.

    # cd /var/qmail/service/smtpd
    # cat run

    ####################################
    #!/bin/sh
    exec 2>&1 \
    envdir ./env \
    sh -c '
    case "$REMOTENAME" in h) H=;; p) H=p;; *) H=H;; esac
    case "$REMOTEINFO" in r) R=;; [0-9]*) R="t$REMOTEINFO";; *) R=R;; esac
    exec \
    envuidgid qmaild \
    softlimit ${DATALIMIT+"-d$DATALIMIT"} \
    /usr/local/bin/tcpserver \
    -vDU"$H$R" \
    ${LOCALNAME+"-l$LOCALNAME"} \
    ${BACKLOG+"-b$BACKLOG"} \
    ${CONCURRENCY+"-c$CONCURRENCY"} \
    -xtcp.cdb \
    -- "${IP-0}" "${PORT-25}" \
    /usr/local/bin/rblsmtpd -r bl.spamcop.net \
    /var/qmail/bin/qmail-smtpd /usr/local/vpopmail/bin/vchkpw /usr/bin/true
    '
    #######################################################


    DELIVERY: Crie um script /var/qmail/rc com o seguinte conteudo:

    # cd /var/qmail
    # ee rc


    #######################################################
    #!/bin/sh
    exec env - PATH="/var/qmail/bin:$PATH" \
    qmail-start ./Maildir/ /usr/local/bin/multilog t /var/log/qmail qmaill
    #######################################################
    # chmod 750 /var/qmail/rc
    # /var/qmail/bin/qmail-delivery-conf qmaill /var/qmail/service/qmail


    Criação do diretorio de log do QMAIL

    # mkdir /var/log/qmail
    # chmod 750 /var/log/qmail
    # chown qmaill /var/log/qmail


    Configurando o DAEMONTOOLS

    # mkdir /var/service
    # cd /var/service
    # ln -s /var/qmail/service/pop3d
    # ln -s /var/qmail/service/smtpd
    # ln -s /var/qmail/service/qmail


    Redirecionando os emails

    # echo Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo > /var/qmail/alias/.qmail-root
    # echo Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo > /var/qmail/alias/.qmail-postmaster
    # echo Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo > /var/qmail/alias/.qmail-mailer-daemon
    # ln -s .qmail-postmaster /var/qmail/alias/.qmail-abuse
    # chmod 644 /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-postmaster


    Antes não esqueça de verificar no rc.conf se contem a linha: svscan_enable="YES"

    Configuração do SSL para rodar o TLS

    Estes passos são necessários se pretende usar o TLS, caso contrário não há nenhuma necessidade

    Referências sobre SSL - http://www.suspectclass.com/~sgifford/ucspi-tls/ucspi-tls-qmail-howto.html

    cria o diretorio:
    # mkdir /var/qmail/ssl
    # cd /var/qmail/ssl


    cria o certificado:
    # openssl req -new -x509 -keyout key.enc -out cert -days 360
    # openssl rsa -in key.enc -out key

    remove a senha:
    # openssl dhparam -out dhparam 1024

    cria grupo e usuário
    # pw group add ssl
    # pw user add -n ssl -g ssl -c "SSL User" -d /var/qmail


    criar um arquivo chamado /var/qmail/ssl/env
    # ee /var/qmail/ssl/env

    # Set these three
    SSL_USER=ssl
    SSL_GROUP=ssl
    SSL_DIR=/var/qmail/ssl
    # Enable UCSPI-TLS
    UCSPITLS=1
    # The rest are set based on the above three
    SSL_CHROOT="$SSL_DIR"
    CERTFILE="$SSL_DIR/cert"
    KEYFILE="$SSL_DIR/key"
    DHFILE="$SSL_DIR/dhparam"
    SSL_UID=`id -u "$SSL_USER"`
    if [ $? -ne 0 ]; then echo "No such user '$SSL_USER'" >&2; exit; fi
    # SSL_GID=`id -g "$SSL_GROUP"`
    SSL_GID=`pw group show $SSL_GROUP | awk -F: '{print $3}'`
    if [ $? -ne 0 ]; then echo "No such group '$SSL_GROUP'" >&2; exit; fi
    # Export the variables used by other scripts
    export SSL_CHROOT SSL_UID SSL_GID UCSPITLS CERTFILE KEYFILE DHFILE


    # cd /var/qmail
    # chown -R root:qmail ssl
    # chmod -R go-rwx ssl
    # cd /var/service/smtpd


    alterar o arquivo run e adicionar a linha . /var/qmail/ssl/env abaixo de #!/bin/sh
    substituir no arquivo run, tcpserver por sslserver
    o arquivo deve ficar assim:

    #!/bin/sh
    . /var/qmail/ssl/env
    exec 2>&1 \
    envdir ./env \
    sh -c '
    case "$REMOTENAME" in h) H=;; p) H=p;; *) H=H;; esac
    case "$REMOTEINFO" in r) R=;; [0-9]*) R="t$REMOTEINFO";; *) R=R;; esac
    exec \
    envuidgid qmaild \
    softlimit ${DATALIMIT+"-d$DATALIMIT"} \
    /usr/local/bin/sslserver -n -e \
    -vDU"$H$R" \
    ${LOCALNAME+"-l$LOCALNAME"} \
    ${BACKLOG+"-b$BACKLOG"} \
    ${CONCURRENCY+"-c$CONCURRENCY"} \
    -xtcp.cdb \
    -- "${IP-0}" "${PORT-25}" \
    /usr/local/bin/rblsmtpd -b \
    -r bl.spamcop.net \
    -r list.dsbl.org \
    -r sbl.spamhaus.org \
    -r relays.ordb.org \
    /var/qmail/bin/qmail-smtpd /usr/local/vpopmail/bin/vchkpw /usr/bin/true
    '


    # cd /var/service/pop3d

    Realizar as mesmas alterações acima no arquivo run

    Em caso de erros estranhos, va até os diretorios /var/qmail/service/smtpd/env e /var/qmail/service/pop3d/env e altere o conteudo do arquivo DATALIMIT para algo em torno de 40000000

    Instalação do VPOPMAIL para criação de domínios virtuais.

    Antes é aconselhavel adcionar estas linhas no /etc/make.conf

    # Vpopmail
    .if ${.CURDIR:N*mail/vpopmail}==""
    RELAYCLEAR=40
    DEFAULT_DOMAIN=seudominio.com.br
    WITH_IP_ALIAS=yes
    WITH_SUID_VCHKPW=yes
    WITH_SMTP_AUTH_PATCH=yes
    .endif

    Instalação do VPOPMAIL

    # cd /usr/ports/mail/vpopmail
    # make install clean


    Criando dominio e usuarios

    # /usr/local/vpopmail/bin/vadddomain seudominio-virtual.com.br suasenha

    Verifica se criou corretamente

    # ll /usr/local/vpopmail/domains/

    Cria usuario Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo com quota=15000 bytes, com comentario "Usuario da diretoria" e senha suasenha

    # /usr/local/vpopmail/bin/vadduser -q 15000 -c "Usuario da diretoria" Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo suasenha

    Verifica se criou corretamente

    # /usr/local/vpopmail/bin/vuserinfo Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo

    Vamos instalar agora o Anti-spam e o Anti-virus utilizando o QMAIL-SCANNER

    Antes é aconselhavel adcionar estas linhas no /etc/make.conf

    # CLAMAV User / Group
    .if ${.CURDIR:N*security/clamav}==""
    CLAMAVUSER=qscand
    CLAMAVGROUP=qscand
    .endif

    # maildrop
    .if ${.CURDIR:N*mail/maildrop}==""
    MAILDROP_SUID=vpopmail
    MAILDROP_SGID=vchkpw
    .endif

    # Precisa do suidperl pro qmail-scanner
    .if ${.CURDIR:N*lang/perl5*}==""
    ENABLE_SUIDPERL=yes
    .endif

    # Qmail-scanner
    .if ${.CURDIR:N*mail/qmail-scanner*}==""
    QMAILSCAN_ADMIN= Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo
    QMAILSCAN_ADMINREALNAME="Nome_de_sua_empresa"
    QMAILSCAN_LOCALDOMAINS="seudominio.com.br"
    QMAILSCAN_NOTIFY="psender,nmladm"
    QMAILSCAN_SCANNERS="clamdscan,verbose_spamassassin"
    QMAILSCAN_LANG=pt_BR
    .endif


    Instalação do ANTISPAM

    Configuração do Spamassassim



    # cd /usr/ports/mail/p5-Mail-SpamAssassin
    # make install clean


    Para que a instalaçao do Anti-virus (CLAMAV) seja efetuada de forma correta, é necessário que o usuário "qscand" esteja criado. Quem faz a criação deste usuário é o QMAIL-SCANNER. O QMAIL-SCANNER para instalar precisa que o anti-virus ja esteja instalado, portanto aqui nesta linha vamos dizer ao QMAIL-SCANNER para somente criar o usuário de forma correta e não prosseguir com a instalação. Assim instalamos o CLAMAV de forma correta e depois o QMAIL-SCANNER.

    # /usr/bin/env PKG_PREFIX=/usr/local /bin/sh /usr/ports/mail/qmail-scanner/pkg-install qmail-scanner PRE-INSTALL

    Instalação do ANTIVIRUS

    Configuração do Anti-virus



    # cd /usr/ports/security/clamav
    # make install clean


    Não se esqueça de adicionar em seu rc.conf as linhas abaixo

    # Liga/Desliga o spamd
    spamd_enable="YES"
    spamd_flags="-c -d -r /var/run/spamd.pid --socketpath=/var/run/spamd.socket --socketowner=qscand --socketgroup=qscand"
    # clamav
    clamav_clamd_enable="YES"
    clamav_freshclam_enable="YES"


    Também é necessário que o spamd esteja rodando antes de instalar o QMAIL-SCANNER senão ele usa o spamassassim, para isto faça :

    # /usr/local/etc/rc.d/sa-spamd.sh start

    Instalação do QMAIL-SCANNER

    # cd /usr/ports/mail/qmail-scanner/
    # make install
    # /usr/local/bin/qmail-scanner-queue.pl -z


    Se necessário aumente o valor do softlimit para algo em torno de 4000000. Geralmente um valor baixo gera um erro QQ 403

    # ee /var/qmail/service/smtpd/env/DATALIMIT

    Ajustes em quem deve enviar email do seu servidor de forma autenticada e verificando a existencia de virus e spam.

    # ee /var/qmail/service/smtpd/tcp

    127.:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/usr/local/bin/qmail-queue"
    10.0.0.:allow,RBLSMTPD="",QMAILQUEUE="/usr/local/bin/qmail-scanner-queue.pl"
    172.16.:allow,RBLSMTPD="",REQUIREAUTH="",QMAILQUEUE="/usr/local/bin/qmail-scanner-queue.pl"
    :allow,RBLSMTPD="",QMAILQUEUE="/usr/local/bin/qmail-scanner-queue.pl"

    Após a alteração execute o comando make

    REQUIREAUTH : se ela for setada, não entrará nenhum email sem autenticação(auth),
    somente serve para smtpd, se for um mx não pode de maneira alguma pois os outros smtps nao
    poderao enviar emails para seus usuários

    Alguns exemplos de conexões

    0.0.0.0:allow,RBLSMTPD="TEST_LIST test illegal addr-to-be-treated-as-hostname [0.0.0.0]"
    0.1.2.3:allow,RBLSMTPD="TEST_LIST test illegal addr-to-be-treated-as-hostname [0.1.2.3]"
    255.255.255.255:allow,RBLSMTPD="TEST_LIST test illegal addr-to-be-treated-as-hostname [255.255.255.255]"
    # Exemplo de blacklist por reverso
    =.dialuol.com.br:allow,RBLSMTPD="BLOQUEADO / BLOCKED"
    # Conexoes normais
    :allow,BADMIMETYPE="",REQBRACKETS="",TARPITCOUNT="10",TARPITDELAY="10",HELOCHECK=".",LOCALMFCHECK=""


    BADMIMETYPE, isso eh pra vc bloquear anexos pelo mime type

    # cd /var/qmail/control
    # ee badmimetypes

    TVqAAAEAA
    TVqQAAMAA
    TVpQAAIAA
    TVpAALQAc
    TVpyAXkAX
    TVrmAU4AA
    TVrhARwAk
    TVoFAQUAA
    TVoAAAQAA
    TVoIARMAA
    TVouARsAA
    TVrQAT8AA
    TVrvAEQAe
    # MyDoom (*.zip)
    # UEsDBAoAA
    # *.zip
    # UEsDBAkAA
    # *.z (gnu-zip)
    # H4sIADWWb
    # double Base 64 Windows Executable
    VFZxUUFBT
    # triple Base 64 Windows Executable
    VkZaeFVVR
    # Pif File
    TVoAAAEAA
    # VBS Files
    ZGltIGZpb
    # RAR Files
    # UmFyIRoHA


    Após qualquer alteração no arquivo acima é necessario executar o arquivo /var/qmail/bin/qmail-badmimetypes para que o arquivo cdb seja recriado.

    A variável TARPIT$ (TARPITCOUNT) define o número de destinatarios seguidos, ele vai fazer um delay de ${TARPITDELAY} segundos isso dificulta a vida de spammers

    A variável HELOCHECK="." é útil no caso de algum usuário passar alguma informação no campo HELO. Abaixo alguns exemplos extraidos do manual do SPAMCONTROL

    HELOCHECK="": evaluate badhelo control file
    HELOCHECK="!": reject session, if no HELO/EHLO greeting is provided/empty.
    HELOCHECK=".": reject session, if no HELO/EHLO greeting is provided/empty and evaluate badhelo control file
    ;;; HELOCHECK="=": require that the HELO/EHLO greeting corresponds to the FQDN of the host.
    HELOCHECK="A": DNS A lookup for the HELO/EHLO greeting and evaluate badhelo.
    HELOCHECK="M": DNS MX lookup for the HELO/EHLO greeting and evaluate badhelo.

    A variável LOCALMFCHECK="" é útil quando um usuário autentica o From que tem que ser @aqueledominio, isso evita que algum usuário interno envie spam ou entao se algum spammer conseguir a senha de um usuário.

    Configurando o SPAMASSASSIN

    Após esta instalação é interessante que seja criado um diretorio .spamassassin no /usr/local/qmailscan

    Depois que o diretório foi criado, crie um link simbólico user_prefs apontando para a configuração do spamassassin (local.cf)

    # cd /usr/local/qmailscan
    # mkdir .spamassassin
    # cd .spamassassin
    # mv /usr/local/etc/mail/spamassassin/local.cf.sample /usr/local/etc/mail/spamassassin/local.cf
    # ln -s usr/local/etc/mail/spamassassin/local.cf user_prefs
    # cd ..
    # chown -R qscand:qscand .spamassassin


    Agora não se esqueça de inicialiar os serviços instalados.

    # /usr/local/etc/rc.d/clamav-clamd start
    # /usr/local/etc/rc.d/clamav-freshclam start
    # /usr/local/etc/rc.d/sa-spamd start
    # /usr/local/etc/rc.d/svscan.sh start

    Abaixo para conferencia os dois arquivos que foram modificados durante a instalação

    # cat /etc/rc.conf

    sendmail_enable="NONE"
    svscan_enable="YES"

    # Liga/Desliga o spamd
    spamd_enable="YES"
    spamd_flags="-c -d -r /var/run/spamd.pid --socketpath=/var/run/spamd.socket --socketowner=qscand --socketgroup=qscand"


    # clamav
    clamav_clamd_enable="YES"
    clamav_freshclam_enable="YES"

    # cat /etc/make.conf

    # Define qual slaveport do qmail sera usado
    QMAIL_SLAVEPORT=spamcontrol

    # Vpopmail
    .if ${.CURDIR:N*mail/vpopmail}==""
    RELAYCLEAR=40
    DEFAULT_DOMAIN=iqsc.usp.br
    WITH_IP_ALIAS=yes
    WITH_SUID_VCHKPW=yes
    WITH_SMTP_AUTH_PATCH=yes
    .endif

    # CLAMAV User / Group
    .if ${.CURDIR:N*security/clamav}==""
    CLAMAVUSER=qscand
    CLAMAVGROUP=qscand
    .endif

    # maildrop
    .if ${.CURDIR:N*mail/maildrop}==""
    MAILDROP_SUID=vpopmail
    MAILDROP_SGID=vchkpw
    .endif

    # Precisa do suidperl pro qmail-scanner
    .if ${.CURDIR:N*lang/perl5*}==""
    ENABLE_SUIDPERL=yes
    .endif

    # Qmail-scanner
    .if ${.CURDIR:N*mail/qmail-scanner*}==""
    QMAILSCAN_ADMIN= Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo
    QMAILSCAN_ADMINREALNAME="Instituto_de_Química_de_São_Carlos"
    QMAILSCAN_LOCALDOMAINS="mail2.iqsc.usp.br"
    QMAILSCAN_NOTIFY="psender,nmladm"
    QMAILSCAN_SCANNERS="clamdscan,verbose_spamassassin"
    QMAILSCAN_LANG=pt_BR
    .endif

    # Qmailadmin
    .if ${.CURDIR:N*mail/qmailadmin}==""
    WITH_DOMAIN_AUTOFILL=yes
    WITH_MODIFY_QUOTA=yes
    CGIBINDIR="/usr/local/www/apache22/cgi-bin"
    WEBDATADIR="/usr/local/www/apache22/data"
    .endif

    # added by use.perl 2006-05-03 15:39:06

    PERL_VER=5.8.8
    PERL_VERSION=5.8.8

    Pronto seu servidor esta pronto para enviar e receber email com segurança e "praticamente" livre de spam e virus.

    Para facilitar o trabalho de manutenção de dominios e usuários, vamos agora instalar o QMAILADMIN,
    um aplicativo que permite que os dominios e usuários virtuais do VPOPMAIL sejam criados através da WEB.
    Para isto voce deverá ter o APACHE instalado e rodando em seu servidor. Uma outra opção interessante
    sera usar o LIGHTTPD. O Lighttpd foi desenvolvido para ser um servidor rápido, seguro, compatível e flexivel.
    Possui suporte a virtualhost, url-rewrite, large files, fastcgi, cgi, ssi, php e varios outros.

    Antes é aconselhavel adcionar estas linhas no /etc/make.conf

    # Qmailadmin
    .if ${.CURDIR:N*mail/qmailadmin}==""
    WITH_DOMAIN_AUTOFILL=yes
    WITH_MODIFY_QUOTA=yes
    CGIBINDIR="/usr/local/www/apache22/cgi-bin"
    WEBDATADIR="/usr/local/www/apache22/data"
    .endif

    Instalando o QMAILADMIN

    # cd /usr/ports/mail/qmailadmin
    # make install clean


    Algumas telas do QMAILADMIN. Com ele a manutenção de dominios e usuários
    se torna muito facíl e intuitiva. No QMAILADMIN, os usuários podem por exemplo
    colocarem mensagens
    de férias ou redirecionar sua conta para outra, trocar senha.

    Administração do Qmailadmin



    Administração do Qmailadmin



    Administração do Qmailadmin


    Super dicas

    - Em nenhuma hiótese coloque espaço em branco na variável QMAILSCAN_ADMINREALNAME="Nome_de_sua_empresa" do make.conf

    - Não poderá haver espaços em branco antes do .elif e .endif no make.conf

    - Nas variaveis do diretorio /var/qmail/service/smtpd/env/, não poderá haver espaços adicionais ou comentários

    - Para quem usa o vpopmail e quer que todos os dominios fiquem no vpopmail a variável /var/qmail/control/locals deve ficar vazia.Algumas configurações adicionais para a manutenção do seu servidor de email

    - Limitar o tamanho do email em 10MB

    # echo "10000000" > /var/qmail/control/databytes

    - Definir tempo de spool. Define o número máximo em segundos que uma mensagem pode ficar na fila do qmail. Depois desse tempo, qmail-send
    tentará entregar a mensagem mais uma vez e tratará qualquer outro erro, como um erro permanente. Padrão: 604800 (uma semana). Utilizado por: qmail-send.

    # echo "604800" > /var/qmail/control/queuelifetime

    - Recusar spam

    # echo "spammeur@spam" > /var/qmail/control/badmailfrom

    - Verificar Logs

    # tail /var/qmail/service/smtpd/log/main/current | tai64nlocal
    # tail /var/qmail/service/pop3d/log/main/current | tai64nlocal
    # tail /var/log/qmail/current | tai64nlocal
    # tail /var/log/clamav/clamd.log | tai64nlocal


    - Verificar estatisticas

    # /var/qmail/bin/qmail-qstat
    # /var/qmail/bin/qmail-qread | grep remote | grep -v done


    - Ajustes para alteração do subject da mensagem que for classificada como SPAM

    # ee /usr/local/etc/mail/spamassassin/local.cf
    Definir [SPAM] no subject, alterar a linha -> rewrite_header Subject *****SPAM*****


    - Verificar os serviços que estão rodando

    # svstat /var/service/* /var/service/*/log

    Instalando o COURIER-IMAP


    cd /usr/ports/mail/courier-imap
    make install clean
    cd /usr/local/etc/courier-imap
    cp imapd.cnf.dist imapd.dist

    Adcionar estas linhas no /etc/make.conf

    #courier-imap
    courier_authdaemond_enable="YES"
    courier_imap_imapd_enable="YES"

    Adcionar estas linhas no /etc/rc.conf

    # courier-imap
    courier_authdaemond_enable="YES"
    courier_imap_imapd_enable="YES"
    courier_imap_imapd_ssl_enable="YES"

    Definição do protocolo IMAP segundo a Wikipedia.


    Instalando um servidor de webmail - SQUIRRELMAIL

    O Squirrelmail é um completo webmail que se integra completamente nesse ambiente com domínios virtuais. Ele é escrito em PHP, o que possibilita a sua total personalização. Um outro recurso muito interessante, é a possibilidade de se aumentar as funcionalidades do Squirrelmail com a instalação de plugins. Para sua utilização é necessário ter o APACHE e o PHP rodando em seu sistema.

    cd /usr/ports/mail/squirrelmail
    make install clean

    O Squirrelmail se instala no diretorio /usr/local/www/squirrelmail do FREEBSD. Para criar um link para seu diretorio do apache faça um link simbólico utilizando o comando ln. Após, vá ao diretório do Squirrelmail e configure ele.

    cd /usr/local/www/squirrelmail
    /configure


    Para o perfeito funcionamento do Squirrelmail é necessário o ajuste das seguintes variaveis no php.ini

    file_uploads = On
    session.auto_start

    Melhorando seu servidor de email com ajuda de Domainkeys e SPF
    DomainKeys é uma proposta de tecnologia que pode trazer de volta a simplicidade deste processo de decisão, dando aos provedores de e-mail um mecanismo para verificação tanto do domínio de cada remetente de e-mail, como da integridade de suas mensagens enviadas (comprovando, por exemplo, que elas não foram alteradas durante o envio). E, uma vez que o domínio pode ser verificado, ele pode ser comparado ao domínio utilizado pelo remetente no campo "De" da mensagem para detectar forjadores. Em caso de falsificação, trata-se então de uma mensagem de spam ou fraude e pode ser descartada sem impactos para o usuário. Se não for uma falsificação, então o domínio é conhecido, e um perfil sobre sua reputação pode ser estabelecido e ligado aos sistemas de política de antispam, compartilhado entre os provedores de serviço de e-mail, ou até exposto ao usuário.

    Informações Adicionais : http://domainkeys.sourceforge.net/

    O SPF (ou Sender Policy Framework) é uma extensão do SMTP que facilita a identificação de spam com endereço de origem forjado. A descrição técnica é simples: cada domínio interessado em combater e-mails forjados acrescenta uma linha de texto padronizada à configuração do seu próprio DNS. Esta linha segue o padrão definido pelo SPF, e descreve quais os endereços dos servidores de e-mail autorizados a gerar mensagens daquele domínio. Assim, o administrador do domínio provedorX.com pode definir em seu DNS que mensagens com o sufixo "@provedorX.com" só podem ser originadas dos servidores mailer1.provedorX.com e backup.reserva.com. Em consequência, quem tiver suporte ao SPF e receber mail com o sufixo "@provedorX.com" que tenha sido originado em outro servidor que não seja um dos dois definidos acima precisará apenas fazer uma rápida consulta de DNS para saber que deverá tratá-lo como mail forjado.

    Informações Adicionais : http://www.saout.de/misc/spf/

    Ao trabalho

    # cd /usr/ports/mail/qmail-dk/
    # make install clean

    # mkdir -m 700 /var/qmail/domainkeys/
    # cd /var/qmail/domainkeys

    # openssl genrsa -out rsa.private 768
    # openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM
    # mv rsa.private seudominio

    # chmod 600 seudominio
    # chown -R qmaild /var/qmail/domainkeys

    Até aqui seu servidor já pode trabalhar com Domainkeys, porém ainda se faz necessários mais alguns ajustes. Seu qmail precisa saber como verificar o Domainkeys e seu DNS precisa confirmar seu DomainKey.

    No seu arquivo TCP

    # cd /var/qmail/service/smtpd/
    # ee tcp

    Altere seu arquivo para que inclua ou altere isto

    DKSIGN="/var/qmail/domainkeys/seudominio",
    DKVERIFY="DEGIJKfh",
    DKQUEUE="/usr/local/bin/qmail-scanner-queue.pl",
    QMAILQUEUE="/var/qmail/bin/qmail-dk"

    ficara parecido com isto:

    172.16.:allow,RELAYCLIENT="",BADMIMETYPE="",RBLSMTPD="",REQUIREAUTH="",
    DKSIGN="/var/qmail/domainkeys/seudominio",
    DKVERIFY="DEGIJKfh",
    DKQUEUE="/usr/local/bin/qmail-scanner-queue.pl",
    QMAILQUEUE="/var/qmail/bin/qmail-dk"

    Nos exemplos acima é em uma única linha. Não esqueça de dar o make no arquivo

    # make

    Para gerar a chave para seu DNS:

    # cd /var/qmail/domainkeys/
    # grep -v ^- rsa.public | perl -e 'while(<>){chop;$l.=$_;}print "t=y; p=$l;\n";'

    No seu servidor DNS adicione isto:

    _domainkey.seudominio.com. IN TXT "t=y; o=-";
    seudominio._domainkey.seudominio.com. IN TXT "DomainKey_do_resultado_do_grep"

    Depois de tudo pronto e testado, pode adicionar o B na variável DKVERIFY e remover o t=y do DNS. O t=y diz que ainda está em fase de testes e a adição do B torna o DomainKey mais agressivo.

    No caso do B, letra minuscula gera um softerror e maíuscula um hard error.

    Para o SPF, já é bem mais simples, pois o ports ja fez praticamente todo o trabalho. Apenas adicione uma variável ao diretório control do qmail

    echo "3" > /var/qmail/control/spfbehavior

    Pode especificar valores entre 0 e 6 para spfbehavior:

    0: Never do SPF lookups, don't create Received-SPF headers
    1: Only create Received-SPF headers, never block
    2: Use temporary errors when you have DNS lookup problems
    3: Reject mails when SPF resolves to fail (deny)
    4: Reject mails when SPF resolves to softfail
    5: Reject mails when SPF resolves to neutral
    6: Reject mails when SPF does not resolve to pass

    Valores maiores que 3 são desaconselháveis

    Para testar as configurações de DK e SPF utilize este site http://www.skylist.net/resources/authentication.php

    Algumas configurações adicionais para a manutenção do seu servidor de email

    - Limitar o tamanho do email em 10MB

     # echo "10000000" > /var/qmail/control/databytes

    - Definir tempo de spool. Define o número máximo em segundos que uma mensagem pode ficar na fila do qmail. Depois desse tempo, qmail-send tentará entregar a mensagem mais uma vez e tratará qualquer outro erro, como um erro permanente. Padrão: 604800 (uma semana). Utilizado por: qmail-send.

    # echo "604800" > /var/qmail/control/queuelifetime

    - Recusar spam

    # echo "spammeur@spam" > /var/qmail/control/badmailfrom

    - Verificar Logs

    # tail /var/qmail/service/smtpd/log/main/current | tai64nlocal

    # tail /var/qmail/service/pop3d/log/main/current | tai64nlocal

    # tail /var/log/qmail/current | tai64nlocal

    # tail /var/log/clamav/clamd.log | tai64nlocal

    - Verificar estatisticas

    # /var/qmail/bin/qmail-qstat # /var/qmail/bin/qmail-qread | grep remote | grep -v done

    - Ajustes para alteração do subject da mensagem que for classificada como SPAM

    # ee /usr/local/etc/mail/spamassassin/local.cf

    Definir [SPAM] no subject, alterar a linha:

    rewrite_header Subject *****SPAM*****

    - Verificar os serviços que estão rodando

    # svstat /var/service/* /var/service/*/log

    - Gerar relatorio de SPAM do seu servidor diariamente

    Adicionar ao crontab

    /usr/local/share/spamassassin/tools/sa-stats.pl -u -s 'midnight' -e 'now' --mail= Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo

    - Gerar uma listagem dos tipos de virus capturados pelo seu servidor de email

    grep CLAMDSCAN /var/log/maillog* | awk '{print $6}' | awk -F":" '{print $2}' | sort -u

    - Aumentar o tamanho dos arquivos de log do smtpd e pop3d

    Maiores informações sobre variáveis do sistema : http://www.din.or.jp/~ushijima/qmail-conf/environment.html

    ee /var/qmail/service/smtpd/log/env/MAXFILESIZE ee /var/qmail/service/pop3d/log/env/MAXFILESIZE

    - Bloqueie os emails para usuários inexistentes antes de entrarem na fila. Maiores informações em http://www.fehcom.de/qmail/spamcontrol/README_spamcontrol.html

    Em seu arquivo de crontab adicione esta linha
    # Gera lista de usuarios a cada 30 minutos
    */30 * * * * root /var/qmail/scripts/qmail-vpopmail2recipients > /dev/null

    e em seu arquivo /var/qmail/control/recipients acrescente
    users/recipients.cdb


    Melhor controle de relay

    Adcione as linhas a seu arquivo badrcptto
    # ee /var/qmail/control/badrcptto
    *%*
    *!*
    *@*@*

    Para testes de relay utilize este site http://www.antispam-ufrj.pads.ufrj.br/test-relay.html

    Isso é tudo ppessoal :-)Image

    Escrito em 15/05/2006
    Atualizado em 25/08/2006

    Este artigo foi escrito com a intenção de facilitar a instalaçao de um serviço muito util que é o envio de email. O objetivo principal é torna-lo uma ferramenta segura e de facil manutenção através do uso do ports do FREEBSD.

    - Carlos A. Talhati (cat at SWCat dot com)
    - Renato Botelho (garga at FREEBSD dot org)


    O Arquivo original encontra-se em http://www.swcat.com/artigos/freebsd/artigo002.php

    Comentrios
    Excelente MTA, excelente artigo.
    Por Emerson Silva em 15/06/2006 02:01:08
    Otimo artigo sobre um excelente servidor de email. Boas dicas ao longo do artigo. Eu so queria uma explicacao do make.conf. Sei que o if serve pra se aplicar so se estiver no diretorio. Isso serviria pra atualizacoes? Com postupgrade por exemplo? 
     
    Pergunto isso porque com portupgrade sempre tenho que passar essas opcoes com argumento pro -m, senao ele atualiza de um port customizado pra um vanilla (padrao). 
     
    Obrigado.
    Isso ai brother
    Por Joao Paulo - 0v3rm1nd em 15/06/2006 02:51:13
    E isso ai brother, funcionara para o portupgrade sim. Talvez tu queiras ao inves disso, fazer o seguinte. Coloque no seu /etc/make.conf: 
     
    [CODE]if ${.CURDIR:M*/usr/ports*} 
    .include "/etc/ports.conf" 
    .endif[/CODE] 
     
    E ai crie esse arquivo apontado, o /etc/posts.conf com o segundo conteudo: 
     
    [CODE].if ${.CURDIR:M*/www/apache*} 
    WITH_OPENSSL_BASE=1 
    APACHE_BUFFERED_LOGS=1 
    .endif 
     
    # maildrop 
    .elif ${.CURDIR:N*mail/maildrop}=="" 
    MAILDROP_SUID=vpopmail 
    MAILDROP_SGID=vchkpw 
    .endif 
     
    # Precisa do suidperl pro qmail-scanner 
    .elif ${.CURDIR:N*lang/perl5*}=="" 
    ENABLE_SUIDPERL=yes 
    .endif[/CODE] 
     
    Assim tu evitas avaliacao de um monte de IF em qualquer make, so avalia os varios ELIFS se de fato o make acontecer dentro do /usr/ports.  
     
    Bem legal essas tretas, ajudam.
    timo!
    Por eksffa em 15/06/2006 20:25:02
    Excelente iniciativa do Talhati e do Garga. A comunidade estava mesmo sem um how-to atualizado de Qmail no FreeBSD. 
     
    qmail + mysql
    Por Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo em 19/06/2006 15:16:16
    beleza de artigo, estou mesmo precisando fazer isso, mas queria saber como fazer isto funcionar com o mysql?
    Excelente atualizacao.
    Por Patrick Tracanelli em 14/07/2006 11:19:28
    Ja era bom, ficou mais bacana ainda :D 
     
    Alex, prausar o MySQL como backend pro vpopmail ao inves de base CDB, edite o Makefile do ports/mail/vpopmail e procure as entradas WITH_MYSQL_XXX e defina os valores apropriados, o restante do artigo nao muda em nada.
    Vpopmail + mysql
    Por garga em 19/07/2006 16:22:12
    A dica do Patrick funciona, mas, no recomendado mexer em nenhum Makefile do ports, pois, assim que atualizar a rvore ele vai embora. 
     
    Ento, coloque suar opes no /etc/make.conf 
     
    []s
    Woops, me expressei mal ;-)
    Por Patrick Tracanelli em 21/07/2006 17:42:22
    Eu quis dizer editar o Makefile apenas para procurar as entradas e ler os comentarios, e nao modificar os valores ;-) Me expressei mal, tinha que dizer "pagine o Makefile e procure as entradas" hehe.
    Relay Aberto
    Por Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo em 28/07/2006 11:38:03
    timo artigo. S estou tendo dificultades de fechar meu relay. Fiz exatamente como o artigo pede, aps testar o relay utilizando telnet relay-test.mail-abuse.org, ele para no teste nmero 8, sendo que so 19 testes. 
    Alguma sugesto? 
    Do resto est maravilha!! 
    Relay
    Por garga em 01/08/2006 14:10:49
    Oi Renato, 
     
    Na verdade no est aberto, apenas parece que est. Mas para deixar de parecer, o que melhor, adicione essas 3 linhas no arquivo /var/qmail/control/badrcptto 
    *%* 
    *!* 
    *@*@* 
     
    e pronto. 
     
    Vou pedir pro Carlos por isso ae na doc.
    Atualizao das imagem
    Por Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo em 02/08/2006 10:50:23
    De quanto em quanto tempo feita a atualizao das imagem, gostaria de saber pois meu chef. fez umas construes e ainda no apareceu, no seriam melhor ver um possivel patrocinio de empresas interessadas para fazer essa ataulizaes periodicamentes????  
     
    espero um resposta grato
    Autenticar usuarios do sistema.
    Por nanios em 19/09/2006 20:02:02
    Gostei muito do artigo at fiz e funciona mas no estou conseguindo autenticar usuarios do sistema.



    ltima Atualizao ( 26/08/2006 )
     
    < Anterior   Prximo >
    FUG-BR - Espalhando BSD
    Dicas Rpidas:

    Após sincronizar o Ports, para atualizar seu INDEX de aplicações se você tiver portupgrade instalado, digite:

    portsdb -Uu 

    Se não tiver portupgrade:

    cd /usr/ports/
    make fetchindex

     






    Wallpapers
    Sua Opiniao
    Online:
    Ns temos 18 visitantes online


    Devil Store - Sua loja BSD
    FreeBSD Brasil LTDA

    FUG-BR: Desde 1999, espalhando BSD pelo Brasil.