POSTFIX SMTP 에 대해서 질문 드립니다

글쓴이: 익명 사용자 / 작성시간: 금, 2022/03/04 - 1:27오후
안녕하세요
POSTFIX + DOVECOT + 웹메일을 통해 구성을 했습니다
여기서 궁금한것이 서버에서가 아닌 외부에서
telnet mail.test.com 25 로 접속을 해서
서버 내 메일 계정 test@test.com 으로 메일을 보내면 메일 수/발신이 되는데요
물론 외부로 나가지진 않지만 내부 계정으로 메일을 아무나 보낼수가 있다는 것 인데 이걸 막을 방법은 없나요?
그리고 현재 SSL 구성도 해두었는데요 465 587 포트는 오픈 되어있습니다
25포트 말고 465나 587로 수/발신 할 수 없을까요?
smtp inet n - n - - smtpd
master.cf 에서 해당 부분 주석을 하면 발신은 되나 수신이 되지 않습니다
25포트를 사용하고 싶지 않은것이 아무나 telnet 으로 25포트 접속해서 메일을 보낼수가 있더라구요..
Forums:
서버에서가 아닌 외부에서
이걸 막으면.. 메일을 수신할 수가 없게 됩니다. 님이 하신 과정이 외부에서 오는 메일이 수신되는 과정과 동일합니다.
465나 587 로 발신을 하는 것은 SMTP 가 결정하는 일이 아니라 MUA 에서 결정을 합니다. 용어에 대한 이해가 좀 필요한데요. 이 과정을 이해하고 나면 처음 질문이 왜 막으면 안되는지 이해가 되실 겁니다.
일단.. 다음 두 용어를 알아야 하는데요
MUA - 사용자가 메일을 보내기 위하여 사용하는 프로그램. outlook, thunderbird, emul 등등의 프로그램
MTA - sendmail, postfix 와 같은 메일 서버간의 전송을 담당하는 서버 프로그램
메일의 송수신 과정은 다음과 같습니다.
A 가 mail.a.com SMTP를 이용하여 a@b.com 으로 메일을 전송하는 과정은 다음과 같습니다.
1. A 가 MUA 를 이용하여 메일 발송
2. MUA 는 A 가 설정한 relay MTA 로 메일 전송
2-1 발송을 25/TLS(465)/(SSL)587 로 할지 설정
3. relay MTA로 전송된 메일의 to가 내부 수신이면 MDA(Mail Delivery Agent.. 대표적으로 procmail 같은 것..)로 메일박스에 저장. to 가 외부 전송이면 메일 주소의 도메인 b.com 의 mx record 로 등록된 서버의 MTA 로 메일 전송 (mx record 가 지정되어 있지 않으면 b.com 으로 전송)
4. destination MTA 는 수신된 메일을 MDA 로 전달하여 메일박스에 저장
위와 같이 메일이 전송이 되는데, 첫번재 질문처럼 25번 포트를 열어서 내부 사용자에게 메일을 보내는 방식이 바로 relay MTA -> destination MTA 의 과정이라고 보시면 됩니다. 즉 이걸 막으면 MTA -> MTA 간의 메일 전송이 불가능해진다는 얘기죠 :)
그리고, relay 역할의 SMTP 서버에 tls 또는 ssl 설정이 되어 있으면, relay MTA 는 destination MTA 로 tls 또는 ssl 로 먼저 통신을 시도해 보고 실패하면 25번 포트로 통신을 시도 하게 됩니다. (이게 postfix 도 그런지는 정확히 모르겠네요. sendmail 은 이렇게 동작을 합니다.)
도움이 되셨을지 모르겠네요.
https://www.lesstif.com
https://www.lesstif.com/security/spf-sender-policy-framework-email-98271325.html
댓글 달기