최근들어 웹페이지내의 '보안 취약점'을 이용한 해외에서의 스팸공격이 많아지고 있습니다.
메일서버에서 외부로 보내는 메일은 사용자의 편의를 위해 '스팸차단'을 하지 않고 있고,
특히 웹페이지에서 보내는 메일은 어떤 소스에서 발송되었는지 출처를 알기 어렵습니다.
따라서 다음 내용을 참고하셔서 스팸이 발송되는 출처를 찾아 차단하는게 중요합니다.
1. 발송 및 발송대기중인 메일이 많을 경우.
a) 스풀디렉토리의 용량을 체크합니다. 보통 20MB 미만이라면 발송대기중인 메일이 거의 없는 상태입니다.
du -ms /var/MailRoot/spool
20 /var/MailRoot/spool
b) 발송대기중인 메일의 목록 및 헤더를 확인해서 어떤 메일들이 발송되고 있는지 파악합니다. (발송후 10분이 지난 대기메일들)
find /var/MailRoot/spool/ -mmin +10 -type f|more
find /var/MailRoot/spool/ -mmin +10 -type f -exec head -n20 {} \;|more
find /var/MailRoot/spool/ -mmin +10 -type f -exec cat {} \;|more
2. 스팸이 대량발송중인 경우 스팸만 골라 삭제하는 방법.
발송대기중인 메일중 웹페이지에서 발송된 것들(즉 리턴주소가 <****@****>처럼 되어 있을 경우)은
아래처럼 확인후 삭제가 가능합니다.
grep -rlP '<****@****>' /var/MailRoot/spool/|xargs -n1 head|more
grep -rlP '<****@****>' /var/MailRoot/spool/|xargs -n1 rm -f
3. 웹페이지에서 발송된 스팸의 출처를 찾으려면 메일엔진로그와 아파치 웹로그를 비교분석해야 합니다.
a) 웹페이지에서 PHP mail()함수 등을 통해 발송한 경우의 로그 확인방법.
grep '****@****' /var/MailRoot/logs/smail-200706160000 |more
* 발송 로그 분석방법 - http://passkorea.net/nmailphp/엔메일_로그분석.doc
b) 메일엔진에서 스팸으로 추정되는 발송로그의 시간대를 파악함.
주로 새벽시간 등 특정시간대에 몰려있거나 계속 진행중임 패턴을 찾아야함.
c) 아파치 웹로그중 동일한 시간대에 스팸공격시 주로 사용되는 'POST'방식의 기록만 비교함.
grep '16/Jun/2007:04:' access_log|more
grep '16/Jun/2007:04:' access_log|grep 'POST'|more
* 아파치 웹로그가 여러개 있을 경우 모두 분석해보셔야 합니다.
* 의심이 가는 소스의 위치가 나온다면 해당 소스를 점검후 패치나 삭제를 하셔서 해결하셔야 합니다.
참고) 웹페이지에서 발송되는 메일에 대한 이해
웹페이지에서 발송되는 리턴주소가 ****@**** 처럼 존재하지 않는 주소로 지정되어 발송되는 경우가 많습니다.
이 경우 '도메인/사용자 알리아스 설정'을 통해 해당 메일의 리턴메일을 관리자계정에서 받을 수 있게 됩니다.
http://passkorea.net/Support/Tip/ViewDoc.aspx?cat=23&docNo=29827
특히 정상적인 웹페이지에서 발송되는 메일의 리턴주소가 존재하지 않을 경우 포털 등 다른 메일서버에서 차단당할 수 있습니다.
이 문제는 아래 내용을 참고하셔서 '리턴주소 강제지정'방식을 통해 해결이 가능합니다.
http://passkorea.net/support/FAQ/ViewDoc.aspx?cat=11&docNo=28977
출처 : http://passkorea.net/Board/ViewDoc.aspx?brdNo=11&docNo=29828&page=1&brdType=&schType=&schValue