Tabela de Conteúdos
5.2.2 Servidor SMTP com autenticação SASL
A instalação do 5.2.1 Servidor SMTP: Postfix limita a utilização apenas à rede interna.
Case seja necessário aceder ao servidor a partir o exterior (por exemplo, a partir da Internet) deve ser previsto um mecanismo que limite o acesso apenas a utilizadores devidamente autorizados, para não correr o risco de o nosso servidor ser considerado um open relay.
Complementar a instalação do 5.2.1 Servidor SMTP: Postfix com um mecanismo de autenticação de utilizadores. Como mecanismo de autenticação iremos usar o suporte sasl do dovecot.
Configuração
A configuração está dividida em duas partes: a configuração do dovecot para trabalhar com o postfix e a configuração do postfix para autenticar utilizadores no dovecot:
Dovecot
A configuração que é necessário alterar é guardada nos ficheiros da diretoria /etc/dovecot/conf.d. A comunicação entre o postfix e o dovecot é efetuada através de um socket que é necessário ativar:
# [...] service auth { # auth_socket_path points to this userdb socket by default. It's typically # used by dovecot-lda, doveadm, possibly imap process, etc. Users that have # full permissions to this socket are able to get a list of all usernames and # get the results of everyone's userdb lookups. # # The default 0666 mode allows anyone to connect to the socket, but the # userdb lookups will succeed only if the userdb returns an "uid" field that # matches the caller process's UID. Also if caller's uid or gid matches the # socket's uid or gid the lookup succeeds. Anything else causes a failure. # # To give the caller full permissions to lookup all users, set the mode to # something else than 0666 and Dovecot lets the kernel enforce the # permissions (e.g. 0777 allows everyone full permissions). unix_listener auth-userdb { #mode = 0666 #user = #group = } # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 } # [...]
Verificar que estas alterações estão presentes na configuração do docevot com o comando dovecot -n
:
root@server:~# dovecot -n: # [...] service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 } } # [...]
Reiniciar o serviço dovecot:
root@server:~# systemctl restart dovecot
Postfix
A configuração a alterar está guardada no ficheiro /etc/postfix/main.cf:
Acrescentar os parâmetros SASL:
# [...] # SASL parameters smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_authenticated_header = yes broken_sasl_auth_clients = yes # [...]
As restrições de segurança devem permitir o acesso a utilizadores autenticados via sasl:
# [...] ## Seguranca # Aceita ligações apenas a partir da rede local ou utilizadores autenticados smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject # Utilizadores locais ou autenticados podem enviar emails para qualquer endereco # Rejeitar todos os outros smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination # [...]
Verifique se o ficheiro de configuração do postfix não contém incorreções:
root@server:~# postfix check root@server:~#
Reiniciar o serviço postfix:
root@server:~# systemctl restart postfix
Configuração Clientes
Nas opções de segurança da configuração do servidor smtp dos clientes deverá ser indicado o utilizador a autenticar:
Ao enviar uma mensagem, será pedida a respetiva password: