sendmail 이 스팸릴레이 되고 있을까요?
레드햇 7.3 이고 센드메일 8.11.6 버전을 사용하고 있습니다.
/etc/mail/access 를 이용해서 필요한 몇개의 IP에서만 릴레이 되도록 설정하여 쓰고 있습니다. 외부에서 릴레이 테스트를 해보니 제대로 막혀 있습니다.
그런데.... 문제는....
릴레이를 허용하지 않은 IP들이 접속해서 sendmail server가 기동이 된다는 것입니다.
ps -ax 해보면,
4911 ? S 0:00 sendmail: server [218.51.39.230] cmd read
4912 ? S 0:00 sendmail: server [211.58.148.246] cmd read
4913 ? S 0:00 sendmail: server [211.201.93.212] cmd read
4914 ? S 0:00 sendmail: server [218.51.39.176] cmd read
이런 프로세스가 100개쯤 생깁니다.
1분에 2~3개정도 생겨나는데 생긴지 1시간쯤 되면 자동으로 죽는것 같습니다.
이 프로세스들이 정말로 메일을 보내고 있는 중인지, 아니면 메일은 못보내고 프로세스만 떠 있는 것인지 확실치 않지만, 정상적이라면 이런 프로세스들이 있어서는 안될듯 합니다.
로그를 살펴보면 아래와 같은 메시지가 엄청나게 많이 반복되어 있습니다. 물론 IP는 여러가지로 바뀝니다.
h8G63h402001: timeout waiting for input from [218.55.42.148] during server cmd read
NOQUEUE: [218.55.42.148] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
위 로그메시지를 보면 메일을 보내지 못한것으로 생각되는데, 어째서 프로세스는 생겨날까요?
아니면 스팸릴레이 서버가 되어버린 걸까요?
고수님들의 조언 구합니다.
참고로,
센드메일은 RPM으로 설치했고
access.db 형식은 버클리 타입이어서 makemap 할때 dbm 대신 hash옵션을 주어 사용하고 있습니다.
sendmail의 보안 취약점 scan은 아닐까요?최신 패치가 적
sendmail의 보안 취약점 scan은 아닐까요?
최신 패치가 적용된 sendmail로 업그레이드하세요.
개인적인 생각으로, cmd read 가 릴레이라고 판단하는 것은 좀 무리
개인적인 생각으로, cmd read 가 릴레이라고 판단하는 것은 좀 무리가 있다고 생각합니다.
예를 들어 외부의 MTA 가 hikris 님의 메일서버로 메일을 보내려고 할 때도 25 번 포트로 소켓을 열고 SMTP 명령어를 사용하여 메일을 전송하는 것 아닌가요 ?
그러는 동안에 cmd read 는 발생할 수 있을 것으로 생각됩니다만...
다시 말씀 드리자면 만일 제가, telnet 으로 hikris 님의 25 번 포트로 접속하면 해당 포트를 통해서 연결이 될 것이고, 그 이후 제가 아무런 작업도 하지 않는다면...
cmd read 라는 process 가 떠 있게 되는 것은 아닐까요 ?
雪害木
MSN:snowtree73@hotmail.com
답변주신분들께 감사드립니다. 일단 해결된듯 합니다.mqueue가 비어
답변주신분들께 감사드립니다. 일단 해결된듯 합니다.
mqueue가 비어있는것으로봐서 스팸서버들이 접속시도만 하고 메일을 보내지는 못한것 같습니다.
지금은 프로세스들이 더이상 생기지 않습니다.
저는 그냥 up2date 해버렸습니다.
sendmail.cf 기존것과 업데이트되면서 생겨난것을 비교해보니 딱 한가지가 다르군요.
262라인에
기존것은
O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA
으로 되어있고
업데이트된것은
O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
로 되어 있었습니다.
같은 sendmail 8.11.6 이지만 빌드넘버는 많이 차이가 나는군요.
저와 비슷한 경우를 겪으시는 분들이 있으시면 같은 방법으로 해결하시면 될듯합니다.
도움주신분들, 감사합니다.
댓글 달기