AWS EC2 인스턴스에서 25번 포트(메일포트) 아웃바운드 제한

Last Updated on 1월 18, 2021 by 태랑(정현호)

EC2 메일 발송 불가 - 25포트 차단


WordPress 에서는 댓글이 달리거나 관리자가 로그인 하거나 일단위/주단위 접속 통계치 등 여러가지 유형으로 관리자에게 메일을 보내주게 됩니다.



AWS 클라우드 프리티어 EC2 위에 구동중인 WordPress 사이트에서는 위의 설명처럼 발송되어야 하는 메일이 계속 발송되지 않고 있는 상황이었습니다.



여러가지 내용을 확인하던 중 시스템의 mail.log 를 확인 하였을 때 아래와 같이 외부 와 통신이 안되는 내역의 로그를 확인 하게 되었습니다.

[root]# tail -100f  /var/log/mail.log



postfix/smtp[18403]: connect to gmail-smtp-in.l.google.com[108.177.125.27]:25: Connection timed out
postfix/smtp[18405]: connect to gmail-smtp-in.l.google.com[108.177.125.27]:25: Connection timed out
postfix/smtp[18404]: connect to ASPMX.L.GOOGLE.COM[108.177.125.26]:25: Connection timed out
postfix/smtp[18403]: connect to alt1.gmail-smtp-in.l.google.com[74.125.137.26]:25: Connection timed out


위에서 보듯이 naver.com 과 gmail.com 의 이메일 주소로 발송을 시도하는 과정에서 에러가 발생되고 있었습니다.




검색 결과 아래와 같이 Amazon EC2 서버에서 25번포트의 아웃바운드 트래픽의 제한이 되어 있었습니다.







위의 내용에서 "이메일 전송 제한 제거 요청 양식" 을 클릭하여 양식에서 25번 포트의 제한을 해제해 달라고 AWS 측에 요청을 해야 합니다.





EC2의 이메일 전송 제한 제거 요청


EC2 에서 이메일 발송은 위에서 설명된것 처럼 별도의 신청을 통해 AWS 에서 허가를 받아야 가능 합니다.


신청서 작성시 필요한 정보는 아래와 같이 제시되어 있습니다.





위의 작성 양식링크를 들어가서 위에서 제시된 내용(사유)를 영문으로 내용을 입력후 Submit 하면 됩니다.
Link 
 https://aws.amazon.com/forms/ec2-email-limit-rdns-request




신청을 하기 전에 사전에 몇 가지 설정 및 필요한 부분이 있습니다.

1. 도메인이 필요


2.  Reverse DNS Record 설정이 필요

3. Reverse DNS 에 PTR Record 설정 필요



위의 3가지를 준비 및 설정 후에 아래의 양식이 정보를 입력하여 보내면 됩니다.




예외 신청한 도메인은 freenom 에서 발급받은 무료 최상위 국가 도메인으로 DNS관리를 freenom DNS 를 사용하였으나 freenom 에서는 위의 3번 PTR Record 설정이 불가능하였습니다.

그래서 기존에 사용중인 Bind에 DNS를 설정하는 것으로 Name Server를 변경 하여 설정하였습니다.


[Freenom 의 DNS 설정에는 PTR Record 설정이 불가능]




[참고] 무료 최상급 도메인 발급 서비스 - Freenom





사실 EC2 메일 발송 허용 신청이 한번 허용된 것은 아닙니다

처음에는 바로 거부 메세지를 회신받았고, 설정을 추가하여 신청 하였을때는 몇 번의 메일이 오고 가면서 다시 내용을 추가하여  AWS Team 에 다시 요청하는 식으로 하여 처리를 하게 되었습니다.




위의 이미지 처럼 PTR Record 도 요청을 받아서 PTR Record를 등록 하기 위해서 Bind에 Zone파일을 설정하여 처리 하였습니다.



zone 설정 내역(도메인명과 IP는 예시 입니다)

smtp 300 IN A 123.123.200.100
100.200.123.123.in-addr.arpa.6230 IN PTR smtp.aaa.com.

Reverse DNS를 smtp 로 하여 smtp.도메인명 으로 설정 하였습니다.


[참고] Bind 를 이용한 DNS 구성





도메인 보유 -> Reverse DNS 설정 -> PTR Record 를 설정을 모두 완료 하였다면 아래 링크에서 내용을 입력하여 신청하시면 됩니다.

Link 
 https://aws.amazon.com/forms/ec2-email-limit-rdns-request








* A clear/detailed use-case for sending mail from EC2.
Email 발송사유를 영문으로 기재하였으며, 저의 사유는 WordPress 에서 이메일을 발송해야 함을 설명 하였습니다.



* What type of configuration or setup have you implemented to prevent spam from originating from your EC2 resource?

에 대한 답변을 아래와 같이 기재하였습니다.

Configure security groups to permit the minimum required network traffic for the EC2 instance
implementing strong password policies and use 2FA-OTP
antispam checks on outbound mail connections and domain throttling


My EC2's Region is Korea 



DNS 도 설정 하였다면 아래 처럼 DNS 설정 내역도 한번에 기재하여 정보를 전달해주면 더 빠르게 처리가 될것 같습니다.


Reverse DNS : smtp.aaa.com
Elastic IP address : 123.123.200.100

PTR Record : 100.200.123.123.in-addr.arpa.6230 IN PTR smtp.aaa.com.






설정이 잘되어 있고 사유가 자세하게 잘 기재 되었다면 아래처럼 승인 메일을 받으실수 있을 것입니다.








WordPress 에서 메일 테스트를 해보니 정상적으로 발송되는 것을 확인 하였습니다.







[참고] 신청시 많은 설정이 누락 되었거나 설명이 부족 하였다면 추가적인 설정이나 정보를 요구하지 않고 아래처럼 바로 불가하다고 메일을 받게 됩니다.







관련된 글

“AWS EC2 인스턴스에서 25번 포트(메일포트) 아웃바운드 제한” 에 대한 2 댓글

  1. Avatar

    Hi there very nice website!! Man .. Excellent ..
    Amazing .. I'll bookmark your web site and take the feeds also?
    I am happy to find numerous helpful info right here within the submit,
    we need work out more strategies in this regard, thanks for sharing.
    . . . . .

답글 남기기