[root@server ~]# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
inet_interfaces = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = foo.bar.com
myhostname = server.foo.bar.com
mynetworks = 127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
relayhost = 1.2.3.4
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_connect_timeout = 600s
smtp_tls_note_starttls_offer = yes
smtp_tls_security_level = may
unknown_local_recipient_reject_code = 550
[root@server ~]#
[root@server ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.2 (Maipo)
[root@server ~]#
[root@server ~]# rpm -qa|grep -i postfix
postfix-2.10.1-6.el7.x86_64
[root@server ~]#
묻다:이 구성으로 인해 오픈 트렁킹이 발생합니까? 내가 어떻게 알아?
답변1
이 구성으로 인해 오픈 릴레이가 발생합니까?
이 질문은 전체 그림을 보지 않고는 대답하기가 약간 어렵습니다. 알아내는 가장 좋은 방법은 개방형 릴레이 구성을 테스트하는 것입니다(자세한 내용은 아래 참조).
그러고보니 참고하자
relayhost = 1.2.3.4
접미사에 따라문서이것은"외부 메일의 다음 홉 대상" 따라서 로컬로 배달되지 않은 메일은 1.2.3.4로 전송되며 이로 인해 postfix(1.2.3.4와 함께 사용됨)가 오픈 릴레이로 작동할 수 있습니다.
이미 Postfix 문서를 보셨을 수도 있지만 몇 가지 지침을 드리겠습니다.
이는 훌륭한 출발점이고 기본값이 거의 없으며 각 줄의 기능을 설명합니다. http://www.postfix.org/STANDARD_CONFIGURATION_README.html
이는 또한 릴레이 및 액세스 제어에 대한 좋은 내용이기도 합니다. http://www.postfix.org/SMTPD_ACCESS_README.html
내가 어떻게 알아?
실제로 설정을 테스트해야 합니다. 다음과 같은 많은 온라인 도구가 있습니다.http://mxtoolbox.com/diagnostic.aspx이는 귀하의 서버가 오픈 릴레이로 작동하는지 확인합니다(분명히 이를 구성하고 인터넷 서버에 노출해야 합니다).
서버가 아직 인터넷에 연결되어 있지 않거나 로컬 네트워크의 클라이언트에 대해 서버가 어떻게 작동하는지 테스트하려는 경우(내 네트워크지시문은 신뢰할 수 있는 클라이언트를 지정할 수 있음) 텔넷을 사용하여 이메일을 보내고 오픈 릴레이를 테스트할 수 있습니다.
다음은 Gmail과 관련되지 않은 서버의 Gmail 계정에서 Gmail 계정으로 메일을 보내려고 하는 예(개인정보가 숨겨짐)입니다. 분명히 이메일이 거부되었습니다.
[root@db ~]# telnet xxxx.domain.com 25
Trying 192.168.1.1...
Connected to xxxx.domain.com.
Escape character is '^]'.
220 mail.domain.com Microsoft ESMTP MAIL Service ready at Tue, 31 Jan 2017 12:45:31 +0200
helo localhost
250 xxxx.domain.com Hello [10.191.1.1]
mail from: [email protected]
250 2.1.0 Sender OK
rcpt to: [email protected]
550 5.7.1 Unable to relay
quit
221 2.0.0 Service closing transmission channel
Connection closed by foreign host.
잘 설계된 smtp 서버에서는 서버를 통해 외부 세계로 이메일을 보내기 전에 클라이언트가 인증하도록 하거나 어쨌든 이메일을 보낼 수 있는 신뢰할 수 있는 네트워크를 정의할 수 있습니다(즉, 네트워크 사용자를 신뢰하는 경우).