스팸메일 관련하여 고수님들에게 질문합니다.
아 정말 구글링으로 몇달을 헤매어도
근본 원인을 찾기가 너무 힘드네요.ㅠㅠ 물어볼 사람도 없구..
본론으로 들어가서...
1. 시스템 구조
<폼메일이 달린 사이트> = (웹서버 + 메일서버)
* 웹서버와 메일서버(sendmail)를 한대의 장비에서 폼메일(php)이 달린 사이트를 운영중입니다.
* sendmail의 오픈릴레이는 되어있지 않고 내부 로컬릴레이만 허용이 되어있습니다.
* 폼메일로 nobody@ns1.test.co.kr 로 받게하여 DB에 등록되어있는 E-mail주소로 릴레이하게끔 되어있음.
* 폼메일은 POST형식으로 데이터를 전송함.(받는 메일에 대한 정보는 없음.)
* 폼메일은 fsockopen 형식으로 메일을 전송함.
2. 발생 문제
현재 저 시스템이 계속 스팸 발송 서버로 차단이 되고 있는데요.
저러한 구조로 되잇는 시스템에서 생각해볼수 있는건 내부에서 php등 불법으로 올라온 스크립트등의 파일로 인해서
내부에서 발송하는 경우.
폼메일(PHP) 프로그램의 취약점으로 내부에서만 허용된 SMTP를 이용하여 발송하는경우.
일단 전자의 경우를 생각하고 시스템에서 찾아봤는데 있더군요. 게시판을 통해서 올라온것들인데 예전에 업로드불가 포멧 로직을
적용하기전에 올라온 것들이라 싹 찾아서 지웠습니다. php로 되어있더군요.
KISA쪽에 일주일동안 스팸메일 발송 이력이 있나 확인을 하고 일주일간 발송이력이 없음을 통보받고 화이트도메인에 가입했는데
몇 주일 뒤부터 다시 스팸메일이 발송되고 있는것입니다. 다시 그러한 파일이 있나 찾아봤지만 도저히 찾을수 없었습니다.
(저희가 사용하는 php소스는 전부 zend로 암호화 되어있습니다. 오히려 검색이 용이하죠..)
그리고 후자의 경우를 생각하면 한 가지 걸리는게.
폼메일 프로그램의 버그나 취약점이 존재한다고 해도 일단 동작 로직을 알았다고 쳐도 받는 메일주소는 DB에 기록이 되어있어서
스팸을 보낸다고 쳐도 DB에 등록된 해당 메일주소로 스팸이 가야하는데 현재 불특정 다수로 뿌려지고 있는듯 합니다.(사실 이부분이 명확하진 않습니다..확인할 방법이 없기에..)
결론으로 말씀드리면
1. 제가 빠트리고 점검을 하지 않는 부분에 대한 조언 부탁
2. 혹시 예상되는 원인에 대한 조언 부탁
3. 이러한 시스템 구조로 폼메일을 사용하는것 말고 다른 시스템으로 바꾸어서 스팸메일에 대처되는 것이 있는지에 대한 조언 부탁
긴 글 작성하느라 횡설수설 설명한거 같은데 이해가 되셨을지요.ㅠㅠ
정말 너무너무 물어볼것이 많은데 물어볼 사람이 없다는것이 이렇게 힘든줄은 몰랐습니다... 저 나름대로 검색에 관한 탁월한 센스(?)를 가지고 있다고 자부하는데 구글링으로도 도저히 관련 자료나 비슷한 케이스를 찾기가 어렵더군요.ㅠㅠ
원격에서 공격 가능한 보안 취약점 이슈가 있는
원격에서 공격 가능한 보안 취약점 이슈가 있는 구버전의 소프트웨어를 사용하여 크래킹 당했거나,
PHP web shell 등을 통해서 시스템이 크래킹 당했을 가능성이 있습니다.
전체적인 시스템 보안 점검이 필요해보입니다.
RET ;My life :P
흠...
sendmail 관련하여 그러한 문제가 있는지 찾아봐야겠군요...
답변 감사드립니다.
메일발송인데, 왜 메일로그는 확인하지 않으십니까?
메일서버에서 스팸이 발송된다고 하면, 메일서버의 메일발송로그를 보는 것이 도움이 될 것 같습니다.
혹은, PHP라면 register_globals를 끄고 있는지, SQL Injection등의 문제는 없는지 확인할 수 있겠습니다.
차라리 로그에서 나타나면 좀 수월하겠지요..
그런데 php를 이용한 fsockopen() 함수로 발송한것은
로그로 남지 않는다고 합니다.
그러니 여태 스팸 메일이 발송되고 있었는지 전혀 알수가 없었지요...
register_globals 같은경우 on으로 되어있네요. 이건 저희쪽 코드가 작동하는지 테스트한 후 변경해야겟네요.
SQL 인젝션등의 특이 공격은 없는듯 합니다. 현재 웹방화벽을 설치해놓고 로그만 기록하고 있는데 ZmEU 이라는 원격공격기법 말고는 딱히 특이 동향은 보이지 않더군요.
크롬에서 해당사이트 접속해보세요^^
크롬에서 해당사이트 접속해보세요^^
혹시 악성코드 감염홈페이지로 뜨는지,,,
이 문제는 아닌듯하네요.
답변주셔서 감사합니다.
가장 기본적인 몇가지...
1. 스팸메일 Header 분석
kisa에 요청하셔서, 보관중엔 스펨메일 원본을 받아 Header를 분석해보세요.
상당히 많은 정보가 있습니다.
2. 시스템 해킹
웹 취약점에 악성 스크립트가 포함되어 있다는걸 발견하셨다면, 같은 취약점으로 시스템도 해킹당했을 수 있습니다.
해킹 툴(악성 스펨툴)을 찾는건 쉽진 않으나, 가장 먼저 해야할일은 Process 확인입니다.
apache가, httpd로
sendmail이 sendmaili 등으로 하나 더띄워져 있는 경우,
같은 프로세서의 부모 id가 다른 경우는 반드시 lsof -p 명령어등으로 프로그램의 위치를 확인하세요.
가장먼저, cron을 확인해보세요. crontab -l 와 /etc/crontab 모두 보셔야 합니다.
그리고 /tmp, /var/tmp, /usr/tmp, /var 디렉토리를 면밀하게 살펴보세요