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

익명 사용자의 이미지

안녕하세요

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포트 접속해서 메일을 보낼수가 있더라구요..

김정균의 이미지

서버에서가 아닌 외부에서

telnet mail.test.com 25 로 접속을 해서
서버 내 메일 계정 test@test.com 으로 메일을 보내면 메일 수/발신이 되는데요
물론 외부로 나가지진 않지만 내부 계정으로 메일을 아무나 보낼수가 있다는 것 인데 이걸 막을 방법은 없나요?

이걸 막으면.. 메일을 수신할 수가 없게 됩니다. 님이 하신 과정이 외부에서 오는 메일이 수신되는 과정과 동일합니다.

그리고 현재 SSL 구성도 해두었는데요 465 587 포트는 오픈 되어있습니다 25포트 말고 465나 587로 수/발신 할 수 없을까요?

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 은 이렇게 동작을 합니다.)

도움이 되셨을지 모르겠네요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.