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.368 ]

Por: Felipe Domingos em 12/08/2008


SpamAssassin - Primeira forma



Instalação do SpamAssassin:

São necessários alguns módulos extras para o funcionamento do SpamAssassin.

Existem duas formas de se fazer isso, uma é a instalação de módulo a módulo, o grande problema disso é que diversos módulos tem pré-requisitos, fazendo a lista crescer ainda mais.

A segunda forma é através do CPAN, que facilita a instalação instalando os pré-requisitos para os módulos que deseja instalar.

Aqui coloco a primeira forma e na minha opinião a mais trabalhosa, mas para fins de conhecimento e talvez de resolução de problemas pela segunda forma aqui está:

Primeiro a instalação através dos módulos um a um, aconselho fazer o download de todos os listados e depois a instalação na ordem que se segue mais abaixo.

URL: http://search.cpan.org/

Através dela pode-se buscar os módulos necessários.

Download Digest::SHA1
URL: http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-2.11.tar.gz

Download HTML::Parser >= 3.43
URL: http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-3.56.tar.gz

Download Net::DNS
URL: http://search.cpan.org/CPAN/authors/id/O/OL/OLAF/Net-DNS-0.63.tar.gz

Download HTTP::Date
URL: http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.813.tar.gz

Download IO::Zlib
URL: http://search.cpan.org/CPAN/authors/id/T/TO/TOMHUGHES/IO-Zlib-1.09.tar.gz

Download Archive::Tar
URL: http://search.cpan.org/CPAN/authors/id/K/KA/KANE/Archive-Tar-1.38.tar.gz

Download MIME::Base64
URL: http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/MIME-Base64-3.07.tar.gz

Download DB_File
URL: http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/DB_File-1.817.tar.gz

Download Net::SMTP
URL: http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/libnet-1.22.tar.gz

Download Mail::SPF
URL: http://search.cpan.org/CPAN/authors/id/J/JM/JMEHNLE/mail-spf/Mail-SPF-v2.005.tar.gz

Download IP::Country::Fast
URL: http://search.cpan.org/CPAN/authors/id/N/NW/NWETTERS/IP-Country-2.25.tar.gz

Download Net::Ident
URL: http://search.cpan.org/CPAN/authors/id/J/JP/JPC/Net-Ident-1.20.tar.gz

Download IO::Socket::INET6
URL: http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/IO-Socket-INET6-2.54.tar.gz

Download IO::Socket::SSL
URL: http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-1.14.tar.gz

Download Compress::Zlib
URL: http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Zlib-2.012.tar.gz

Download Time::HiRes
URL: http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.9715.tar.gz

Download Mail::DKIM
URL: http://search.cpan.org/CPAN/authors/id/J/JA/JASLONG/Mail-DKIM-0.32.tar.gz

Download Mail::DomainKeys
URL: http://search.cpan.org/CPAN/authors/id/A/AN/ANTHONYU/Mail-DomainKeys-1.0.tar.gz

Download Encode::Detect
URL: http://search.cpan.org/CPAN/authors/id/J/JG/JGMYERS/Encode-Detect-1.01.tar.gz

Download IO-Compress-Zlib-2.012.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/IO-Compress-Zlib-2.012.tar.gz

Download HTML-Tagset-3.20.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz

Download IO-Compress-Base-2.012.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/IO-Compress-Base-2.012.tar.gz

Download Compress-Raw-Zlib-2.012.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.012.tar.gz

Download IO-Compress-Zlib-2.012.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/IO-Compress-Zlib-2.012.tar.gz

Download Module-Build-0.2808.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/Module-Build-0.2808.tar.gz

Download ExtUtils-CBuilder-0.23.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/ExtUtils-CBuilder-0.23.tar.gz

Download Digest-HMAC-1.01.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-HMAC-1.01.tar.gz

Download Net-IP-1.25.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/M/MA/MANU/Net-IP-1.25.tar.gz

Download SpamAssassin
URL: http://spamassassin.apache.org/
URL: http://search.cpan.org/CPAN/authors/id/J/JM/JMASON/Mail-SpamAssassin-3.2.5.tar.gz

Download Net-SSLeay-1.33_01.tar.gz
http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Net-SSLeay-1.33_01.tar.gz

Download Sub-Uplevel-0.1901.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.1901.tar.gz

Download Test-Exception-0.27.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/A/AD/ADIE/Test-Exception-0.27.tar.gz

Download Array-Compare-1.16.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/D/DA/DAVECROSS/Array-Compare-1.16.tar.gz

Download Test-Warn-0.11.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/Test-Warn-0.11.tar.gz

Download Tree-DAG_Node-1.06.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/C/CO/COGENT/Tree-DAG_Node-1.06.tar.gz

Download Test-1.25.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/S/SB/SBURKE/Test-1.25.tar.gz

Download Crypt-OpenSSL-Random-0.04.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/I/IR/IROBERTS/Crypt-OpenSSL-Random-0.04.tar.gz

Download Crypt-OpenSSL-RSA-0.25.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/I/IR/IROBERTS/Crypt-OpenSSL-RSA-0.25.tar.gz

Download MailTools-2.03.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MailTools-2.03.tar.gz

Download TimeDate-1.16.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/TimeDate-1.16.tar.gz

Download Pod-Escapes-1.04.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/S/SB/SBURKE/Pod-Escapes-1.04.tar.gz

Download Pod-Simple-3.07.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/A/AR/ARANDAL/Pod-Simple-3.07.tar.gz

Download Test-Pod-1.26.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/Test-Pod-1.26.tar.gz

Download Digest-SHA-5.47.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/M/MS/MSHELOR/Digest-SHA-5.47.tar.gz

Download Net-DNS-Resolver-Programmable-v0.003.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/J/JM/JMEHNLE/net-dns-resolver-programmable/Net-DNS-Resolver-Programmable-v0.003.tar.gz

Download NetAddr-IP-4.007.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/L/LU/LUISMUNOZ/NetAddr-IP-4.007.tar.gz

Download Net-LibIDN-0.10.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/T/TH/THOR/Net-LibIDN-0.10.tar.gz

Download Socket6-0.20.tar.gz
URL: http://search.cpan.org/CPAN/authors/id/U/UM/UMEMOTO/Socket6-0.20.tar.gz

Após feitos todos os Downloads, segue a instalação dos módulos.

Obs.: Atentar às mensagens dos comandos "perl Makefile.Pl" e "make test", pois muitas vezes trazem informações como falta de pré-requisitos entre outras coisas.

Para instalar via CPAN, pular esses passos.

tar xvzf IO-Compress-Base-2.012.tar.gz
$ cd IO-Compress-Base-2.012
$ perl Makefile.PL
$ make
$ make test
# make install


tar xvzf Compress-Raw-Zlib-2.012.tar.gz
$ cd Compress-Raw-Zlib-2.012
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf IO-Compress-Zlib-2.012.tar.gz
$ cd IO-Compress-Zlib-2.012
$ perl Makefile.PL
$ make
$ make test
# make install


tar xvzf Compress-Zlib-2.012.tar.gz
$ cd Compress-Zlib-2.012
$ perl Makefile.PL
$ make
# make install

$ tar xvzf Digest-SHA1-2.11.tar.gz
$ cd Digest-SHA1-2.11
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf HTML-Tagset-3.20.tar.gz
$ cd HTML-Tagset-3.20
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf HTML-Parser-3.56.tar.gz
$ cd HTML-Parser-3.56
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf IO-Zlib-1.09.tar.gz
$ cd IO-Zlib-1.09
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Time-HiRes-1.9715.tar.gz
$ cd Time-HiRes-1.9715
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Archive-Tar-1.38.tar.gz
$ cd Archive-Tar-1.38
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Module-Build-0.2808.tar.gz
$ cd Module-Build-0.2808
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf ExtUtils-CBuilder-0.23.tar.gz
$ cd ExtUtils-CBuilder-0.23
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Encode-Detect-1.01.tar.gz
$ cd Encode-Detect-1.01
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf DB_File-1.817.tar.gz
$ cd DB_File-1.817
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf libnet-1.22.tar.gz
$ cd libnet-1.22
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf MIME-Base64-3.07.tar.gz
$ cd MIME-Base64-3.07
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Digest-HMAC-1.01.tar.gz
$ cd Digest-HMAC-1.01
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Net-IP-1.25.tar.gz
$ cd Net-IP-1.25
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Net-DNS-0.63.tar.gz
$ cd Net-DNS-0.63
$ perl Makefile.PL
$ make
# make install

$ tar xvzf Net-Ident-1.20.tar.gz
$ cd Net-Ident-1.20
$ perl Makefile.PL
$ make
# make install

$ tar xvzf Socket6-0.20.tar.gz
$ cd Socket6-0.20
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf IO-Socket-INET6-2.54.tar.gz
$ cd IO-Socket-INET6-2.54
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Net-LibIDN-0.10.tar.gz
$ cd Net-LibIDN-0.10
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Array-Compare-1.16.tar.gz
$ cd Array-Compare-1.16
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Tree-DAG_Node-1.06.tar.gz
$ cd Tree-DAG_Node-1.06
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Sub-Uplevel-0.1901.tar.gz
$ cd Sub-Uplevel-0.1901
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Test-1.25.tar.gz
$ cd Test-1.25
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Test-Exception-0.27.tar.gz
$ cd Test-Exception-0.27
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Test-Warn-0.11.tar.gz
$ cd Test-Warn-0.11
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Net-SSLeay-1.33_01.tar.gz
$ cd Net-SSLeay-1.33_01
$ perl Makefile.PL
$ make
# make install

$ tar xvzf IO-Socket-SSL-1.14.tar.gz
$ cd IO-Socket-SSL-1.14
$ perl Makefile.PL
$ make
# make install

$ tar xvzf libwww-perl-5.813.tar.gz
$ cd libwww-perl-5.813
$ perl Makefile.PL
$ make
# make install

$ tar xvzf IP-Country-2.25.tar.gz
$ cd IP-Country-2.25
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Crypt-OpenSSL-Random-0.04.tar.gz
$ cd Crypt-OpenSSL-Random-0.04
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Crypt-OpenSSL-RSA-0.25.tar.gz
$ cd Crypt-OpenSSL-RSA-0.25
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf TimeDate-1.16.tar.gz
$ cd TimeDate-1.16
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Pod-Escapes-1.04.tar.gz
$ cd Pod-Escapes-1.04
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Pod-Simple-3.07.tar.gz
$ cd Pod-Simple-3.07
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Test-Pod-1.26.tar.gz
$ cd Test-Pod-1.26
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf MailTools-2.03.tar.gz
$ cd MailTools-2.03
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Mail-DomainKeys-1.0.tar.gz
$ cd Mail-DomainKeys-1.0
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Digest-SHA-5.47.tar.gz
$ cd Digest-SHA-5.47
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf Mail-DKIM-0.32.tar.gz
$ cd Mail-DKIM-0.32
$ perl Makefile.PL
$ make
# make install

$ tar xvzf Net-DNS-Resolver-Programmable-v0.003.tar.gz
$ cd Net-DNS-Resolver-Programmable-v0.003
$ perl Makefile.PL
$ make
$ make test
# make install

$ tar xvzf NetAddr-IP-4.007.tar.gz
$ cd NetAddr-IP-4.007
$ perl Makefile.PL
$ make
# make install

$ tar xvzf Mail-SPF-v2.005.tar.gz
$ cd Mail-SPF-v2.005
$ perl Makefile.PL
$ make
# make install

$ tar xvzf Mail-SpamAssassin-3.2.5.tar.gz
$ cd Mail-SpamAssassin-3.2.5
$ perl Makefile.PL
$ make
$ make test
# make install


Com isso já foi foi instalado o Spamassassin com grande parte de suas funções já habilitadas para uso.

É, ficou bem grande, e caso eu não tenha esquecido nenhum módulo, está tudo aí.

Mas como gostamos de facilidade, vamos para o meio mais fácil.

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

SlackwareBOX MTA

Solução corporativa Expresso Livre, substituto de peso do Notes

Os atuais MDAs e as linguagens de filtragem de e-mail (parte 1 - Procmail)

Zimbra 8.0 no CentOS 6.3

Qmail + Patches + Performance Tuning, the Debian AMD64 way

  
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