FSociety.pt

Infraestrutura Empresarial Segura | Four-Legged Firewall

View on GitHub

🌐 Registos DNS

Configuração completa dos registos DNS necessários para funcionamento do email


📋 Índice

  1. Registos Essenciais
  2. Registo A
  3. Registo MX
  4. Registo PTR (Reverse DNS)
  5. SPF
  6. DKIM
  7. DMARC
  8. Autodiscover e Autoconfig
  9. Verificação

✅ Registos Essenciais

Todos os registos DNS do domínio fsociety.pt estão configurados no Cloudflare.

Resumo dos Registos Necessários

Tipo Nome Valor TTL Prioridade
A mail 188.81.65.191 Auto -
MX @ mail.fsociety.pt Auto 10
TXT @ SPF record Auto -
TXT dkim._domainkey DKIM key Auto -
TXT _dmarc DMARC policy Auto -
CNAME autodiscover mail.fsociety.pt Auto -
CNAME autoconfig mail.fsociety.pt Auto -

🎯 Registo A

O registo A mapeia o hostname do servidor de email para o IP público.

Configuração no Cloudflare

Type: A
Name: mail
IPv4 address: 188.81.65.191
Proxy status: DNS only (cinzento, não orange)
TTL: Auto

⚠️ IMPORTANTE: Cloudflare proxy (cloud laranja) deve estar DESATIVADO para o registo mail. Email não funciona através do proxy Cloudflare.

Verificar

# Deve retornar 188.81.65.191
nslookup mail.fsociety.pt

# Ou
dig mail.fsociety.pt A +short

Resultado esperado:

188.81.65.191

📬 Registo MX

O registo MX indica qual servidor recebe emails para o domínio.

Configuração no Cloudflare

Type: MX
Name: @ (ou fsociety.pt)
Mail server: mail.fsociety.pt
Priority: 10
TTL: Auto

Múltiplos Servidores MX (Opcional)

Para redundância, pode adicionar servidor backup:

Priority 10: mail.fsociety.pt (principal)
Priority 20: mail2.fsociety.pt (backup)

Verificar

# Deve retornar mail.fsociety.pt com prioridade 10
nslookup -type=MX fsociety.pt

# Ou
dig fsociety.pt MX +short

Resultado esperado:

10 mail.fsociety.pt.

🔄 Registo PTR (Reverse DNS)

O PTR mapeia o IP público de volta para o hostname (reverse lookup).

Importância

Configuração

⚠️ PTR é configurado pelo ISP/Provider, não pelo cliente.

Para FSociety (Proxmox/OVH/etc):

Contactar o provider e solicitar:

188.81.65.191 → mail.fsociety.pt

Verificar

# Deve retornar mail.fsociety.pt
nslookup 188.81.65.191

# Ou
dig -x 188.81.65.191 +short

# Ou
host 188.81.65.191

Resultado esperado:

191.65.81.188.in-addr.arpa name = mail.fsociety.pt.

🛡️ SPF (Sender Policy Framework)

SPF define quais servidores podem enviar emails pelo domínio.

Configuração no Cloudflare

Type: TXT
Name: @ (ou fsociety.pt)
Content: v=spf1 include:spf.smtp2go.com -all
TTL: Auto

Nota: O SPF inclui spf.smtp2go.com porque todos os emails são enviados através do relay smtp2go, não diretamente pelo servidor Mailcow.

Explicação da Sintaxe

v=spf1                         → Versão SPF 1
include:spf.smtp2go.com        → Incluir registos SPF do smtp2go
-all                           → Hard fail (rejeita tudo que não seja autorizado)

Variações Comuns

v=spf1 include:spf.smtp2go.com -all   → Com relay smtp2go (recomendado)
v=spf1 mx ~all                         → Apenas MX
v=spf1 mx a ~all                       → MX + registo A
v=spf1 mx ip4:188.81.65.191 ~all       → MX + IP específico
v=spf1 mx -all                         → Hard fail (rejeita tudo que não seja MX)

Verificar

# Ver registo SPF
nslookup -type=TXT fsociety.pt

# Ou
dig fsociety.pt TXT +short | grep spf

Resultado esperado:

"v=spf1 include:spf.smtp2go.com -all"

Testar SPF

Online: https://mxtoolbox.com/spf.aspx


🔑 DKIM (DomainKeys Identified Mail)

DKIM assina emails criptograficamente, provando autenticidade.

Obter Chave DKIM do Mailcow

# Ver chave pública DKIM
sudo cat /opt/mailcow-dockerized/data/dkim/fsociety.pt.dkim

Saída exemplo:

dkim._domainkey.fsociety.pt. IN TXT "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqwertyuiopasdfghjklzxcvbnm..."

Configuração no Cloudflare

Type: TXT
Name: dkim._domainkey
Content: v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhki...
TTL: Auto

⚠️ NOTA: Copiar apenas a parte depois de "p=" (a chave pública). Se o valor for muito grande, pode ser necessário dividir em múltiplos TXT records ou usar formato alternativo.

Formato Alternativo (Se Muito Grande)

Cloudflare suporta TXT records até 255 caracteres por string. Para chaves maiores:

Type: TXT
Name: dkim._domainkey
Content: "v=DKIM1;k=rsa;t=s;s=email;""p=MIIBIjANBgkq...primeira_parte" "...segunda_parte...resto_da_chave"

Verificar

# Ver DKIM public key
nslookup -type=TXT dkim._domainkey.fsociety.pt

# Ou
dig dkim._domainkey.fsociety.pt TXT +short

Testar DKIM

  1. Enviar email de ryan.barbosa@fsociety.pt para check-auth@verifier.port25.com
  2. Receberá resposta com análise completa de SPF/DKIM/DMARC

📊 DMARC (Domain-based Message Authentication)

DMARC define política de tratamento de emails que falham SPF/DKIM.

Configuração no Cloudflare

Type: TXT
Name: _dmarc
Content: v=DMARC1; p=quarantine; rua=mailto:postmaster@fsociety.pt; ruf=mailto:postmaster@fsociety.pt; fo=1; adkim=r; aspf=r; pct=100; ri=86400
TTL: Auto

Explicação da Sintaxe

v=DMARC1                                 → Versão DMARC
p=quarantine                             → Política: quarentena (none/quarantine/reject)
rua=mailto:postmaster@fsociety.pt        → Relatórios agregados (daily)
ruf=mailto:postmaster@fsociety.pt        → Relatórios forenses (por falha)
fo=1                                     → Gerar relatório se SPF ou DKIM falhar
adkim=r                                  → DKIM alignment relaxed
aspf=r                                   → SPF alignment relaxed
pct=100                                  → Aplicar a 100% dos emails
ri=86400                                 → Intervalo de relatórios (24h)

Políticas DMARC

Política Ação Recomendação
none Monitorizar, não rejeitar Fase inicial/teste
quarantine Marcar como spam Produção (recomendado)
reject Rejeitar totalmente Máxima segurança

Evolução Recomendada

Semana 1-2:  v=DMARC1; p=none; rua=mailto:postmaster@fsociety.pt
Semana 3-4:  v=DMARC1; p=quarantine; pct=10; rua=mailto:postmaster@fsociety.pt
Mês 2+:      v=DMARC1; p=quarantine; pct=100; rua=mailto:postmaster@fsociety.pt
Produção:    v=DMARC1; p=reject; rua=mailto:postmaster@fsociety.pt

Verificar

# Ver registo DMARC
nslookup -type=TXT _dmarc.fsociety.pt

# Ou
dig _dmarc.fsociety.pt TXT +short

Resultado esperado:

"v=DMARC1; p=quarantine; rua=mailto:postmaster@fsociety.pt; ..."

🔧 Autodiscover e Autoconfig

Permitem configuração automática de clientes de email.

Autodiscover (Outlook/Exchange)

Type: CNAME
Name: autodiscover
Target: mail.fsociety.pt
TTL: Auto

Autoconfig (Thunderbird/Mozilla)

Type: CNAME
Name: autoconfig
Target: mail.fsociety.pt
TTL: Auto

Verificar

# Teste autodiscover
curl https://autodiscover.fsociety.pt/autodiscover/autodiscover.xml

# Teste autoconfig
curl https://autoconfig.fsociety.pt/.well-known/autoconfig/mail/config-v1.1.xml

✅ Verificação

Checklist Completa

# 1. Registo A
dig mail.fsociety.pt A +short
# Esperado: 188.81.65.191

# 2. Registo MX
dig fsociety.pt MX +short
# Esperado: 10 mail.fsociety.pt.

# 3. Registo PTR
dig -x 188.81.65.191 +short
# Esperado: mail.fsociety.pt.

# 4. SPF
dig fsociety.pt TXT +short | grep spf
# Esperado: "v=spf1 include:spf.smtp2go.com -all"

# 5. DKIM
dig dkim._domainkey.fsociety.pt TXT +short
# Esperado: "v=DKIM1;k=rsa;..."

# 6. DMARC
dig _dmarc.fsociety.pt TXT +short
# Esperado: "v=DMARC1; p=quarantine; ..."

Ferramentas Online

Ferramenta URL Função
MXToolbox https://mxtoolbox.com Teste completo de DNS/Email
DKIM Validator https://dkimvalidator.com Verificar DKIM signature
Mail-tester https://mail-tester.com Score de deliverability
Google Admin Toolbox https://toolbox.googleapps.com/apps/checkmx/ Check MX records
DMARC Analyzer https://dmarcian.com/dmarc-inspector/ Verificar DMARC

Teste Completo

  1. Enviar email de teste:
    De: ryan.barbosa@fsociety.pt
    Para: check-auth@verifier.port25.com
    
  2. Receber análise completa:
    • SPF: pass/fail
    • DKIM: pass/fail
    • DMARC: pass/fail
    • SpamAssassin score
  3. Enviar para mail-tester.com:
    • Obter score /10
    • Ver recomendações

📊 Estado Atual FSociety

Registo Status Valor
A (mail) ✅ Configurado 188.81.65.191
MX ✅ Configurado mail.fsociety.pt (10)
PTR ⚠️ A verificar (solicitar ao ISP)
SPF ✅ Configurado v=spf1 include:spf.smtp2go.com -all
DKIM ✅ Configurado dkim._domainkey
DMARC ✅ Configurado p=quarantine
Autodiscover ✅ Configurado CNAME → mail
Autoconfig ✅ Configurado CNAME → mail

🎓 Informação Académica

Campo Informação
Instituição ESTG - Instituto Politécnico do Porto
Unidade Curricular Administração de Sistemas II
Ano Letivo 2025/2026
Autores Ryan Barbosa, Hugo Correia, Igor Araújo

**[⬅️ Anterior: Webmail](/fsociety-infrastructure/08-mailcow/06-webmail.html)** | **[Índice](/fsociety-infrastructure/08-mailcow/)** | **[Próximo: Backup ➡️](/fsociety-infrastructure/08-mailcow/08-backup.html)**

Última atualização: Dezembro 2025