
내 Postfix 서버가 포트 587에서만 메일을 보내도록 하고 보안 인증(시스템 Linux 사용자 사용)을 사용하여 포트 587로 TLS를 활성화하는 방법은 무엇입니까?
우선 이 질문이 너무 광범위해 보일 수 있지만 인터넷에서는 이에 대한 단일 해결책을 찾을 수 없었습니다. 많은 기사에서 해결책을 제공하지만 일부 부분을 건너뛰었습니다.
인증을 강제하고 TLS 연결을 강제하고 싶습니다.
누군가 나에게 요청하면 구성을 게시할 수 있습니다.
미리 감사드립니다. 나는 postfix를 처음 사용합니다. 또한, 나는 살펴볼 수 있었다http://www.postfix.org/documentation.html, 그러나 당신이 그것에 대해 말하기 전에 나는 그것을 제대로 이해할 수 없으므로 구성을 엉망으로 만들고 내 서버를 사용할 수 없게 만들 것이라고 확신합니다. 또한 여기의 postfix는 apt 패키지 관리자를 사용하여 설치되었습니다. 그러나 나는 이것이 우분투와 특별히 관련이 없다고 확신합니다. 나는 postfix를 사용하기 전에 Exim4를 사용하고 있었지만 Exim에 대한 지원이 거의 없었습니다. 사람들이 대부분 cPanel에 Exim을 가지고 있기 때문에 바닐라 Exim 지원을 얻지 못했습니다.
우리 서버의 보안이 위험하기 때문에 긴급한 도움이 필요합니다.
답변1
포트 587을 활성화하려면 파일을 편집하세요./etc/postfix/master.cf
vi /etc/postfix/master.cf
줄 앞의 #을 제거합니다(줄 주석 처리 해제).
#submission inet n - n - - smtpd
그래서 다음과 같이 보입니다:
submission inet n - n - - smtpd
이 줄 바로 뒤에 SASL 인증을 활성화하는 추가 줄의 주석 처리를 해제할 수 있습니다. 각각의 새로운 줄은 공백으로 시작해야 합니다!
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
기타 모든 설정은 다음에서 구성됩니다./etc/postfix/main.cf귀하의 환경에 따라.
또한 TLS 설정을 구성해야 할 수도 있습니다.
# TLS parameters
# you need to specify a real certificate location
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert.key
smtpd_use_tls=yes
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache
smtpd_sasl_tls_security_options=noanonymous
smtpd_tls_auth_only=yes
이메일 수신을 위해 비둘기장을 사용하는지 여부에 따라 다음을 추가해야 할 수도 있습니다.
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
broken_sasl_auth_clients=yes
추가 보안 제한 사항:
smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_helo_hostname,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_non_fqdn_recipient,reject_unknown_recipient_domain
postfix를 확인하고 다시 시작하세요:
postfix check
systemctl restart postfix
이제 postfix가 포트 25와 587 모두에서 수신 대기하는지 확인할 수 있습니다.
netstat -na | grep LISTEN | grep 25
netstat -na | grep LISTEN | grep 587
방화벽에서 포트 587을 허용하는 것을 잊지 마십시오.
postfix 사용자 생성은 또 다른 이야기입니다. 설명에서 언급했듯이 사서함(메일 사용자)을 저장하려면 SQL을 사용해야 합니다. 그렇게 하고 싶지 않다면 Linux 사용자에게 자세히 설명된 내용을 사용해도 됩니다.여기.
PS 나는 항상 특정 사례 요구 사항과 환경에 따라 크게 달라지기 때문에 여기에서 전체 구성을 제공하는 것이 가능하지 않다고 생각합니다.
답변2
이렇게 하면 보안 연결만 허용됩니다.
smtpd_tls_auth_only = yes
그런 다음 필요한 다른 옵션이 있습니다.
smtpd_tls_security_level = may
smtp_sasl_auth_enable = yes
smtp_use_tls = yes
587을 사용하려면 master.cf를 편집하고 다음 줄의 주석 처리를 제거하세요.
submission inet n - n - - smtpd
다시 시작 후위입니다.