본문으로 바로가기

시스템환경

CENTOS 7.5

locale ko_KR.UTF-8

sendmail 8.14 (rpm)


포스트 내용은 sendmail을 이용한 폼메일로 외부에 발송만 하는 시스템에서 테스트 되었습니다.


시스템 운영시 폼메일 등의 사용을 위해 sendmail을 localhost에서 발송하는 경우가 자주 있습니다.


보통 특별한 설정없이도 발송이 잘 되기때문에 설치 후 데몬만 올려서 사용하는경우가 흔한데요.


이렇게 사용을 하다보면 어느순간 대형 포털사이트로의 접속이 차단되며 /var/log/maillog 확인 시 block 되었다는 메세지를 확인하게 됩니다.


열심히 검색 하다보면 https://www.spamhaus.org (인터넷 스팸 추적단체) 에서 서버 IP를 검색하여 차단해제를 하면 된다는 글을 보게됩니다.


그렇게 차단해제를 하고 조금 사용하다보면 얼마 되지않아 또다시 차단이 되는경우가 있습니다.


여기서 CBL을 누르고 로봇이 아닙니다. 와 함께 맞는 그림 찾기(?)를 클릭하고 들어가면 차단원인에 대해 명시되어 있습니다.


참고로 여러번 차단이되면 바로 해제요청이 불가능하며 원인 해결 이후 일정시간을 기다린후에 해제요청을 하셔야합니다.


번역기 돌리면 어느정도 이해 될 내용이지만 중요한 부분은 아래와 같습니다.



IP was found to be using the following name as the HELO/EHLO parameter during connections: "localhost.localdomain".


The CBL does not list for RFC violations per-se. This _particular_ behaviour, however, correlates strongly to spambot infections. In other words, out of thousands upon thousands of IP addresses HELO'ing this way, all but a handful are infected and spewing junk. Even if it isn't an infection, it's a misconfiguration that should be fixed, because many spam filtering mechanisms operate with the same rules, and it's best to fix it regardless of whether the CBL notices it or not.


sendmail에서 기본설정 이용시 서버에서 보내는 호스트가 localhost.localdomain 이므로,

spam및 junk의 원인이 되는 도메인일 확률이 높으므로 block 진행했다고 합니다.

이에 따라 다른 FQDN(절대 도메인명) 으로 수정을 해야한다는 내용입니다.


수정방법은 아래와 같습니다. 서버IP와 도메인은 임의설정 했습니다.


vi /etc/hosts


1.1.1.1    test.mail.co.kr



vi /etc/sendmail.cf


91라인    Djtest.mail.co.kr # Dj만 남기고 뒤에 도메인을 적어주면 됩니다.


systemctl restart sendmail 을 하면 적용됩니다.


정상적으로 변경된 내용을 확인하려면 아래와 같이 확인하면 됩니다.


[root@localhost ~]# yum -y install telnet

[root@localhost ~]# telnet 127.0.0.1 25

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

220 test.mail.co.kr ESMTP Sendmail 8.14.7/8.14.7; 


그리고 해제를(바로 해제가안되면 다음날쯤) 요청하면됩니다.


주의하셔야 할점은 메일서버 차단은 호스트명뿐만 아닌 계정 도용 탈취로인해 대량메일 발송으로도 차단이 될수 있습니다. 

때문에 계정 패스워드를 최대한 어렵게하거나 주기적으로 변경하는등의 관리는 필수입니다.