컴퓨터 / Computer

sendmail 이 동작하지 않을때

Sendmail.org small logo.gif



어느날 갑자기 sendmail이 동작하지 않는다. 아니 "어느날 갑자기"는 해킹 당한 경우일 것이고 보통은 뭔가 작업을 했는데 그 작업이 시스템 설정을 변경한 경우일 것이다.


보통은 보안 설정을 강화했는데 그 설정이 예상하지 못한 결과를 가져온 경우다.


 Sep 23 17:41:25 cronos sendmail[1804]: accepting connections again for daemon MTA

Sep 23 18:02:28 cronos sendmail[1524]: starting daemon (8.14.4): SMTP+queueing@01:00:00

Sep 23 18:02:30 cronos sm-msp-queue[1533]: starting daemon (8.14.4): queueing@01:00:00

Sep 23 18:03:31 cronos sendmail[1547]: x8N93VmZ001547: from=checkbox, size=213, class=0, nrcpts=1, msgid=<201909230903.x8N93VmZ001547@cronos.checkbox.co.kr>, relay=root@localhost

Sep 23 18:03:34 cronos sendmail[1548]: NOQUEUE: tcpwrappers (localhost, 127.0.0.1) rejection

Sep 23 18:03:34 cronos sendmail[1547]: x8N93VmZ001547: to=soneus, ctladdr=checkbox (500/500), delay=00:00:03, xdelay=00:00:02, mailer=relay, pri=30213, relay=[127.0.0.1] [127.0.0.1], dsn=5.0.0, stat=Service unavailable



뭐든 동작이 잘 안된다면 로그를 살펴야 한다. sendmail의 경우 /var/log에 maillog 라는 파일로 로그를 남긴다. 위 예제는 보안 설정을 강화한 후에 이메일 발송이 안되어 나타난 경우다. 위 경우에 어느 부분에 중점을 두어야 할까? 이것저것 찾아보니 아래 문구가 핵심이었다.



 tcpwrappers (localhost, 127.0.0.1) rejection


무엇이 문제이길래 저런 오류가 났을까. 어떤 부분의 설정을 바꾸었는지 곰곰히 생각해보니 /etc 아래의 hosts.allow 와 hosts.deny 를 바꾸었다. 잘못된 사례는 아래와 같다.


* hosts.allow

 sshd: xxx.xxx.xxx.xxx


* hosts.deny

 ALL: ALL


위 사례는 모든 서비스에 모든 ip를 다 막아 둔 상태에서 sshd 포트에 접속할 수 있는 ip만 할당을 한 것이다. CentOS 6이하 버전에서 서비스할때는 아래와 같이 바꿔야 한다.



* hosts.allow

 sshd: xxx.xxx.xxx.xxx

 sendmail: ALL

 httpd: ALL

 ALL: 127.0.0.1


* hosts.deny

 ALL: ALL



이렇게 하면 hosts.deny 에 의해 강화된 항목에 예외처리로 sendmail 발송 기능을 살릴 수 있다. 그리고 sendmail이 동작하지 않는 사례에 대해서는 링크로 건 네이버 블로그를 참고하시기 바란다. 




Comments

할로윈 의상 마녀 모자 파티 코스튬 꼬깔 마법사모자
칠성운영자
나무막대기(50cm 10개) 사무용품 문구 교재류 준비물
칠성운영자
LED응원도구 라이트 LED토끼머리띠 귀여운야광머리띠
칠성운영자
영실업 파워배틀와치카 울트라 소나
칠성운영자