Sun Java System Messaging Server 6 2005Q4 관리 설명서

SMTP 릴레이 추가

기본적으로 Messaging Server는 SMTP 릴레이 시도를 차단하도록 구성되어 있습니다. 즉, 인증되지 않은 외부 소스의 외부 주소로의 메일 전송 시도를 거부합니다. 외부 시스템은 서버가 있는 호스트가 아닌 모든 시스템을 말합니다. 이 기본 구성은 다른 모든 시스템을 외부 시스템으로 간주하기 때문에 과도하게 SMTP 중계를 차단합니다.

Messaging Server 시스템의 SMTP 서버를 통해 외부 주소로 지정된 메일을 전송하려고 시도하는 IMAP 및 POP 클라이언트, 그리고 SMTP AUTH(SASL)를 사용하여 인증하지 않는 클라이언트의 전송 시도는 거부됩니다. 따라서 사용자 구성을 수정하여 중계를 항상 수락하는 자체 내부 시스템과 서브넷을 인식하도록 할 수 있습니다.

내부로 인식되는 시스템과 서브넷은 일반적으로 msg_svr_base/config/mappings 파일에 포함된 INTERNAL_IP 매핑 테이블을 통해 제어됩니다.

예를 들어, IP 주소가 123.45.67.89인 Messaging Server 시스템에서 기본 INTERNAL_IP 매핑 테이블은 다음과 같이 나타납니다.


INTERNAL_IP 

   $(123.45.67.89/32)   $Y
   127.0.0.1            $Y
   *   $N
      

여기서 첫 번째 항목은 $(IP-pattern/signicant-prefix-bits) 구문을 사용하여 123.45.67.89의 32비트와 완전히 일치하는 모든 IP 주소를 내부로 인식하도록 지정합니다. 두 번째 항목은 루프백 IP 주소 127.0.0.1을 내부로 인식합니다. 마지막 항목은 다른 모든 IP 주소가 내부로 인식되지 않도록 지정합니다. 모든 항목 앞에는 적어도 하나의 공백이 있어야 합니다.

마지막 $N 항목 앞에 추가 IP 주소 또는 서브넷을 지정하여 항목을 추가할 수 있습니다. 이러한 항목은 왼쪽에 IP 주소나 서브넷($(.../...구문을 사용하여 서브넷 지정)을 지정하고 오른쪽에 $Y를 지정합니다. 또는 기존 $(.../...) 항목을 수정하여 더 일반적인 서브넷을 허용할 수 있습니다.

예를 들어, 동일한 샘플 사이트의 네트워크가 클래스 C 네트워크, 즉 123.45.67.0 서브넷을 모두 소유하는 네트워크인 경우 해당 사이트에서는 주소 일치에 사용되는 비트 수를 변경하여 첫 번째 항목을 수정해야 합니다. 아래 매핑 테이블에서는 32비트를 24비트로 수정합니다. 이렇게 하면 클래스 C 네트워크의 모든 클라이언트에서 SMTP 중계 서버를 통해 메일을 중계할 수 있습니다.


INTERNAL_IP 

   $(123.45.67.89/24)   $Y
   127.0.0.1   $Y
   *   $N
      

또는 사이트가 123.45.67.80-123.45.67.99 범위 내의 IP 주소만 소유하는 경우 해당 사이트는 다음을 사용할 수 있습니다.

INTERNAL_IP 

! Match IP addresses in the range 123.45.67.80-123.45.67.95 
   $(123.45.67.80/28) $Y
! Match IP addresses in the range 123.45.67.96-123.45.67.99 
   $(123.45.67.96/30) $Y 
   127.0.0.1 $Y 
   * $N

imsimta test -match 유틸리티는 IP 주소가 특정 $(.../...) 테스트 조건에 일치하는지 여부를 검사할 때 유용하게 사용할 수 있습니다. imsimta test -mapping 유틸리티는 INTERNAL_IP 매핑 테이블이 다양한 IP 주소 입력에 대해 원하는 결과를 반환하는지 검사할 때 매우 유용합니다.

INTERNAL_IP 매핑 테이블을 수정한 뒤에는 imsimta restart 명령(컴파일된 구성을 실행하고 있지 않은 경우) 또는 imsimta cnbuild 명령 뒤에 imsimta restart smtp 명령(컴파일된 구성을 실행하는 경우)을 실행해야 변경 사항이 적용됩니다.

매핑 테이블과 일반적인 매핑 테이블 형식 및 imsimta 명령줄 유틸리티에 대한 자세한 내용은 Messaging Server Reference Manual을 참조하십시오.

외부 사이트에 대한 SMTP 릴레이 허용

위에서 설명한 것처럼 모든 내부 IP 주소를 INTERNAL_IP 매핑 테이블에 추가해야 합니다. 다른 시스템/사이트에서 SMTP 릴레이를 허용하려는 경우 가장 간단한 방법은 해당 시스템/사이트를 INTERNAL_IP 매핑 테이블에 사용자의 실제 내부 IP 주소와 함께 포함시키는 것입니다.

다른 시스템/사이트를 실제 내부 시스템/사이트로 인식시키지 않으려는 경우(예를 들어 로깅이나 다른 제어 목적을 위해 실제 내부 시스템릴레이 권한을 가진 내부가 아닌 시스템을 구분하려는 경우) 다른 방법으로 시스템을 구성할 수 있습니다.

한 가지 방법은 다른 시스템에서 보내는 메일을 받는 특별 채널을 설정하는 것입니다. 이렇게 하려면 기존 tcp_internal과 유사한 tcp_friendly 채널을 공식 호스트 이름 tcp_friendly-daemon으로 만들고 다른 시스템 IP 주소가 나열된 INTERNAL_IP 매핑 테이블과 유사한 FRIENDLY_IP 매핑 테이블을 만듭니다. 그런 후 다음과 같은 현재 다시 쓰기 규칙 바로 뒤에

! Do mapping lookup for internal IP addresses 
[]    $E$R${INTERNAL_IP,$L}$U%[$L]@tcp_intranet-daemon

다음과 같이 다시 쓰기 규칙을 새로 추가합니다.

! Do mapping lookup for "friendly", non-internal IP addresses
[]     $E$R${FRIENDLY_IP,$L}$U%[$L]@tcp_friendly-daemon

또 다른 방법은 위의 ORIG_SEND_ACCESS 매핑 테이블에 다음 형식의 새로운 최종 $N 항목을 추가하고

tcp_local|*@siroe.com|tcp_local|*     $Y

(여기서 siroe.com은 다른 도메인의 이름) 다음 형식의 ORIG_MAIL_ACCESS 매핑 테이블을 추가하는 것입니다.

ORIG_MAIL_ACCESS 

   TCP|*|25|$(match-siroe.com-IP-addresses)|*|SMTP|MAIL|   \
tcp_local|*@siroe.com|tcp_local|*      $Y 
   TCP|*|*|*|*|SMTP|MAIL|tcp_local|*|tcp_local|* $N

여기서 $(...) IP 주소 구문은 이전 절에서 설명한 것과 같은 구문입니다. ORIG_SEND_ACCESS 검사는 주소가 정상인 경우 지속되므로 계속 수행할 수 있으며 또한 IP 주소가 siroe.com IP 주소에 해당하는 경우에 한해 보다 엄격한 ORIG_MAIL_ACCESS 검사를 수행할 수 있습니다.