A instalação do 5.2.1 Servidor SMTP 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 com um mecanismo de autenticação de utilizadores. Como mecanismo de autenticação iremos usar o suporte sasl do dovecot.
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:
A configuração que é necessário alterar é guardada no ficheiro /etc/dovecot/local.conf.
# [...] # Space separated list of wanted authentication mechanisms: # plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey # gss-spnego # NOTE: See also disable_plaintext_auth setting. auth_mechanisms = plain login 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 } # Auth process is run as this user. #user = $default_internal_user } # [...]
Reiniciar o serviço dovecot:
root@server:~# service dovecot restart
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 # [...]
Reiniciar o serviço postfix:
root@server:~# service postfix restart
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: