티스토리 뷰



리눅스(CentOS) 서버를 서버 호스팅으로 하거나 내부 업무용으로 사용하는 경우 통상 sendmail을 통해 외부로 메일을 전송하는데 KISA의 화이트 도메인 등록(https://www.kisarbl.or.kr/whiteip/whiteip_tutorial.jsp 참조)등의 작업을 했음에도 불구하 메일이 도착하지 않는 경우가 있습니다. 게시판이나 공지사항에 글이 올라오면 자동으로 메일이 발송되도록 설정하고 준비 했지만 메일이 도착하지 않는다는 피드백이 오는 경우가 가끔 있지요.

이렇게 메일 정상적으로 수신되지 않는 현상이 발견될 때는 우선적으로 위의 그림 처럼 메일 로그를 살펴 보아야 합니다. 필자의 CentOS 리눅스는 /var/log/maillog로 확인할 수 있었습니다. 

로그를 살펴보니 네이버나 지메일 쪽은 정상적인데 @empas.com이나 @nate.com의 주소를 가진 메일들만 문제가 되고 있었습니다. 메시지는 "421 Your ip is filtered by RBL."로 RBL(Realtime Blackhole List)에 의해 걸러 졌다는 의미인데 현재 서버의 주소가 통상 대량 전송 메일이나 스팸으로 의심되어 차단되었다는 것입니다. 그런데 네이트 쪽 메일 서버 측에서 친절하게 그 이유를 언급해 주었는데 "Caues:https://www.spamhaus.org/query/ip/211.172......." 언급한 URL로 검색해 보면 서버의 IP가 걸러진 이유를 확인할 수 있습니다. 네이트 메일 서버가 spamhaus.org의 서비스를 사용한다는 의미겠지요!

조회 결과를 보면 SBL(Spamhaus Block List, 스팸하우스측에서 권장하지 않는 IP들), PBL(Policy Block List)에는 문제가 없지만 XBL(Exploits Block List)중에 CBL(Composite Block List)에 문제가 있다고 나오는데 링크를 클릭해서 상세한 내용을 살펴 봅니다.

This IP address is HELO'ing as "localhost.localdomain" which violates the relevant standards (specifically: RFC5321).

해당 IP에 대해서 SMTP(메일전송) 프로토콜로 접속하여 "HELO"명령을 통해 확인했더니 메일 서버의 도메인 이름으로 "localhost.localdomain"을 리턴했다는 의미입니다. 결론적으로 메일 서버의 도메인 이름을 초기값 상태로 둘 정도로 메일 서버 설정이 미흡하다는 의미고 많은 스팸 발생 사례가 이런 환경을 이용하기 때문에 차단했다는 것입니다. sendmail의 메일 전송 환경을 수정하기 위해서는 /etc/mail/sendmail.cf를 편집합니다.

......

# my official domain name

# ... define this only if sendmail cannot automatically determine your domain

#Dj$w.Foo.COM

......

위의 내용은 sendmail.cf의 기본 내용으로 주석에 있는 것처럼 공식적인 도메인 이름이 자동적으로 결정되는데 그렇지 못하다면 "Dj" 앞의 주석 표시(#)를 지우고 해당하는 도메인 이름을 입력합니다. 

sendmail.cf을 수정했으면 위의 그림과 같이 sendmail 대몬을 재가동시킵니다.

서버의 메일 서버 환경 설정을 마무리 했으면 앞서 문제점을 검색했던 spamhaus.org 페이지 하단의 링크를 클릭해서 차단 목록에서 제외하도록 요청합니다. 1시간~2시간 이내에 조치되므로 조금만 기다리면 전송 실패했던 메일들이 자동으로 재전송될 것입니다.

위의 메일 로그는 CBL로 차단되었던 메일이 환경 정비와 목록 삭제 요청 이후에 자동 재전송되는 과정입니다.


댓글
댓글쓰기 폼