Postfix - Permitir entrega para o meu domínio, mas bloquear o correio para root @ localhost para todos, mas o sistema local

1

Eu uso o Postfix como um MTA para receber e-mails para o meu domínio. Recentemente comecei a receber alguns e-mails chegando ao root @ localhost a partir de IPs externos tentando explorar o bash. Meu bash é corrigido, então eu deveria estar seguro o suficiente, mas não estou confortável com a ideia de alguém poder enviar e-mails para o domínio root @ localhost de qualquer lugar do mundo.

Eu ainda preciso de localhost para os e-mails do sistema local, portanto não quero removê-lo completamente, de preferência gostaria de bloquear o correio para localhost e localhost.hostname de qualquer lugar, a menos que o e-mail seja originado no sistema local.

Isso é possível? Olhando para a documentação, parece que algo poderia ser feito com smtpd_relay_restrictions ou smtpd_recipient_restrictions, mas ainda não encontrei uma configuração de trabalho.

Executando o servidor Ubuntu 14.04 com o postfix 2.11.0-1

postfix -n output abaixo. Espero que esteja tudo bem, mas removi detalhes dos FQDNs que uso na saída.

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
home_mailbox = Maildir/
inet_interfaces = all
mailbox_command = /usr/bin/procmail
mailbox_size_limit = 0
mydestination = <hostname>, <domain>, localhost.<hostname>, mail.<domain>, localhost
myhostname = <hostname>
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
queue_directory = /var/spool/postfix
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 550
virtual_alias_domains = <virtual_domain_1> <virtual_domain_1> <virtual_domain_2> <virtual_domain_3> <virtual_domain_4>
virtual_alias_maps = hash:/etc/postfix/virtual
    
por pug 29.10.2014 / 12:41

1 resposta

1

Como você já tem permit_mynetworks em smtpd_relay_restrictions , pode adicionar a nova restrição depois dela.

smtpd_relay_restrictions = permit_mynetworks, check_recipient_access hash:/etc/postfix/block_localhost, permit_sasl_authenticated, defer_unauth_destination

em /etc/postfix/block_localhost , você pode colocar

root@localhost REJECT

postmap esse arquivo e execute postfix reload .

Mail do sistema local para root @ localhost já permitido por permit_mynetworks . Então, a solução simples é adicionar a rejeição de root @ localhost depois disso.

    
por 29.10.2014 / 15:21

Tags