Instale, Secure, Access e Configure Linux Mail Server (Postfix)

posted in: Articles | 0

Se quiser enviar ou receber um e-mail, deverá ter um servidor de E-mail. Neste post, vamos discutir o Linux mail server e como o SMTP (Simple Mail Transfer Protocol) funciona, bem como outros protocolos relacionados ao correio, como o Post Office Protocol (POP) e Internet Message Access Protocol (IMAP) e a relação entre eles.,

Índice

Linux servidor SMTP

SMTP define como enviar mensagens de um host para outro; é também independente do sistema, o que significa que o remetente e o receptor pode ter diferentes sistemas operacionais.

SMTP requer apenas que um servidor possa enviar texto ASCII direto para outro servidor, você pode fazer isso conectando-se ao servidor na porta 25, que é a porta padrão SMTP.

A Maioria Dos distros Linux hoje vêm com duas das implementações mais comuns do SMTP, que são sendmail e Postfix.,

Sendmail é um famoso e gratuito servidor de correio, mas tem um pouco de design complexo e menos seguro.

o Postfix levou a implementação do servidor de E-mail um passo à frente; eles o desenvolveram com segurança em mente.

componentes do serviço de correio

o serviço de correio em qualquer servidor de correio tem três componentes:

agente do utilizador de correio (MUA): este componente que o utilizador vê e interage com o Thunderbird e o Microsoft Outlook, estes agentes do utilizador são responsáveis pela leitura do correio e permitem-lhe compor o correio.,

agente de transporte de correio (MTA): este componente é responsável por obter o correio de um site para outro, como o Sendmail e o Postfix.

agente de distribuição de correio (MDA): este componente é responsável pela distribuição das mensagens recebidas na máquina local para a caixa de correio do utilizador apropriada, como o postfix-maildrop e o Procmail.

configurar o servidor de E-mail

nós escolhemos o servidor de correio Postfix, que é muito popular e comum entre os administradores de Sistema hoje.

Postfix é o servidor de E-mail padrão na maioria dos modernos distros Linux.,

Primeiro, verifique se ele está instalado no seu sistema ou não:

$ rpm -qa | grep postfix

Se não estiver instalado, você pode instalar o servidor de email Postfix no Red Hat com base distros como este:

$ dnf -y install postfix

em Seguida, inicie o serviço do postfix e ativar na inicialização do sistema:

$ systemctl start postfix$ systemctl enable postfix

No Debian baseado em distribuições como o Ubuntu, você pode instalar-lo assim:

$ apt-get -y install postfix

Ele vai pedir que você selecione o tipo de configuração do servidor de email Postfix durante o processo de instalação.,

entre as Quatro opções nenhuma configuração, site de Internet, Internet com smarthost, sistema de satélite, e apenas Local, vamos escolher nenhuma opção de configuração.

configurar o servidor de correio Linux

Depois de instalar o servidor de correio Postfix, terá de o configurar; poderá encontrar a maioria dos seus ficheiros de configuração sob a pasta /etc/postfix/.

pode encontrar a configuração principal do servidor de correio Postfix no ficheiro/etc/postfix / main.cf.,

este ficheiro contém várias opções como:

myhostname

pode usar esta opção para indicar o nome da máquina do servidor de correio. Este é o hostname da Internet, que o Postfix receberá e-mails nele.

Os nomes de host pode ser como mail.example.com, smtp.example.com.

myhostname = mail.example.com

meu

Esta opção é o domínio de correio que você vai ser a manutenção, como example.com

A sintaxe é assim:

mydomain = example.com

myorigin

Todos os emails enviados a partir deste servidor de correio irá procurar como se ele veio esta opção., Pode atribuir este valor a $ mydomain.

myorigin = $mydomain

pode usar qualquer valor de opção, precedendo-o apenas com um $ like $mydomain.

mydestination

Esta opção lista os domínios que o servidor Postfix usa para os e-mails recebidos.

pode assumir valores como este:

mydestination = $myhostname, localhost.$mydomain, $mydomain, mail.$mydomain, www.$mydomain

mail_spool_directory

Existem dois modos de entrega que o servidor de email Postfix pode usar:

  • Diretamente para a caixa de correio do usuário.
  • Para uma pasta central de spool, desta forma, o correio será em /var/spool/mail com um ficheiro para cada utilizador.,
mail_spool_directory = /var/spool/mail

mynetworks

Esta opção permite-lhe configurar os servidores que podem transmitir através do seu servidor Postfix.

Esta opção deverá usar os endereços locais, como os programas de E-mail locais, apenas no seu servidor.

Caso contrário, os spammers podem utilizar o seu servidor de E-mail para transmitir as suas mensagens e o seu servidor de E-mail na lista negra e, como resultado, você não será capaz de receber muitos e-mails.,

Esta opção tem a seguinte sintaxe:

mynetworks = 127.0.0.0/8, 192.168.1.0/24

smtpd_banner

Esta variável define a mensagem que o servidor irá enviar quando o cliente tiver uma ligação bem sucedida.

é melhor mudar o banner para algo que não dá nenhuma pista do servidor que você está usando.

inet_protocols

Esta opção indica a versão do protocolo IP usada para ligações ao servidor.,

inet_protocols = ipv4

Se você alterar os arquivos de configuração para o servidor de email Postfix, você precisa recarregar o serviço:

$ systemctl reload postfix

Quando você digitar qualquer configuração, você pode cometer um erro, você pode verificar se há erros usando o seguinte comando:

$ postfix check

Esta ferramenta vai ajudar você a encontrar exatamente a linha e o erro, de modo que você pode corrigi-lo.

verificando a fila de correio

às vezes as filas de correio são preenchidas com mensagens. Isso acontece devido a muitas razões, como falha de rede ou qualquer razão que pode atrasar a entrega de correio.,

para verificar a fila de correio no seu servidor de correio Linux, use o seguinte comando:

$ mailq

Este comando mostra a fila de correio Postfix.

Se a sua fila for preenchida e a mensagem demorar várias horas a processar, então você deve limpar a fila de correio.

$ postfix flush

Agora, se verificar a sua fila de correio, deverá encontrá-la vazia.

testar o servidor de correio Linux

Depois de configurar correctamente o servidor de correio Postfix, deverá testar o seu servidor de correio.,

o primeiro passo é usar um agente de E-mail local como mailx ou mail, que é uma ligação simbólica para mailx.

tente enviar um e-mail para outra pessoa no mesmo servidor, se isso funcionar, em seguida, enviar para um site remoto.

depois tente receber um e-mail de um site remoto.se tiver algum problema, verifique os registos. O arquivo de log no Red Hat baseado distros no arquivo/var/log /mailllog e no Debian baseado distros in/var/log / mail.ficheiro de registo ou como definido na configuração do rsyslogd.,

eu recomendo que você reveja o servidor Linux Syslog para uma explicação detalhada sobre logs e como configurar o rsyslogd.

Se ainda tiver problemas, tente verificar a configuração do seu DNS e verifique os seus registos MX usando comandos de rede Linux.

as caixas de correio seguras do spam usando o Spamassassassin

uma das formas de combater o spam é digitalizar as caixas de correio por alguma ferramenta, procurando por certos padrões associados ao spam.

uma das melhores soluções é SpamAssassin, que é de código aberto.,

Você pode instalar-lo assim:

$ dnf -y install spamassassin

em Seguida, inicie o serviço e ativar na inicialização:

$ systemctl start spamassassin$ systemctl enable spamassassin

Depois de instalado, você pode verificar a configuração

/etc/mail/spamassassin/local.cf

arquivo.

SpamAssassin determina se um e-mail é spam ou não baseado no resultado dos diferentes scripts.

Se a mensagem tem uma pontuação mais elevada, isso significa uma maior possibilidade do correio ser spam.,

no ficheiro de configuração, o parâmetro requird_hits 5 indica que o Spamassassassin irá marcar um e-mail como spam se a sua pontuação for cinco ou mais.

a opção report_safe toma os valores 0, 1 ou 2. Se definido para 0, significa que o email marcado como spam é enviado como é, apenas modificando os cabeçalhos para mostrar que é spam.

Se tomar o valor 1 ou 2, SpamAssassin gera uma nova mensagem de relatório, e envia a mensagem para o destinatário.,

o valor 1 significa que a mensagem de spam é codificada como mensagem de conteúdo/rfc822, enquanto que se o valor for 2, isso significa que a mensagem é codificada como texto/conteúdo simples.

o texto / simples é mais seguro, uma vez que alguns clientes de E-mail executam mensagem/rfc822 e podem infectar o computador do cliente.agora precisamos integrá-lo no Postfix. A maneira mais simples de fazer isso é provavelmente usando procmail.

vamos criar um arquivo chamado

/etc/procmailrc

, e adicione o seguinte conteúdo:

:0 hbfw| /usr/bin/spamc

Então, vamos editar o Postfix arquivo de configuração /etc/postfix/principal.,cf e mudanças

mailbox_command
mailbox_command = /usr/bin/procmail

por fim, reinicie o Postfix e o SpamAssassin serviços:

$ systemctl restart postfix$ systemctl restart spamassassin

no Entanto, SpamAssassin, às vezes, não reconhecem as mensagens de spam que levaram a caixas de correio, cheios de mensagens de spam.

felizmente, você pode filtrar as mensagens antes que elas entrem no servidor Postfix usando listas Blackhole (RBLs) em tempo real. Isso irá diminuir a carga no seu servidor de E-mail e manter o seu servidor de E-mail limpo.

abra o ficheiro de configuração do servidor Postfix / etc/postfix / main.,cf e alterar smtpd_recipient_restrictions opção e adicionar as seguintes opções como esta:

em Seguida, reinicie o servidor postfix:

$ systemctl restart postfix

O acima RBLs são os mais comuns; você pode encontrar mais listas na web e experimentá-los.

garantir a ligação SMTP

é melhor transferir o seu tráfego SMTP sobre TLS para o proteger do homem no ataque do meio (MITM).

primeiro, precisamos gerar o certificado e a chave usando o comando openssl:

depois adicione a seguinte opção ao ficheiro de configuração Postfix/etc/postfix / main.,cf:

finalmente, reinicie o seu serviço postfix:

$ systemctl restart postfix

agora, terá de escolher o TLS do seu cliente ao ligar-se ao servidor.

receberá um aviso quando enviar um e-mail pela primeira vez após alterar a configuração, porque o certificado não está assinado.

usando o ‘ Let’s Encrypt certificates

Let’s Encrypt is a free SSL certificate provider that enables you to encrypt your traffic.

em vez de usar certificados auto-assinados que irritam os seus utilizadores sobre confiar neles, você pode usar esta boa solução.,

em Primeiro lugar, instale letsencrypt:

$ yum install letsencrypt

Ou se você estiver usando a distro baseada no Debian, você pode usar o seguinte comando:

$ apt-get install letsencrypt

em Seguida, execute letsencrypt como este:

$ letsencrypt certonly --standalone -d yourdomain.com

Você deve substituir yourdomain.com com o real de seu domínio.

Depois de responder às perguntas sobre o e-mail de contato, o domínio do servidor de E-mail, e a licença, tudo deve estar OK agora.,

Os certificados serão em:

/etc/letsencrypt/live/yourdomain.com/

Uma última coisa que você tem a fazer, que é fazer o postfix usar esses certificados, você pode usar os seguintes comandos:

não se esqueça de substituir yourdomain.com com o real de seu domínio.

Finalmente, reinicie o servidor postfix:

$ systemctl restart postfix

POP3 e IMAP protocolo noções básicas

até agora nós vimos como servidor de email SMTP envia e recebe e-mails sem problemas, mas considerar as seguintes situações:

  • os Usuários precisam de cópias locais de e-mail para visualização offline.,o formato de ficheiro
  • mbox não é suportado. O formato mbox é usado por muitos agentes de usuário de E-mail como mailx e mutt.
  • Os usuários não podem ficar conectados a uma rede rápida para pegar uma cópia local para ler offline.
  • alguns servidores de E-mail não dão acesso às pastas partilhadas de E-mail por razões de segurança.

para lidar com estes casos, você deve usar os protocolos de acesso de E-mail.

os dois protocolos mais comuns de acesso ao correio são o protocolo Postal (POP) e o protocolo de acesso à Internet (IMAP).,

A ideia por trás do POP é muito simples: um servidor de correio central Linux permanece online o tempo todo e recebe e armazena e-mails para todos os usuários. Todos os e-mails recebidos estão em fila de espera no servidor até que um usuário os agarre.

Quando um Utilizador quer enviar um e-mail, o cliente de E-mail transmite-o através do servidor de correio Central Linux via SMTP normalmente.

Note que o servidor SMTP e o servidor POP podem estar no mesmo sistema sem qualquer problema. A maioria dos servidores fazem isso hoje.

características como manter uma cópia principal do E-mail de um usuário no servidor estavam faltando, o que levou ao desenvolvimento do IMAP.,

ao usar o IMAP, o seu servidor de correio Linux irá suportar três modos de acesso:

  • O modo online é semelhante a ter acesso directo ao servidor de correio Linux.
  • o modo desligado é semelhante à forma como o POP funciona, onde o cliente está desligado da rede, exceto quando obtém um e-mail. Neste modo, o servidor normalmente não retém uma cópia do E-mail.
  • o modo desligado funciona permitindo que os usuários mantenham cópias em cache de seus e-mails, e o servidor mantém uma cópia do E-mail.,

Existem várias implementações para IMAP e POP; a mais popular é o servidor Dovecot, que fornece ambos os protocolos.

O POP3, POP3S, IMAP e IMAPS escutam as portas 110, 995, 143 e 993, respectivamente.

instalando Dovecot

a maioria das distros Linux vêm com Dovecot pré-instalado., No entanto, você pode instalar o Dovecot no Red Hat com base distros como este:

$ dnf -y install dovecot

o Debian baseado em distribuições de fornecer o IMAP e POP3 funcionalidade em dois pacotes separados, você pode instalá-los assim:

$ apt-get -y install dovecot-imapd dovecot-pop3d

Ele vai pedir para você criar certificados auto-assinados para usar IMAP e POP3 sobre SSL/TLS. Seleccione Sim e indique o nome da máquina para o seu sistema quando for solicitado.,

em Seguida, você pode executar o serviço e o activar no arranque, como este:

$ systemctl start dovecot$ systemctl enable dovecot

Configurar Dovecot

O principal arquivo de configuração do Dovecot é

/etc/dovecot/dovecot.conf

arquivo.

alguns distros Linux colocam a configuração em

/etc/dovecot/conf.d/

diretório e usam a diretiva de inclusão para incluir as configurações nos arquivos.

pode usar a seguinte lista de parâmetros para configurar o Dovecot: protocolos

: os protocolos que deseja suportar.

protocols = imap pop3 lmtp

lmtp significa Protocolo de transferência de correio local.,

ouvir: endereços IP para ouvir.

listen = *, ::

o asterisco significa todas as interfaces ipv4 e :: significa todas as interfaces ipv6

userdb: base de dados do utilizador para autenticar os utilizadores.

userdb {driver = pam}

passdb: base de dados de senhas para autenticar utilizadores.

passdb {driver = passwd}

mail_location: esta entrada em /etc/dovecot/conf.D / 10-mail.conf file:

mail_location = mbox:~/mail:INBOX=/var/mail/%u

Dovecot seguro

Dovecot vem com certificados SSL genéricos e arquivos chave., Veja este ficheiro:

/etc/dovecot/conf.d/10-ssl.conf
ssl_cert = </etc/pki/dovecot/certs/dovecot.pemssl_key = </etc/pki/dovecot/private/dovecot.pem

quando um utilizador tentar ligar-se ao servidor dovecot, irá mostrar um aviso porque os certificados não estão assinados, poderá comprar um certificado a uma autoridade de certificados, se quiser.

ou se for com o ‘Let’s Encrypt certificates’, poderá apontar para eles em alternativa:

ssl_cert = </etc/letsencrypt/live/yourdomain.com/fullchain.pemssl_key = </etc/letsencrypt/live/yourdomain.com/privkey.pem

não se esqueça de abrir portas do servidor de dovecot na sua firewall iptables, adicionando regras de iptables para os portos 110, 995, 143, 993, 25.

então salve as regras.,

ou se estiver a usar o firewalld, pode fazer o seguinte:

E, mais uma vez, para resolução de problemas, verifique os ficheiros de Registo /var/log/messages, /var/log/mailllog e /var/log/mail.log.

Linux mail server é um dos servidores mais fáceis de trabalhar, especialmente o servidor de correio Postfix.

eu espero que você ache o post útil e interessante. Continua a voltar.obrigado.

Fundador da LikeGeeks. Trabalho como administrador de sistemas Linux desde 2010., Sou responsável pela manutenção, segurança e resolução de problemas de Servidores Linux para vários clientes em todo o mundo. Adoro escrever scripts shell e Python para automatizar o meu trabalho.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *