Instalação de Um Servidor de E-Mail com Postfix + SASL + Greylist + SPF + Amavis + Clamav no Slackware 12.0

A instalação e configuração de um servidor de e-mail seguro e eficiente é uma tarefa essencial para qualquer administrador de sistemas. Neste tutorial, vamos abordar o processo de instalação do Postfix com suporte a SASL, Greylist, SPF, Amavis e ClamAV em uma máquina rodando Slackware 12.0. Esse guia é útil para aqueles que buscam implementar um servidor de e-mail robusto, com recursos avançados de autenticação e segurança.

Passo 1: Baixando e Compilando o Postfix

O primeiro passo é fazer o download do código-fonte do Postfix no site oficial Postfix. Após o download, se você já compilou o Postfix anteriormente, é importante limpar o ambiente de compilação usando o comando:

$ make tidy

Agora, vamos preparar o arquivo Makefile para a compilação, levando em consideração a versão do Cyrus-SASL instalada no sistema.

Compilando o Cyrus-SASL

Caso não tenha o Cyrus-SASL instalado, você pode baixá-lo do repositório oficial Cyrus SASL. Após o download, compile-o com os seguintes comandos:

$ ./configure --prefix=/usr --enable-plain --enable-login
$ make
$ make install

Em seguida, inicie o daemon do SASL para autenticação:

$ /usr/sbin/saslauthd -a shadow

Preparando o Postfix para Compilação

Para compilar o Postfix com suporte ao Cyrus-SASL e MySQL, execute o seguinte comando para criar o Makefile:

$ make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -I/usr/include/db4/' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lsasl2 -R/usr/lib/ -L/usr/lib/ -ldb4'

Agora, compile o Postfix com o comando:

$ make

Passo 2: Criando Usuários e Grupos

Antes de prosseguir com a instalação, crie os usuários e grupos necessários para o Postfix. Esses usuários e grupos serão usados para gerenciar os processos do Postfix e garantir a segurança do sistema.

$ groupadd -g 302 postfix
$ useradd -u 302 -g postfix -d /var/spool/postfix -s /bin/false postfix
$ groupadd -g 303 postdrop

Passo 3: Desativando o Sendmail

Caso o Sendmail esteja instalado no servidor, é importante desativá-lo para evitar conflitos. Se você estiver configurando um servidor em produção, faça isso apenas após instalar e configurar todos os softwares necessários.

Parando o Daemon do Sendmail

$ /etc/rc.d/rc.sendmail stop

Movendo os Arquivos do Sendmail

$ mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF
$ mv /usr/bin/newaliases /usr/bin/newaliases.OFF
$ mv /usr/bin/mailq /usr/bin/mailq.OFF

Passo 4: Instalando o Postfix

Agora que o ambiente está preparado, podemos instalar o Postfix. Para uma nova instalação, execute:

$ make install

Se estiver atualizando uma versão anterior do Postfix, use:

$ make upgrade

Se você deseja manter o Sendmail rodando enquanto termina a instalação do Postfix, faça:

$ mv /usr/sbin/sendmail /usr/sbin/sendmail.postfix
$ mv /usr/sbin/sendmail.OFF /usr/sbin/sendmail
$ /etc/rc.d/rc.sendmail start

Passo 5: Configurando o Postfix

A configuração do Postfix é uma etapa crucial. O arquivo principal de configuração é o main.cf, onde você define várias opções, como o nome do host, domínio, redes confiáveis, entre outras.

Configurando o main.cf

Edite o arquivo main.cf conforme as necessidades do seu servidor:

myhostname = nome_do_servidor.seudominio
mydomain = seudominio
myorigin = $mydomain
inet_interfaces = all
mydestination = $mydomain, $myhostname, localhost, localhost.$mydomain
mynetworks_style = subnet
mynetworks = suas redes e a rede de loopback (192.168.0.0/24, 127.0.0.0/8)
relay_domains = $myhostname, $mydomain, $mynetworks
alias_database = hash:/etc/aliases
# PARA BLOQUEAR ARQUIVOS POR EXTENSÃO
body_checks = regexp:/etc/postfix/body_checks
# QUEUE
bounce_queue_lifetime = 2d
maximal_queue_lifetime = 5d
# TAMANHO DA MENSAGEM E CAIXA POSTAL
mailbox_size_limit = 5120000000
message_size_limit = 1024000000
# ENTREGAR MENSAGENS NA CAIXA POSTAL
best_mx_transport = local
# PASSAR ANTIVIRUS
content_filter = vscan:
soft_bounce = yes
# PARA ACEITAR MENSAGENS 8BIT
disable_mime_output_conversion = yes
disable_mime_input_processing = yes
# SASL
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
broken_sasl_auth_clients = yes
smtpd_sasl_application_name = smtpd
# POLÍTICA DE EMAILS DO SMTP
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_helo_access hash:/etc/postfix/helo_access,
reject_non_fqdn_hostname,
reject_invalid_hostname,
permit
smtpd_sender_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
permit
smtpd_recipient_restrictions =
reject_unauth_pipelining,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_sender_access hash:/etc/postfix/sender_access,
check_recipient_access hash:/etc/postfix/recipient_access,
check_helo_access hash:/etc/postfix/secondary_mx_access,
check_client_access hash:/etc/postfix/rbl-whitelist,
reject_rbl_client relays.ordb.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl-xbl.spamhaus.org,
check_policy_service unix:private/policy
check_policy_service inet:127.0.0.1:10023
permit

Configurando o body_checks

Esse arquivo permite que você bloqueie anexos de e-mail com determinadas extensões. Por exemplo, para bloquear arquivos .exe:

/^(.*)name(.*)=(.*)\.(exe)(.*)$/ REJECT Não aceitamos arquivos .exe anexados ao e-mail

Passo 6: Instalando Softwares Adicionais

O Postgrey é uma implementação de Greylisting para Postfix. Baixe-o em Postgrey. Ele requer alguns módulos Perl e a biblioteca BerkeleyDB. Instale os módulos Perl necessários via CPAN:

$ cpan
install Net::Server
install IO::Multiplex
install BerkeleyDB

Instalando o ClamAV

O ClamAV é um antivírus que será integrado ao Postfix para escanear e-mails. Faça o download em ClamAV, compile e instale:

$ cd /usr/local/src
$ tar zxf /root/clamav-version.tar.gz
$ cd clamav-version
$ ./configure
$ make
$ make install

Passo 7: Iniciando o Postfix

Se estava utilizando o Sendmail, pare-o definitivamente:

$ /etc/rc.d/rc.sendmail stop
$ mv /usr/sbin/sendmail /usr/sbin/sendmail.OFD
$ mv /usr/sbin/sendmail.postfix /usr/sbin/sendmail

Após configurar todos os componentes, você pode iniciar o Postfix:

postfix start

Conclusão

Instalar e configurar o Postfix com suporte a SASL, Greylist, SPF, Amavis e ClamAV no Slackware 12.0 é um processo detalhado, mas essencial para garantir um servidor de e-mail seguro e eficiente. Cada etapa, desde a compilação do Postfix até a instalação dos módulos de segurança, contribui para a construção de um sistema robusto. Para mais detalhes sobre as configurações e opções do Postfix, consulte a documentação oficial.

Se você tiver mais perguntas sobre postfix, sinta-se à vontade para entrar em contato.

Rolar para cima