Mudanças entre as edições de "IRedMail no Ubuntu 20.04"

De MochilaWiki
Ir para navegaçãoIr para pesquisar
 
(4 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 8: Linha 8:
 
em /etc/hosts  
 
em /etc/hosts  
 
  127.0.1.1      mail.seudominio.com.br mail
 
  127.0.1.1      mail.seudominio.com.br mail
  178.238.225.60 mail.seudominio.com.br mail
+
  178.178.178.178 mail.seudominio.com.br mail
  
 
== Instalando iRedMail ==
 
== Instalando iRedMail ==
Linha 20: Linha 20:
  
 
== Instalando e configurando Let's Encrypt ==
 
== Instalando e configurando Let's Encrypt ==
 +
 +
Instalando o Certbot
 
<source lang="bash>
 
<source lang="bash>
 
sudo apt install certbot
 
sudo apt install certbot
 
</source>
 
</source>
  
 +
Gerando o certificado
 
<source lang="bash>
 
<source lang="bash>
 
DOMAIN="mail.seudominio.com.br"
 
DOMAIN="mail.seudominio.com.br"
Linha 104: Linha 107:
  
 
* https://www.mail-tester.com/
 
* https://www.mail-tester.com/
 +
 +
== gestão de whitelist ==
 +
 +
Para casos que aparece "Recipient address rejected: Intentional policy rejection, please try again later" no log
 +
 +
Instalar dependências
 +
<source lang="bash">
 +
apt install python-sqlalchemy python-ipaddress
 +
</source>
 +
 +
Entre no diretórios de ferramentas do iredapd
 +
<source lang="bash">
 +
cd /opt/iredapd/tools/
 +
</source>
 +
 +
Adicionando o domínio da locaweb
 +
<source lang="bash">
 +
python spf_to_greylist_whitelists.py --submit locaweb.com.br
 +
</source>
 +
 +
Verificado dominios cadastrados
 +
<source lang="bash">
 +
python greylisting_admin.py --list-whitelist-domains
 +
</source>
 +
 +
== Criando alias ==
 +
 +
<source lang="sql">
 +
INSERT INTO forwardings (address,
 +
                        forwarding,
 +
                        domain,
 +
                        dest_domain,
 +
                        is_forwarding,
 +
                        active)
 +
                VALUES ('email-nativo@teste.org',
 +
                        'e-mail-alias@teste.org',
 +
                        'teste.org',
 +
                        'teste.org',
 +
                        1,
 +
                        1);
 +
</source>
 +
 +
* https://github.com/drlogout/iredmail-cli
 +
* https://docs.iredmail.org/sql.user.mail.forwarding.html
 +
* https://www.bentasker.co.uk/documentation/linux/458-installing-iredmail-on-debian-jessie-8
 +
* https://github.com/rvojcik/iredmail-cli
 +
* https://vojcik.net/command-line-tool-for-iredmail-mysql-backend-only/
  
 
== Referências ==
 
== Referências ==

Edição atual tal como às 14h05min de 22 de novembro de 2020

Ajustes iniciais

ajustando hostname

echo mail > /etc/hostname
hostname -F /etc/hostname

em /etc/hosts

127.0.1.1       mail.seudominio.com.br mail
178.178.178.178 mail.seudominio.com.br mail

Instalando iRedMail

cd /usr/src/
wget https://github.com/iredmail/iRedMail/releases/download/1.3.1/iRedMail-1.3.1.tar.gz
tar zxvf iRedMail-1.3.1.tar.gz
cd iRedMail-1.3.1/
bash iRedMail.sh

Instalando e configurando Let's Encrypt

Instalando o Certbot

sudo apt install certbot

Gerando o certificado

DOMAIN="mail.seudominio.com.br"
EMAIL="webmaster@seudominio.com.br"
certbot certonly --standalone -d $DOMAIN --preferred-challenges http --agree-tos -n -m $EMAIL --keep-until-expiring

Ajuste simplificado

sudo mv /etc/pki/tls/certs/iRedMail.crt{,.bak}
sudo mv /etc/pki/tls/private/iRedMail.key{,.bak}
sudo ln -sf /etc/letsencrypt/live/mail.seudominio.com.br/fullchain.pem /etc/pki/tls/certs/iRedMail.crt
sudo ln -sf /etc/letsencrypt/live/mail.seudominio.com.br/privkey.pem /etc/pki/tls/private/iRedMail.key

Ajuste detalhado

No Nginx edite o arquivo /etc/nginx/templates/ssl.tmpl

de

ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;

para

ssl_certificate /etc/letsencrypt/live/mail.seudominio.com.br/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.seudominio.com.br/privkey.pem;

Reiniciar o Nginx

sudo systemctl reload nginx

No Postfix edite o arquivo /etc/postfix/main.cf

de

smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt

para

smtpd_tls_key_file = /etc/letsencrypt/live/mail.seudominio.com.br/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.seudominio.com.br/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.seudominio.com.br/chain.pem

reiniciar o Postfix

sudo systemctl reload postfix

no Dovecot edite o arquivo /etc/dovecot/dovecot.conf

de

ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key

para

ssl_cert = </etc/letsencrypt/live/mail.seudominio.com.br/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.seudominio.com.br/privkey.pem
sudo systemctl reload dovecot

DKIM

As informações do DKIM foram enviadas para o e-mail postmaster@seudominio.com.br, mas pode ser recuperado com o comando

sudo amavisd-new showkeys

Depois remova as quebras de linhas e aspas e crie uma nova entrada TXT no DNS nome dkim._domainkey. e as informações da orientação anterior em valor/registro.

DMARC Record

Crie uma nova entrada TXT no DNS com o nome _dmarc e insira o valor/registro

v=DMARC1; adkim=s; aspf=s; p=reject; sp=none; rua=mailto:dmarc@seudominio.com.br; ruf=mailto:dmarc@seudominio.com.br

Testando

gestão de whitelist

Para casos que aparece "Recipient address rejected: Intentional policy rejection, please try again later" no log

Instalar dependências

apt install python-sqlalchemy python-ipaddress

Entre no diretórios de ferramentas do iredapd

cd /opt/iredapd/tools/

Adicionando o domínio da locaweb

python spf_to_greylist_whitelists.py --submit locaweb.com.br

Verificado dominios cadastrados

python greylisting_admin.py --list-whitelist-domains

Criando alias

INSERT INTO forwardings (address,
                         forwarding,
                         domain,
                         dest_domain,
                         is_forwarding,
                         active)
                 VALUES ('email-nativo@teste.org',
                         'e-mail-alias@teste.org',
                         'teste.org',
                         'teste.org',
                         1,
                         1);

Referências