Eu prefiro usar o DSPAM sozinho (um pouco complicado de implementar, mas vale a pena), e eu vi um uso de recursos muito baixo (programado em C), e eu gosto da abordagem estatística em comparação com o tamanho único sistemas de filtragem como o spamassassin. O DSPAM possui suporte interno para o ClamAV.
Mas o uso adequado de restrições internas de postfix é realmente a melhor defesa de primeira linha.
Eu decidi pular greylisting (usado no postgrey no passado) porque requer que você mantenha uma lista branca de servidores com comportamento inadequado (ou confie em seu banco de dados). Por essa razão, também decidi contra reject_unknown_helo, porque requer que você mantenha uma lista de permissões de servidores que não façam as coisas do jeito que deveriam (de acordo com a RFC).
Se a lista de permissões manual flutuar seu barco, essas duas abordagens reduzirão drasticamente seu spam (capturam mais de 80% do spam com quase nenhum erro) antes mesmo de entrar em fila no servidor, o que é um grande benefício. A desvantagem é que você precisa prestar atenção nos seus logs e na lista de permissões de servidores mal comportados (mas legítimos) assim que os notar, ou seus usuários provavelmente irão reclamar.
Implementar o SMTP AUTH (na minha opinião mais facilmente usando o provedor de autenticação dovecot) ajuda a garantir que o envio seja tratado adequadamente (junto com uma lista / política estrita do smarthost (mynetworks)).
Minha sugestão ao configurar o postfix é ter um plano claro do que você deseja alcançar (descobrir se você deseja entrega local ou virtual, que tipo de sistema antivírus / spam e como fazer entrega + filtragem).
Comece com um arquivo main.cf vazio e use o postconf (configuração atual completa) / postconf -n (somente não padrões) / postconf -d (somente padrões) para construir sua configuração a partir do passo a passo padrão até que você tenha o que você quer. Muitas vezes, a distribuição vem com padrões que capturam a ideia dos distribuidores de um sistema de e-mail e nem sempre refletem suas opiniões, opiniões e políticas (elas podem ser diferentes). Lembre-se de fazer tudo isso em um sistema sem usuários, para que você possa experimentar em paz.
Consegui implementar tudo isso com pacotes pré-compilados no servidor Ubuntu 9.04 (até mesmo dspam), portanto, uma compilação extensa não deve ser necessária, apenas paciência durante a configuração.