질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

자주 smtp가 먹통이 됩니다.

작성자 정보

  • 도리 작성
  • 작성일

컨텐츠 정보

본문

신현진 님의 글


안녕하세요..
제가 담당하고 있는 메일서버는 WOWlinux 7.3 기반에서  Sendmail 8.12 버전으로 구성되어 있습니다.
현재 메일서버의 현상은,  sendmail 데몬이 시작하고 나서 얼마 안있다가 메일보내기가 안됩니다. (받기는 되구요)
이럴 때 콘솔에서  telnet localhost 25 를 해보면, 연결이 안됩니다.
이때마다 sendmail 데몬을 죽였다가 다시 시작하는 것으로 해결을 했었는데,  최근부터는 거의 5~10분에 한번꼴로 smtp가 죽습니다.. 이때마다 데몬을 재시작 해 줄 수도 없고..-_-

여러 질문 글들을 쭉 살펴봤는데 저와 같은 현상 때문에 질문 올리신 분들이 생각보다 꽤 많더군요..
그런데,  답글이 없어서요..^^;

저 나름대로 책도 찾아보고, 문서도 찾아보고 하면서 의심되는 사항들을 정리하여 보았습니다.

첫째 :  /etc/init.d/sendmail start  하고 나서 바로 ps -ef를 해보면 
---------------------------------------------------------------------------------------------------------------------------------------------------------
root      7998     1  1 11:28 ?        00:00:00 sendmail: accepting connections
root      8007  7998  0 11:28 ?        00:00:00 sendmail: running queue: /var/spool/mqueue
smmsp     8009     1  0 11:28 ?        00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
root      8017  7998 12 11:28 ?        00:00:03 sendmail: iA42SvSW008017 NK219-91-107-   193.adsl.dynamic.apol.com.tw [2
root      8025  7998 26 11:29 ?        00:00:03 sendmail: iA42T8SW008025 NK219-91-111-146.adsl.dynamic.apol.com.tw [2
root      8026  7998 23 11:29 ?        00:00:02 sendmail: iA42TBSU008026 NK219-91-107-51.adsl.dynamic.apol.com.tw [21
root      8032     1  0 11:29 ?        00:00:00 sendmail: ./iA42T8SU008025 ms27a.hinet.net.: client MAIL
-------------------------------------------------------------------------------------------------------------------------------------------------------

위와같은 프로세스들이 동시에 쫙 뜹니다.   adsl.dynamic.apol.com.tw 와같은 것들은 혹시나 해서 access파일에서 discard로 해주었는데도 자꾸 뜹니다.  어떤 문서에서 오픈릴레이를 의심해야 한다고 해서 해당 사이트에서 검색해봤는데 오픈릴레이 되지는 않았다고 하구요..
물론 , maillog에서도 해당 도메인들에 관련한 로그들이  많습니다.   가령 아래와 같이 말이죠..

-------------------------------------------------------------------------------------------------------------------------------------------------------
Nov  1 09:11:55 mail sendmail[1226]: iA109HDa001132: to=<tasspne8@yahoo.com.tw>, delay=00:01:26, xdelay=00:00:02, mailer=esmtp, pri=180385, relay=mx1.mail.tw.yahoo.com. [202.1.238.248], dsn=2.0.0, stat=Sent (ok dirdel)
Nov  1 09:11:55 mail sendmail[1190]: iA109PDW001139: to=<jahui@seed.net.tw>, delay=00:01:57, xdelay=00:00:43, mailer=esmtp, pri=150393, relay=mx.seed.net.tw. [139.175.54.239], dsn=2.0.0, stat=Sent (OK id=1COPiY-000LMn-5h)
Nov  1 09:11:56 mail sendmail[1258]: iA109HDe001132: to=<tats@pchome.com.tw>, delay=00:00:58, xdelay=00:00:48, mailer=esmtp, pri=120394, relay=mx.pchome.com.tw. [211.20.188.150], dsn=4.0.0, stat=Deferred: 440 Error: Wrong recipients
---------------------------------------------------------------------------------------------------------------------------------------------------------
대충 해석해보면 제 메일서버에서  yahoo.com.tw란 계정으로 메일이 보내지고 있다는 소리인것 같은데..

(질문 1) 이런 쓸데없는 메일들이 왜 보내지는지?      정말 보내지고 있는 것이라면  (질문 2) 막을수 있는 방법은 없는지.?

두번째는요.. 현재  mqueue 디렉토리 용량이   아래와 같습니다.
       drwx------    2 root     mail     39014400     4 12:27    mqueue 
그래서 mqueue 를 삭제하려고,    rm  -rf   /var/spool/mqueue/*   명령어를 치자마자, 콘솔이 로그아웃 되어 버려서 큐 내용을 삭제할 수가 없습니다.
큐가 너무 많이 쌓여있어서 그럴 수 있을까 싶어서 이것을 삭제하고 싶은데.. (질문 3) 어떻게  안될까요?

또한,  메일 보내기를 하면  mqueue로 쌓인다고 들었는데.  clientmqueue 는 왜 있는 것인지,
왜 sendmail데몬을 시작하자마자  
  smmsp     8009     1  0 11:28 ?        00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
위와 같은 프로세스도 같이 뜨는지...    
(질문 4) 이게 궁금합니다..

너무나 긴 질문에 혹시나 이해가 되지 않으시면 다시 물어봐 주세요.^^
두서없는 질문 죄송하게 생각하며,  여러 선배님들의 조언 부탁드립니다.

 



질문 주신 정보만으로 답하긴 조금 힘들지만,

최대한 답변해 보도록 하겠습니다.

(질문 1) 이런 쓸데없는 메일들이 왜 보내지는지?      정말 보내지고 있는 것이라면  (질문 2) 막을수 있는 방법은 없는지.?

  요즘 홈페이지의 폼메일을 통해서 메일들이 많이 발송되고 있습니다. 지금도 그렇지만, ttboard 및 테크노트와 같은 프로그램에서 이런일이 허다히 있습니다.  막을 방법은 ttboard 및 테크노트를 사용한다면, 각각홈페이지가 있으니 패치 하시기 바랍니다.

두번째는요.. 현재  mqueue 디렉토리 용량이   아래와 같습니다.
       drwx------    2 root     mail     39014400     4 12:27    mqueue 
그래서 mqueue 를 삭제하려고,    rm  -rf   /var/spool/mqueue/*   명령어를 치자마자, 콘솔이 로그아웃 되어 버려서 큐 내용을 삭제할 수가 없습니다.

mailq 라는 명령어로 queue 내용을 볼수 있지만,... 저 정도라면 .. 넘넘 많을것 같네요.

먼저 ls -l /var/spool

해서 mqueue 의 권한 및 퍼미션을 보시고,

rm -rf /var/spool/mqueue

해서 디렉토리를 지우세요.

rm -rf /var/spool/mqueue/* 이렇게 하면 too many argument 이렇게 나오면서 지워지지가 않더군요.

이곳엔 스팸 메일이 없는 주소로 가는 놈들이 모여있을거에요.

 

큐가 너무 많이 쌓여있어서 그럴 수 있을까 싶어서 이것을 삭제하고 싶은데.. (질문 3) 어떻게  안될까요?

또한,  메일 보내기를 하면  mqueue로 쌓인다고 들었는데.  clientmqueue 는 왜 있는 것인지,
왜 sendmail데몬을 시작하자마자  
  smmsp     8009     1  0 11:28 ?        00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
위와 같은 프로세스도 같이 뜨는지...    
(질문 4) 이게 궁금합니다..

위 데몬은 정상적인것입니다.

 

종합정 견해..

해킹을 당했거나 .아니면 폼메일을 통해서 릴레이가 일어납니다.

서버가 죽는 이유도 .. sendmail 이 부하를 많이 일으키기 때문이죠.

일단. queue 를 정리하고, 관련 문서를 찾아서 빠른 조취해야 할것 같네요^^;

 

 

관련자료

댓글 1

sCag님의 댓글

  • sCag
  • 작성일
find /var/spool/mqueue -type f -exec rm -f {} ; 하시면 될듯~하고 폼메일이나 스팸 릴레이 체크 하시기 바랍니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,034 명
  • 현재 강좌수 :  35,787 개
  • 현재 접속자 :  206 명