Postfix com autenticação em base LDAP no Slackware

Instalação do Postfix com autenticação em base LDAP, auto-resposta usando Gnarwl, autenticação de remetentes com SASL, utilização de TLS, criação automática dos diretórios dos usuários em formato Maildir com o Maildrop, gerenciamento de listas com o Mailman, antivírus Clamav, SpamAssassin, Courier POP3, webmail Squirrelmail, Isoqlog e Mailgraph.

[ Hits: 167.383 ]

Por: Felipe Domingos em 12/08/2008


Integração do Spamassassin e criação do maildir automaticamente



Para a integração do Spamassassin, alterar o arquivo /usr/libexec/postfix/clamav-filter.sh.

Alterar a linha:

SENDMAIL="/usr/sbin/sendmail -i "

Para:

SENDMAIL="/usr/bin/spamc -f -e /usr/sbin/sendmail -i "

Informações da base LDAP

Criação do Maildir do usuário automaticamente através do Maildrop.

Primeiro no LDAP os campos devem estar como a seguir:

mailMessageStore: /home/MENSAGENS
homeDirectory: /home/MENSAGENS/fox.mulder/Maildir

Onde /home/MENSAGENS é o diretório onde a caixa dos usuários será armazenada e /home/MENSAGENS/fox.mulder/Maildir é a caixa do usuário especificamente.

Editar o arquivo /etc/maildroprc para conter o seguinte:

# Global maildrop filter file

### Email do usuário
LOGNAME=tolower("$LOGNAME")

### Descomentar caso queira Logar
logfile "/var/log/maildrop.log"
log("HOME1: $HOME ... Logname: $LOGNAME")

### Separa o nome do usuário para criação do DIR
USER=`echo $LOGNAME | cut -d@ -f1`
log("USER1: $USER")

### Caminho completo de armazenamento das msgs
DEFAULT="$HOME/$USER/Maildir"
log("DEFAULT1: $DEFAULT")

### Maildir
MAILDIR="$HOME/$USER/Maildir/.Spam/"
log("MAILDIR1: $MAILDIR")

### Testa se DIR existe, caso não ele cria, seta permissões, etc
`test -d $DEFAULT`
if ( $RETURNCODE != 0 )
{
   `mkdir -m 700 -p $HOME/$USER`
   `chown maildrop:maildrop $HOME/$USER -R`
   `/usr/bin/maildirmake $DEFAULT`
   `/usr/bin/maildirmake -f Spam $DEFAULT`
}
### Enviar Spam para a pasta Spam do usuário
if (/^X-Spam-Status: Yes/)
{
to "$MAILDIR"
}

#### Descomentar caso queira logar
log("LOGR2: $RETURNCODE")
log("DEFAULT2: $DEFAULT")
log("USER2: $USER")
log("MAILDIR-4: $MAILDIR")

Obs.: O arquivo dessa forma criará diretórios dos usuários automaticamente assim que a primeira mensagem for enviada para ele.

# touch /var/log/maildrop.log
# chmod 666 /var/log/maildrop.log


Criar o arquivo /etc/rc.d/rc.spamd com o conteúdo:

#!/bin/sh

# Spamd init script for Slackware 12.1
# 07/28/2008

NAME=spamd
SNAME=rc.spamd
DESC="SpamAssassin Mail Filter Daemon"
PIDFILE="/var/run/$NAME.pid"
LOGFILE="/var/log/spamd.log"
PNAME="/usr/bin/spamd"
DOPTIONS="-d -s $LOGFILE --pidfile=$PIDFILE"

KILL="/bin/kill"
KILLALL="/bin/killall"

case "$1" in
  start)
        echo -n "Starting $DESC: "
        $PNAME $OPTIONS $DOPTIONS

        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        $KILL `cat $PIDFILE`
        /bin/rm -f $PIDFILE
        echo "$NAME."
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  *)
        ME=/etc/rc.d/$SNAME
        echo "Usage: $ME {start|stop|restart}" >&2
        exit 1
        ;;
esac

exit 0

# chmod 700 /etc/rc.d/rc.spamd

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalando a SASL Library (Cyrus)
   3. Postfix
   4. Criando o certificado TLS
   5. Courier-Authlib
   6. Courier-imap
   7. Maildrop
   8. Clamav e Clamav-Filter
   9. SpamAssassin - Primeira forma
   10. SpamAssassin - Segunda forma (via CPAN)
   11. Integração do Spamassassin e criação do maildir automaticamente
   12. Mailman
   13. Gnarwl - autoresposta
   14. main.cf do Postfix
   15. Mais alguns detalhes
   16. Webmail Squirrelmail
   17. Serviços para subir no boot e outros
   18. Isoqlog e autenticação Apache em base LDAP
   19. Mailgraph
   20. Referências úteis e de algumas implementações utilizadas
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Migrando entre clientes de correio eletrônico

Alta disponibilidade com Debian Lenny + Heartbeat + DRBD8 + OCFS2 + MONIT + LVS

Servidor de e-mail no Linux com MTA Sceo

Servidor de e-mails vinculado ao AD (Postfix + Courier)

Zimbra - Como rastrear um e-mail dentro do log

  
Comentários
[1] Comentário enviado por grandmaster em 12/08/2008 - 18:48h

Bem completo.

Gostei muito do artigo.

Pra ficar mais completo, apenas a checagem de SPF :D

---
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[2] Comentário enviado por fag_oliv em 16/08/2008 - 21:58h

Sou novato com servidores de e-mail, estou tentando aprender. Gostaria de um esclarecimento, tua solucao exige que eu tenha um servidor ldap configurado?


Obrigado,


[3] Comentário enviado por Felipe Domingos em 18/08/2008 - 07:51h

grandmaster,

É realmente faltou a parte de SPF, assim que tiver um tempinho coloco para funcionar e coloco posto tb ^^

fag_oliv,

Sim, a solução que implementei utiliza uma base ldap.

t+

[4] Comentário enviado por danielmb em 11/09/2008 - 22:28h

Muito bom esse artigo Felipe.
Eu gostaria de ter um exemplo da estrutura ldap utilizada.
Eu tenho tentando implementar aqui, e tenho enfretado algumas dificuldades em relação a consulta do usuário na base ldap.
Estou lendo muito e aprendendo ainda mais, e seu artigo contribui demais, caso possa me ajudar com alguma orientação ficarei grato.
abraços

[5] Comentário enviado por Felipe Domingos em 16/09/2008 - 08:46h

Obrigado danielmb, quanto a estrutura no ldap tenho os seguintes schemas dentro do slapd.conf :

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


Obs: o do samba está listado pq estou trabalhando na integração dele para utilização do mesmo usuário de email.
Obs2: muitos dos campos utilizados são baseados no qmailuser.schema.

Se tiver dificuldades, poste ou mande um email e tento ajudar.

T+

[6] Comentário enviado por c.rafael em 28/02/2009 - 00:39h

Olá , ..

Segui o seu tutorial para implementar um servidor de e-mail com ldap, porém não tive sucesso com o maildrop, ele não está gerando log e nem jogando os SPAM para a caixa dos SPAm de cada usuário.

Sabe o que pode ser?

[7] Comentário enviado por removido em 01/04/2009 - 14:28h

Artigo Matador!!!


Mas tenho uma dúvida.
Na aba 11, voce se refere a editar para...


mailMessageStore: /home/MENSAGENS
homeDirectory: /home/MENSAGENS/fox.mulder/Maildir


De que arquivo está falando que deve ser inseriadas essas linhas? É do ldap.conf ?

[8] Comentário enviado por Felipe Domingos em 01/04/2009 - 20:19h

Opa,

gilmar_moretto

Na verdade as duas linhas não se tratam de arquivo e sim de duas entradas do ldap, o usuário no ldap deve possuir esses dois campos.

Daqui alguns dias estarei implementando novamente a solução abordada nesse artigo e publico uma entrada completa de um usuário no ldap, isso deve ajudar a entender as partes relacionadas a campos do LDAP.

T+

[9] Comentário enviado por removido em 02/04/2009 - 14:19h

ha! É mesmo!
Nem me toquei que são entradas que devem ser incluídas nos arquivos ldif , o artigo fala de tantos confs diferentes que nem me toquei que mais cedo ou mais tarde deveria falar das entradas também.


Grato por tirar essa dúvida


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts