Depois de termos configurado o Postfix pra funcionar para os usuários dentro da mesma rede do servidor (clique aqui para ver este tutorial), agora vamos aprender a configurar o servidor Postfix para que os usuários fora dessa rede possam se conectar por SMTP e autenticar-se para enviarem e-mails.
Para realizar este tutorial, vamos precisar instalar mais alguns pacotes, para isso digite:
# aptitude install postfix-tls libsasl2 libsasl2-modules libsasl2-modules-sql openssl
1º Passo: Fazendo o Postfix entender as conexões SMTP autenticadas
Fazendo o Postfix utilizar o SASL/MySQL
Crie o arquivo /etc/postfix/sasl/smtpd.conf com este conteúdo:
pwcheck_method: auxprop
auxprop_plugin: sql
mech_list: plain login cram-md5 digest-md5
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: postfix
sql_passwd: senha-que-especificou-para-o-usuario-postfix
sql_database: postfix
sql_select: select password from usuarios where email='%u@%r'
Agora vamos proteger o arquivo com o comando: chown root:postfix /etc/postfix/sasl/smtpd.conf e chmod u=rw,g=r,o= /etc/postfix/sasl/smtpd.conf
Caso venha a ter algum problema com o SASL, insira o comando log_level: 7 no arquivo que acabamos de criar, com isso, a saída de log terá mais detalhes, o que poderá lhe ajudar a resolver o problema.
Usando o TLS para encriptar o tráfego SMTP
Primeiramente vamos gerar nosso certificado SSL com validade de 10 anos com o comando abaixo:
openssl req -new -outform PEM -out /etc/postfix/smtpd.cert -newkey rsa:2048 \
-nodes -keyout /etc/postfix/smtpd.key -keyform PEM -days 3650 -x509
Você terá de responder algumas perguntas como estas a seguir:
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Seu Estado
Locality Name (eg, city) []:Sua Cidade
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Sua empresa
Organizational Unit Name (eg, section) []:(Tesouraria, por exemplo)
Common Name (eg, YOUR name) []:smtp.seudominio.com.br (exemplo)
Email Address []:postmaster@seudominio.com.br
Após preenchermos isso serão gerados dois arquivos: smtpd.key e smtpd.cert. Como em todos os arquivos de configuração, precisamos manter somente a chave protegida com o comando: chmod u=rw,g=r,o= /etc/postfix/smtpd.key e chown root:postfix /etc/postfix/smtpd.key
Com essa configuração, os usuários fora da rede do servidor ja podem se conectar, autenticar e enviar e-mails. No próximo tutorial estarei abordando como instalar um servidor pop3/imap e instalando um webmail. Até lá!