12.10  
Inicio arrow Artigos arrow Qmail-Ldap integrando com Active Directory
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histórico da Lista
Galeria de Imagens
Contador Usuários FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS
-
DOC-BR (FUG BR)
Introdução
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usuário

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma
Histórico da Lista
  • [FUG-BR] balancear trafego local
  • [FUG-BR] Limitar Trafego
  • Re: [FUG-BR] Limitar Trafego
  • Re: [FUG-BR] Limitar Trafego
  • Re: [FUG-BR] [Off Topic]OS Cluster
  • Re: [FUG-BR] [Off Topic]OS Cluster
  • [FUG-BR] Ajuda com ipfw + altq
  • Re: [FUG-BR] Ajuda com ipfw + altq

  • Alertas em Ports
  • cups -- multiple vulnerabilities
  • opera -- multiple vulnerabilities



  • Qmail-Ldap integrando com Active Directory PDF Imprimir E-mail
    Por Carlos Cesario   
    02/05/2007

    Qmail-LDAPEm mais um excelente artigo publicado no portal da FUG, Felippe de Meirelles Motta e Carlos Cesário contribuiram com um howto sobre instalação, configuração e integração de um Servidor LDAP com um Servidor AD. Este que com certeza é de necessidade de muitos, conta com um patch novo para autenticar os usuários do Active Directory com o qmail-ldap.

    Este artigo não entrará em detalhes sobre a instalação do AD, apenas uma rápida descrição e referência do que se deve fazer. O artigo traduzido por Felippe de Meirelles Motta foi quase que totalmente modificado para garantir melhor gerenciamento, performance e segurança sobre os serviços deste servidor. 

    Sistemas já testados:

    • Windows 2003 Server com SP2
    • OpenSuse Linux-10.2
    • Ubuntu 6.10

    Instalando Windows 2003 Server

    Após a instalação do Servidor, instale o SFU (Windows Services for Unix) com suporte ao NIS. Adicione um novo usuário no AD e na aba "Unix Attributes" escolha o domínio e clique em OK. Altere novamente a senha do usuário.

    UCSPI-TCP


    # cd /usr/ports/sysutils/ucspi-tcp
    # make config

    (Selecione RSS_DIFF, SSL e RBL2SMTPD)

    # make install clean

    Daemon Tools

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

    (Não é necessário selecionar nenhuma opção)

    DjbDNS

    # cd /usr/ports/dns/djbdns
    # make install clean

    (Não é necessário selecionar nenhuma opção)

    Qmail-Conf

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


    MailDrop

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


    OpenLDAP Server

    # cd /usr/ports/databases/openldap24-server
    # make install clean

    (Não é necessário selecionar nenhuma opção)

    O esquema no LDAP define registros e campos na database. Qmail usa alguns esquemas com OpenLDAP, mas não é habilitado por padrão.

    Para habilitar isso, adicione o seguinte em /usr/local/etc/openldap/slapd.conf:

    include /usr/local/etc/openldap/schema/core.schema.
    include /usr/local/etc/openldap/schema/cosine.schema
    include /usr/local/etc/openldap/schema/inetorgperson.schema
    include /usr/local/etc/openldap/schema/nis.schema


    Database

    Voce precisa definir uma database para OpenLDAP. Para isto, adicione o seguinte para /usr/local/etc/openldap/slapd.conf:

    database bdb
    suffix "dc=dominio,dc=org"
    rootdn "cn=Manager,dc=dominio,dc=org"
    rootpw secret
    directory /usr/local/var/openldap-data


    Adicione no seu /etc/rc.conf:
     
    slapd_enable="YES"
    slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"'
    slapd_sockets="/var/run/openldap/ldapi"


    Agora inicie o serviço:
     
    # /usr/local/etc/rc.d/slapd.sh restart

    Base Root

    Nós criaremos um diretório para armazenar arquivos ldif:
     
    # mkdir /usr/local/src/ldif

    No próximo ponto, nós precisamos configurar o OpenLDAP para interagir com o Qmail, isso estará pronto após a compilação do qmail-ldap.

    Criação de DN

    Em /usr/local/src/ldif crie um arquivo chamado create_dn.ldif com o seguinte conteúdo:
     
    dn: dc=dominio,dc=org
    objectclass: dcObject
    objectclass: organization
    o: dominio
    dc: dominio


    dn: cn=Manager,dc=dominio,dc=org
    objectClass: organizationalRole
    cn: Manager


    Ajuste exatamente como acima, respeitando espaços.

    Este registro é adicione para database LDAP com:

    # ldapadd -x -D "cn=Manager,dc=dominio,dc=org" -W -f create_dn.ldif

    Nota: Você precisará digitar uma senha para administração.
     
    Se rodou com sucesso, nós teremos algo como isto:
     
    # ldapadd -x -D "cn=Manager,dc=dominio,dc=org,dc=mx" -W -f create_dn.ldif
    Enter LDAP Password:
    adding new entry "dc=dominio,dc=org,dc=mx"
    adding new entry "cn=Manager,dc=dominio,dc=org,dc=mx"


    Você pode testar isto com:

    # ldapsearch -x -b "dc=mpsnet,dc=net,dc=mx" '(objectclass=*)'
    # search result
    search: 2
    result: 0 Success
    # numResponses: 3
    # numEntries: 2


    ClamAV Antivirus

    ClamAV é um anti-virus grátis no qual pode ser usado em conjunto com Simscan para filtrar emails com vírus. Nós vamos mostrar como instalar isto.

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

    (Não é necessário selecionar nenhuma opção)

    Defina dentro de seu /usr/local/etc/clamd.conf:

    User root
    LogFileMaxSize 0

    Adicione ao seu /etc/rc.conf:

    clamav_clamd_enable="YES"
    clamav_freshclam_enable="YES"


    E inicie este serviço:
     
    # /usr/local/etc/rc.d/clamav-clamd.sh start
    # /usr/local/etc/rc.d/clamav-freshclam.sh start


    SpamAssassin

    SpamAssassin é um programa que pode ser usado em conjunto com Simscan para filtrar SPAM.

    Você pode instalar isso com:

    # cd /usr/ports/mail/p5-Mail-SpamAssassin
    # make config

    (Selecione quaisquer opções que achar necessário ou necessite) 

    Adicione ao seu /etc/rc.conf:
     
    spamd_enable="YES"

    Desativando Sendmail

    Adicione ao seu /etc/rc.conf:
     
    sendmail_enable="NONE"

    Ajuste o /etc/mail/mailer.conf como está abaixo:

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


    Criando usuários para continuar a instalação

    # pw groupadd vmail -g 2110
    # pw useradd vmail -u 11184 -g vmail -s /bin/true -m

    # pw groupadd simscan
    # pw useradd simscan -g simscan -s /sbin/nologin -d /nonexistent

    Qmail-LDAP

    # cd /usr/ports/mail/qmail-ldap
    # make config

    (Selecione: LOCALTIME_PATCH, BIGTODO, QUOTATRASH, LDAP_DEBUG e as opções padrões)

    # make

    # cd work/qmail-1.03

    Baixe o patch para FreeBSD aqui , na utilização de instalação via código-fonte, use este aqui . 

    # make install clean

    Ativando esquema LDAP

    Qmail necessita de organização especial de campos para seus registros de usuários. Estes campos são adicionados diretamente nos esquemas que o qmail-ldap pre-define. Para ativar isto, façamos:
     
    # cp /var/qmail/doc/qmail.schema /usr/local/etc/openldap/schema/

    E em /usr/local/etc/slapd.conf adicione:

    include /usr/local/etc/openldap/schema/qmail.schema

    Para aumento de performance do LDAP, você precisa indexar alguns campos na database. Para isto, adicione as seguintes linhas em /usr/local/etc/openldap/slapd.conf:
     
    index objectClass eq
    index mail,mailAlternateAddress,uid eq,sub
    index accountStatus,mailHost,deliveryMode eq
    index default sub


    Configuração

    Arquivos de controle

    Qmail é baseado em configuração de arquivos setados em /var/qmail/control. Cada arquivos neste diretório controla uma função do qmail que você pode ser ajustada para suas necessidades. Para mais informação verifique a seção de Arquivos de Controles.

    A seguir nós definimos alguns valores recomendados:

    # echo "server.domain.com" > /var/qmail/control/me
    # echo "127.0.0.1" > /var/qmail/control/ldapserver
    # echo "ou=users,dc=dominio,dc=org" > /var/qmail/control/ldapbasedn
    # echo "secret" > /var/qmail/control/ldappassword
    # echo "cn=Manager,dc=dominio,dc=org" > /var/qmail/control/ldaplogin
    # echo qmailUser > /var/qmail/control/ldapobjectclass
    # echo "0" > /var/qmail/control/ldaplocaldelivery
    # echo "0" > /var/qmail/control/ldapcluster
    # echo "10000000" > /var/qmail/control/defaultquotasize
    # echo "10000" > /var/qmail/control/defaultquotacount
    # echo "Sua caixa postal está esgotando-se, limpe um espaço se deseja continuar a receber emails" > /var/qmail/control/quotawarning
    # echo "ldaponly" > /var/qmail/control/ldapdefaultdotmode
    # echo "/home/vmail" > /var/qmail/control/ldapmessagestore
    # echo "11184" > /var/qmail/control/ldapuid
    # echo "2110" > /var/qmail/control/ldapgid
    # echo "30" > /var/qmail/control/ldaptimeout
    # echo "Para maiores informações escreva para Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo " > /var/qmail/control/custombouncetext
    # touch /var/qmail/control/rbllist
    # echo "0.0.0.0" > /var/qmail/control/outgoingip
    # echo "./Maildir/" > /var/qmail/control/defaultdelivery
    # echo "domain.com" > /var/qmail/control/locals
    # echo "domain.com" > /var/qmail/control/rcpthosts

    Adicione o arquivo /var/qmail/rc com o seguinte conteúdo:

    #!/bin/sh
    # Taken from LWQ by Dave Sill
    # Using stdout for logging
    # Using control/defaultdelivery from qmail-local to deliver messages by default
    exec env - PATH="/usr/local/bin:/var/qmail/bin:/bin" \
    qmail-start ./Maildir/


    # chmod 755 /var/qmail/rc

    Qmail-Delivery

    # /var/qmail/bin/qmail-delivery-conf qmaill /var/qmail/service/qmail

    E link isto para o svscan:
     
    # ln -s /var/qmail/service/qmail /service

    Isto causa início imediato do qmail. Você pode verificar o status do serviço com:

    # svstat /service/qmail

    Se carregado com sucesso, você obterá algo como:
     
    /service/qmail: up (pid 6275) 11 seconds

    Qmail-SMTPD

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


    Limite de memória

    Você define o limite de memória com:

    # echo "8000000" > /var/qmail/service/smtpd/env/DATALIMIT

    Permissão para envio de email ou relay

    Você pode fazer relay usando uma lista explicita de IPs estáticos ou com SMTP-AUTH. O qmail-smtpd está encarregado disto. Para configurar relay, você precisa editar /service/smtpd/tcp e listar quais IPs serão permitidos para relay. Examplo:
     
    127.:allow,RELAYCLIENT=""
    192.168.101.:allow,RELAYCLIENT=""
    :allow

    A lógica é:
    Qualquer conexão de 127.oquetiver será permitido para conectar e fazer relay (uso do RELAYCLIENT="" para ativar isto)
    Qualquer conexão de 192.168.101.oquetiver sera permitido e enviará email.
    :allow qualquer conexão para porta 25 de qualquer outro IP será permitido para conectar, mas não irá fazer relay. Isso é para receber email de outros hosts.

    Para ativar as mudanças você precisa fazer o seguinte:

    # cd /service/smtpd
    # make


    Isto irá criar o arquivo binário tcp.cdb e o qmail automaticamente irá detectar as mudanças. Para isto não é necessário para reiniciar o serviço.
     
    Dirmaker

    Afim de fazer criação automatica do trabalho de caixa postal, você precisa definir o arquivo /var/qmail/bin/dirmaker.sh com o seguinte conteúdo:

    #!/bin/sh
    /bin/mkdir -m 700 -p $1/Maildir
    /bin/mkdir -m 700 -p $1/Maildir/new
    /bin/mkdir -m 700 -p $1/Maildir/cur
    /bin/mkdir -m 700 -p $1/Maildir/tmp


    Torne-o executável

    # chmod +x /var/qmail/bin/dirmaker.sh

    E configure o arquivo de controle correspondente:
     
    # echo /var/qmail/bin/dirmaker.sh > /var/qmail/control/dirmaker

    Log extendido

    Para ativar log extendido, faça:
     
    # echo "3"> /service/smtpd/env/LOGLEVEL

    Recipientes LDAP

    Recipientes LDAP são de alta relevância na hierarquia LDAP. Para obter ordem nos usuários qmail com uma database LDAP, você precisa definir dois recipientes: um para grupos e um para usuários. Estes recipientes devem pertencer ao nível root no LDAP.

    Para adicionar um recipiente via linha de comando, você precisa primeiro criar um arquivo com os atributos necessários e carregar isso com o comando ldapadd.
     
    Recipiente de usuários

    # cd /usr/local/src/ldif

    Crie o arquivo users.ldif com:
     
    dn: ou=users,dc=dominio,dc=org
    ou: users
    objectclass: top
    objectclass: organizationalUnit


    Carregue isto com: 

    # ldapadd -x -D "cn=Manager,dc=dominio,dc=org" -W -f users.ldif

    Se carregado com sucesso, você irá obter:

    # ldapadd -x -D "cn=Manager,dc=dominio,dc=org" -W -f users.ldif
    Enter LDAP Password:
    adding new entry "ou=users,dc=dominio,dc=org"


    Isto irá criar o recipiente de usuários, onde usuários qmail serão armazenados.

    Você pode testar isto com:
     
    # ldapsearch -x -s one -b 'dc=dominio,dc=org' '(ou=users)'

    # users, dominio.org
    dn: ou=users,dc=dominio,dc=org
    ou: users
    objectClass: top
    objectClass: organizationalUnit


    Recipiente de grupos

    # cd /usr/local/src/ldif

    Em groups.ldif:
     
    dn: ou=groups,dc=dominio,dc=org
    ou: groups
    objectclass: top
    objectclass: organizationalUnit


    Carregue isto com: 

    # ldapadd -x -D "cn=Manager,dc=dominio,dc=org" -W -f groups.ldif

    Isto cria o recipiente de grupos, onde os grupos do qmail serão armazenados. Você pode testar isto com:
     
    # ldapsearch -x -s one -b 'dc=dominio,dc=org' '(ou=groups)'

    # users, dominio.org
    dn: ou=groups,dc=dominio,dc=org
    ou: users
    objectClass: top
    objectClass: organizationalUnit


    Criação manual de usuários qmail

    Nós podemos agora criar os usuários qmail. Para fazer isto, nós precisamos criar um arquivo ldif com dados de caixa postal e uma senha encriptada. Voce pode tambem fazer isto com Webmin.

    Senhas encriptadas

    Você precisa armazenar senhas encriptadas em formato crypt ou md5. Para pegar a string md5 de uma senha você deve fazer o seguinte:
     
    # slappasswd -h {md5}
    New password:
    Re-enter new password:
    {MD5}72KZyef9rm13WBnOHiYguA==

    A strings resultando: {MD5}72KZyef9rm13WBnOHiYguA== é a senha encriptada e é o texto que nós precisamos incluir no arquivo ldif.

    Postmaster, um exemplo e usuário básico

    Para cumprir com a RFC 822, todo MTA precisa ter a conta postmaster@. Para criar isso nós precisando fazer o seguinte. Criar um arquivo postmaster.ldif com:
     
    dn: cn=Postmaster,ou=users,dc=domain,dc=com
    cn: Postmaster
    ou: users
    sn: Postmaster
    objectClass: top
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: qmailUser
    mail: Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo


    mailHost: server.domain.com
    mailQuotaSize: 0
    mailQuotaCount: 0
    uid: postmaster
    accountStatus: active
    mailMessageStore: postmaster
    userPassword: {MD5}JQ9g7OhNwTK81ciA0aS3KQ==


    E adicione isto para database LDAP com:
     
    # ldapadd -x -D "cn=Manager,dc=domain,dc=com" -W -f postmaster.ldif

    RFC 2142 adverte para também criar uma conta abuse@. Para criar isto, nós precisamos fazer o seguinte. Criar um arquivo abuse.ldif com:
     
    dn: cn=Abuse,ou=users,dc=domain,dc=com
    cn: Abuse
    ou: users
    sn: Abuse
    objectClass: top
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: qmailUser
    mail: Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo

    mailHost: server.domain.com
    mailQuotaSize: 0
    mailQuotaCount: 0
    uid: abuse
    accountStatus: active
    mailMessageStore: abuse
    userPassword: {MD5}JQ9g7OhNwTK81ciA0aS3KQ==


    E adicione isto para database LDAP com:
     
    # ldapadd -x -D "cn=Manager,dc=domain,dc=com" -W -f abuse.ldif

    Qmail POP3

    Criando serviço pop3

    # /var/qmail/bin/qmail-pop3d-conf /var/qmail/bin/auth_pop qmaill /var/qmail/service/pop3d

    Definindo acesso

    # ldapadd -x -D "cn=Manager,dc=dominio,dc=org" -W -f users.ldif

    Adicione para o arquivo /var/qmail/service/pop3d/tcp a lista de IPs permitidos para conectar. Se qualquer IP pode contar para o POP, cria o arquivo tcp com:

    :allow

    E se você quer restringir acesso para um range de endereços IPs, podemos fazer algo como:

    172.16.1.24:allow
    192.168.:allow

    Você pode também adicionar IPs com o comando add-client.
     
    ./add-client 172.16.1.24 192.168.

    Agora faça o arquivo binário em ordem para o qmail(tcpserver) reconhecer as mudanças:
     
    # cd /var/qmail/service/pop3d
    # make


    Habilitando o serviço

    # ln -s /var/qmail/service/pop3d /service

    LOG

    Ativar level de log extendido:
     
    # echo "3"> /service/pop3d/env/POP3_LOGLEVEL

    Logs para consultas posteriores: 

    # tail -f /service/pop3d/log/main/current

    Teste acesso com telnet:
     
    # telnet 127.0.0.1 110
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    +OK < Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo >
    user your_login
    +OK
    pass your_password
    +OK
    quit
    +OK
    Connection closed by foreign host.
    %

    Qmail IMAP

    Nós iremos usar o servidor Courier-IMAP. A versão 4 de Courier IMAP não foi testada pelo autor, se você conhece os passos para instalar sinta-se livre para contribuir.
     
    # cd /usr/ports/mail/courier-imap
    # make config

    (Selecione: TRASHQUOTA e desmarque IPV6)

    # make install clean

    Configurando

    O próximo passo é para criar os arquivos de configuração:
     
    # cp /usr/local/etc/courier-imap/imapd.cnf.dist /usr/local/etc/courier-imap/imapd.cnf

    Edite /usr/local/etc/courier-imap/imapd.cnf e mude o próximo valor:

    MAXPERIP=20

    Criando um diretório de inicialização:
     
    # mkdir /service/imapd

    Criar /service/imapd/run com o seguinte conteúdo:

    #!/bin/sh

    IPADDR="0.0.0.0"
    exec_prefix=/usr/local
    . /usr/local/etc/imapd.cnf

    exec tcpserver -c 100 -l 0 -v -R $IPADDR imap \
    ${exec_prefix}/sbin/imaplogin \
    /var/qmail/bin/auth_imap \
    ${exec_prefix}/bin/imapd Maildir 2>&1

    Torne-o executável e link isto: 
    # chmod +x /usr/lib/courier-imap/runscript/run
    # ln -s /usr/lib/courier-imap/runscript /service/imapd

    Teste com telnet:

    # telnet 127.0.0.1 143
    ...
    a1 seu_login *****
    a2 select inbox


    Onde seu_login é um usuário válido e **** é uma senha válida.
     
    Isto irá autocriar diretórios IMAP: Trash, Drafts e Sent.

    Simscan

    Simscan é um programa que permite o Qmail habilitar anti-virus (com ClamAV neste documento) e filtros anti-spam (SpamAssassin). Isto trabalha com o patch ALTQUEUE (incluído no qmail-ldap). Isto é escrito em C, qual é entregue com rápida performance.
     
    Instalação

    Se você usa usuário clamav para rodar o clamav, você precisa adicionar o parametro --enable-user=clamav para configurar linha. Também --enable-attach=y serão muito ajudados.
     
    # cd /usr/ports/mail/simscan
    # make config

    (Selecione: CLAMAV, RIPMIME, SPAMD, ATTACH, PASSTHUR, DOMAIN, HEADERS)

    # make install clean

    Configuração

    Em /var/qmail/control/simcontrol:

    :clam=yes,spam=yes,spam_passthru=yes

    spam_passthru=yes deixa o spam passar com um aviso no campo Assunto. Se você quer bloquear isto, mude esta opção para spam_passthru=no.

    E atualiza com:

    # /var/qmail/bin/simscanmk

    Ativando

    Em /service/smtpd/tcp:

    127.:allow,RELAYCLIENT=""
    :allow,RBL="",RCPTCHECK="",SMTPAUTH="AUTHREQUIRED",QMAILQUEUE="/var/qmail/bin/simscan"

    E atualize as regras SMTPD com:
     
    # cd /service/smtpd
    # make


    Em geral você tem que setar a opção QMAILQUEUE para aquelas redes que requisitam anti-virus. Neste caso todos, menos localhost.

    SpamAssassin Anti-Spam

    Nesta sessão nós vamos mostrar como usar SpamAssassin em conjunto com Simscan, mas o uso de outro software antispam como DSPAM é possível.
     
    SpamAssassin é um software no qual através de múltiplos testes pode decidir se um email é considerado ou não como SPAM. Você pode configurar isto globalmente ou por usuário, você poderá montar um setup personalizado para cada um.

    LDAP

    Regras globais são definidas usualmente no arquivo /usr/local/etc/mail/spamassassin/local.cf e em sistemas com usuários UNIX, cada usuário pode ter um arquivo chamado ~/.spamassassin/user_prefs onde suas preferências pessoais são armazenadas em qmail-ldap e você pode também fazer isto com Simscan e a habilidade do SpamAssassin para usar preferências do LDAP. Nas preferências armazenadas no LDAP você pode definir coisas como required_score e listas branca e negra. Isto ajuda um monte de usuários diferenciados na questão do antispam.

    Configuração LDAP para SpamAssassin

    Em ordem para forçar SpamAssassin para ler preferências por usuário de um servidor LDAP, você precisa adicionar um atributo do spamassassin para o esquema de modo que cada usuário tenha este valor.

    Você pode fazer isto como seguinte:

    Adicione o atributo 'spamassassin' para /usr/local/etc/openldap/schema/inetorgperson.schema:

    # spamassassin
    # see http://SpamAssassin.org/ .
    attributetype ( 2.16.840.1.113730.3.1.220
    DESC 'SpamAssassin user preferences settings'
    EQUALITY caseExactMatch
    NAME 'spamassassin'
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

    Você precisa usar tabs, não espaços em branco.

    Integrado o atribudo para a classe. No /usr/local/etc/openldap/schema/inetorgperson.schema na ultima parte modifique:
     
    userSMIMECertificate $ userPKCS12 )

    Para isto: 
    userSMIMECertificate $ userPKCS12 $ spamassassin )

    Isto irá atualmente adicionar o atributo.

    Integração do SpamAssassin e LDAP

    Agora nós precisamos fazer o SpamAssassin conectar na database LDAP. Modifique /usr/local/etc/mail/spamassassin/local.cf e adicione os seguintes parametros:
     
    user_scores_dsn ldap://127.0.0.1:389/ou=users,dc=domain,dc=com?spamassassin?sub?uid=__USERNAME__
    user_scores_ldap_username cn=Manager,dc=dominio,dc=org
    user_scores_ldap_password your_secret

    Use seu servidor válido e credenciais apropriadas.

    Isto é:
    user_scores_dsn: define o IP do servidor LDAP, o recipiciente dos usuários, o atributo onde preferências são armazenadas, espaço de busca (base, um o secundário) e usuário. 
    Em tempo de execução __USERNAME__ é modificado com uid de um usuário. 
    user_scores_ldap_username: login para conectar na database.
    user_scores_ldap: senha para conectar na database.

    Como nós especificamos spamassassin em user_scores_dsn, neste atribudo irá as preferências por usuário que será procurada. Este é um atribudo de multivalor e em cada entrada você usar o fomato usado em local.cf.
    Porém você é restrito somente para uma opção de todos valores válidos de local.cf. Alguns valores suportados são:
     
    whitelist_from
    blacklist_from
    required_score

    Exemplo:

    Se por exemplo você tem um email chamado Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo e você quer habilitar as preferências do SpamAssassin no LDAP, você precisa adicionar os seguintes valores para o atributo spamassassin do usuário:
     
    spamassassin: required_score 3
    spamassassin: blacklist_from Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo

    Isto irá fazer que o padrão de required_score para este usuário seja 3 (um pouco paranóico) e todos emails de Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo .br sejam marcados como SPAM.

    IMPORTANTE: Afim de ter esta configuração trabalhando, o atributo uid do usuário precisa ser o mesmo da caixa postal. Por exemplo: para  Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo , o atributo uid na database LDAP precisa ser  Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo .
    Também precisa ter maildrop habilitado (estes são outras técnicas) para forçar cada email ser scaneado pelo SpamAssassin.

    Outras técnicas AntiSPAM

    RBL

    qmail-ldap inclui um patch para fazer qmail-smtpd verificar se cada conexão IP é ou não considerada um gerador de SPAM. Se o IP entrante está numa lista negra, isto pode ser bloqueado ou marcado (X-RBL Header). Para configura você precisa habilitar o RBL(Lista de bloqueio de relay) através do arquivo de controle apropriado: /var/qmail/control/rbllist.

    Exemplo: Em /var/qmail/control/rbllist ponha o seguinte:
     
    sbl.spamhaus.org reject 127.0.0.2 Spamhaus - http://www.spamhaus.org/SBL/
    list.dsbl.org reject 127.0.0.2 DSBL - http://dsbl.org/main/
    bl.spamcop.net reject 127.0.0.2 Spamcop - http://spamcop.net/
    spamguard.leadmon.net reject 127.0.0.2 Dialup - Address is a dialup address

    Onde cada linha consiste de quatro campos separados por um ou mais espaços. Se você usa a diretiva reject, o email será rejeitado.

    Para ativar este recurso, você configura a variável RBL  em /service/smtpd/tcp:

    127.:allow,RELAYCLIENT=""
    :allow,RBL=""

    A variável RBL é definida para todas conexões, exceto 127.*.

    E então refazer a database do tcp.

    # cd /service/smtpd
    # make

    Checagem para recipientes válidos (RCPTCHECK)

    Se um spammer enviar um email para um usuário inexistente, este email é normalmente aceite pelo smtpd, mas após qmail(qmail-local) irá descobrir que este endereço não existe e irá gerar um email de erro para o remetente. Se o remetente não existe (comum com spammers), um novo email de erro é gerado para postmaster. 
    Todo este tráfego pode ser evitado se após aceite uma mensagem nós verificarmos se a conta existe. Isto é possível através do RCPTCHECK.

    Isto é feito com RCPTCHECK, que quando é habilitado ao chegar uma mensagem checa se o correio enviado pertence a dominios listados em /var/qmail/control/locals e verifica se a conta no servidor LDAP existe. Se a conta não existe, o correio é parado por qmail-smtpd com um erro 550. Para habilitar esta função se define a variável RCPTCHECK com um valor vazio.
    Em /service/smtpd/tcp se adiciona:

    127.:allow,RELAYCLIENT=""
    192.168.101.:allow,RELAYCLIENT=""
    allow,SMTPAUTH=”AUTHREQUIRED”,RBL="",RCPTCHECK=""

    Se regera tcp.cdb e pronto.

    Segurança

    Além de ajustar um firewall e ter uma boa e patcheada instalação, você pode fazer duas coisas para aumentar a segurança: use SMTP AUTH e TLS. O primeiro irá deixar você fechar relay para qualquer um mas usuários com uma conta válida. Isto reduz o risco de seu servidor ser usado por um spammer ou spyware e você não precisa de pop-before-smtp para ninguém mais. A segunda opção (TLS) calculará todo seu tráfego SMTP, reduzindo o risco de seu tráfego na porta 25 seja sniffado. EM seguida nós explicamos como configurar estas duas características.

    SMTP-AUTH permite relay para usuários com IPs dinamicos no qual não estão no arquivo tcp.cdb. Para habilitar isto, você precisa editar /service/smtpd/run e mudar a linha:
     
    /var/qmail/bin/qmail-smtpd

    para isto: 
    /var/qmail/bin/qmail-smtpd /var/qmail/bin/auth_smtp /usr/bin/true

    Adicionalmente você precisa definir a variável SMTPAUTH para aquelas classes no qual deverá usar isto. Precisa adicionar a strings 'SMTPAUTH=AUTHREQUIRED' para classes requisitadas em /service/smtpd/tcp e todas outras.

    Exemplo:
    127.:allow,RELAYCLIENT=""
    192.168.1.:allow,RELAYCLIENT="",SMTPAUTH="AUTHREQUIRED"
    :allow,SMTPAUTH="AUTHREQUIRED"

    Isto irá habilitar SMTP AUTH para todos em: 192.168.1.x (192.168.1.). Somente o localhost (127.) não precisará passar pelo SMTP AUTH.

    Para habilitar isto digite make no diretório do arquivo tcp:
     
    # cd /service/smtpd
    # make


    TLS

    Isto é possível para calcular todo tráfego SMTP com o protocolo TLS (Transport Layer Security). Para isto, você precisa ter compilado qmail-ldap com suporte TLS e gerar certificados apropriados. Para fazer isto, vá ao diretório qmail-ldap e faça o make cert.

    # cd /usr/ports/mail/qmail-ldap/work/qmail-1.03/
    # make cert


    Quando você executa para fazer o cert, que lhe será perguntado dados básicos e um novo certificado de auto-assinatura será criado em /var/qmail/control/cert.pem, no qual será enviado para os usuários através da encriptação STARTTLS.

    Agora avise o qmail-ldap onde poderá encontrar o certificado: 
     
    # echo "/var/qmail/control/cert.pem" > /var/qmail/control/smtpcert

    E habilite isto, reinicie smtpd:
     
    # svc -t /service/smtpd

    Você pode força que sempre todas as transações SMTP sejam encriptadas, mas tenha cuidado porque este pode causa vários problemas se você não souber o que está fazendo.
    Se você está certo que deseja isto, faça:

    # echo "TLSREQUIRED" > /service/smtpd/env/SMTPAUTH

    MailDrop

    Você pode marcar todo o spam (ou a maioria) com SpamAssassin. Mas o que você quer para deixar isto passar e armazenar automaticamente uma pasta específica do IMAP (algo como Yahoo ou Gmail)? Você pode fazer isto com maildrop, um programa para filtrar mensagens em algo muito similar para procmail. Com maildrop você pode fazer algumas coisas como, por exemplo, enviar emails entrantes de sua namorada e de todas as listas de discussão que você está inscrito para pastas IMAP diferentes. A sessão seguinte descreve como fazer isto.

    Instalação

    A lógica é isso:
    Faça todo email entrando ser processador por maildrop. 

    Configure maildrop para reconhecer o email entrante marcado pelo spamassassin e envia isto para uma pasta SPAM do IMAP.

    Habilitando maildrop para usuários e qmail

    Para habilitar maildrop, nós precisamos configurar os arquivos de controle apropriados, então um programa externo poderá ser usado e então mudar os atributos correntes para todo usuários com este recurso. Para ativar programas de terceiros globalmente no qmail, faça o seguinte:

    # echo ldapwithprog>/var/qmail/control/ldapdefaultdotmode

    Com o próximo conteúdo mude no atributo deliveryProgramPath para todo usuário que irá usar maildrop.
     
    /usr/local/bin/maildrop

    Para evitar emails duplicados, mude o atributo deliveryMode para:

    nolocal

    Configurando maildrop

    Agora iremos criar um arquivo de configuração padrão para o maildrop. Isto está pronto em /usr/local/etc/maildroprc.

    import HOME
    import MAILDIRQUOTA

    XBOUNCE="| bouncesaying 'Sorry, no mailbox here by that name.'"

    if (/^X-Spam-Status: Yes/)
    {
    to "$HOME/Maildir/.Spam/"
    }
    if ( $HOME eq "" )
    {
    to "$XBOUNCE"
    }
    else
    {
    exception {
    include "$HOME/.mailfilter"
    }
    exception {
    to "$HOME/Maildir"
    }
    }
    to "$HOME/Maildir"

    Com isto todos os emails com o cabeçado X-Spam-Status: YES (marcado pelo SpamAssassin) será enviado para uma pasta IMAP chamado Spam. Isto irá também checar se nele existe um ~/.mailfilter para todo usuário, e se isso for encontrado, carregue o arquivo e então mude o comportamente para o usuário corrente. Por exemplo, se eu criar um ~/.mailfilter (/var/vmail/oarmas/.mailfilter) algo como:

    if (/@spamassassin.apache.org/)
    {
    to "$HOME/Maildir/.SPAMASSASSIN/"
    }

    if (/^From:.* Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo /)
    {
    to "$HOME/Maildir/.GIRLFRIEND/"
    }

    to "$HOME/Maildir/.MAIN/"
    #to "$HOME/Maildir", to send the rest to INBOX

    Irá fazer disso que qualquer email de @spamassassin.apache.org seja enviado para pasta SPAMASSASSIN (qual precisa ser criado após), e todos emails de Este endereço de e-mail está sendo protegido de spam, você precisa de Javascript habilitado para vê-lo será enviado para GIRLFRIEND. Todo o resto de email será enviado para pasta PRINCIPAL. Se você quiser enviar isto para INBOX, use a linha comentada. 

    Pedimos que, por gentileza, enviem um feedback após a instalação, devido à falta de tempo e disponibilidade para testar a risco este artigo, sinta-se livre para sugerir ou criticar este documento.

    Referência: Artigo oficial [http://www.qmail-ldap.org/wiki/Full_Installation_Guide] - Traduzido e modificado por Felippe de Meirelles Motta <lippe em NOSPAM fug ponto com ponto br>
    Colaborador do Patch: Carlos Cesário <ccesario em NOSPAM tecnomega ponto com ponto br>

    Comentários


    Comente!*
    Nome:
    E-mail
    Homepage
    Título:
    Comentário:

    Código:* Code

    Última Atualização ( 10/05/2007 )
     
    < Anterior   Próximo >
    FUG-BR - Espalhando BSD
    Dicas Rápidas:

    No editor de textos vi(1), para remover os ^M de arquivos MS-DOS (Windows), use:

    :g/^V^M/s//

     

     




    Wallpapers
    Sua Opiniao
    Online:
    Nós temos 15 visitantes online


    Devil Store - Sua loja BSD
    FreeBSD Brasil LTDA
    CONISLI 2008

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