스팸대응) 메일 릴레이대응 구글링 관련자료 펌업)다른 사람이 내 이메일을 사용하고 있나요? 이메일 스푸핑에 대해 알아보기
♨ 카랜더 일정 :
본문
다른 사람이 내 이메일을 사용하고 있나요? 이메일 스푸핑에 대해 알아보기
\r\n내 계정에서 보낸 것처럼 보이는 메일이 반송되었단 메일을 받거나, 스팸함에 '내'가 보낸 메일이 들어 있거나, 보낸 적이 없는 메일에 대한 답장을 받았다면 '스푸핑' 공격의 피해를 입은 것일 수 있습니다. 스푸핑이란 메일의 출처를 숨기기 위해 발송 메일에 가짜 발신자 주소를 사용하는 행위를 말합니다.
우편을 통해 편지를 보낼 때 대개는 받는 사람이 편지를 보낸 사람을 확인하고 또한 문제가 생긴 경우 우체국에서 편지를 보낸 사람에게 다시 반송할 수 있도록 봉투에 발송인 주소를 적습니다. 그러나 본인 주소가 아닌 다른 주소를 발송인 주소로 적어도 이를 확인할 방법이 없으며, 실제로 누군가가 봉투에 내 주소를 발송인 주소로 적어서 편지를 보낼 수도 있습니다. 이 점은 이메일도 마찬가지입니다. 서버는 이메일을 보낼 때 발신자를 지정하지만 이 발신자 입력란은 위조될 수 있습니다. 누군가가 내 주소에서 메일을 보낸 것처럼 위장한 경우 메일 전송에 문제가 발생하면 실제로 내가 보내지 않았더라도 메일이 나에게 반송됩니다.
내 주소에서 보내지 않은 메일에 대한 답장을 받은 경우 다음과 같은 두 가지 가능성이 있습니다.
- \r\n
- 메일이 스푸핑되어 나를 보낸사람으로 위조했습니다.\r\n
- 답장이 나에게 전송되도록 원래 메일 발송자가 답장받을 주소로 내 주소를 사용했습니다.
두 가지 경우 모두 내 계정이 도용되었음을 의미하지는 않지만 계정 도용이 우려되는 경우에는 내 계정에 대한 최근 액세스 기록을 확인해 볼 수 있습니다. 받은편지함의 맨 아래로 스크롤하여 '마지막 계정 활동 옆에 있는 '세부정보 링크를 클릭하기만 하면 됩니다.
\r\n자세한 내용을 보려면 다음에서 내 상황에 맞는 설명을 선택하세요.
\r\n\r\n\r\n\r\n스팸 발송자가 자주 사용하는 방법 중 하나는 '보낸사람:' 입력란에 수신자와 동일한 주소가 들어가도록 위조하여 메일을 보내는 것입니다. 스팸 발송자는 메일이 내 주소'에서' 전송된 것이기 때문에 Gmail 스팸메일 필터를 통과할 것으로 기대하지만, 그렇지 않습니다. Gmail은 Gmail에서 보내는 메일을 모두 인증하기 때문에 실제로 Gmail 사용자가 보내지 않은 메일을 구분해 냅니다. Gmail은 이와 같이 위조된 메일이 스팸함 폴더로 이동하도록 최선을 다합니다.
Gmail은 내 이메일 주소를 '나'로 바꿔 표시하기 때문에 메일 목록을 볼 때 스팸함 폴더에서 보낸 사람이 '나'로 되어 있는 스팸메일을 확인할 수 있습니다. 이러한 메일은 모두 누군가가 메일의 발신자 주소를 내 이메일 주소로 위조한 메일입니다.
만약 Gmail이 원치 않는 메일을 스팸으로 처리하지 않은 경우, 해당 메일 옆의 체크박스를 선택하고 받은편지함 상단의 스팸신고를 클릭하거나 메일을 연 다음 메일 상단의 스팸신고를 클릭하여 신고해 주시기 바랍니다.
또한 미국 연방통상위원회(Federal Trade Commission) spam@uce.gov로 불법 메일의 전체 헤더를 보내주시면 스팸 발송을 차단하는 데 많은 도움이 됩니다.
신원이 도용되었다고 판단되면 관할지역 경찰서로 신고하세요.
뷰PDF 1,2
office view
관련자료
-
링크
댓글목록
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
G5에서 메일기능을 사용하기 위한 phpmailer와 sendmail 설정법\r\nLV 6 현원추천 0조회 2911그누보드2014.02.05 13:43\r\n문서주소 - http://amina.co.kr/old/bbs/board.php?bo_table=tip&wr_id=140\r\n가입자 인증메일 및 비번 분실 시 이메일 보내기, 관리자에게 메일 보내기 등의 기능 사용을 위해 메일이 꼭 필요한 상황에서 방법을 몰라 검색과 시도를 반복, 삽질하다가 최종 한별아빠님의 조언으로 성공한 설정법을 정리했습니다.\r\n \r\n저와 같이 아무 것도 모르지만 자력으로 서버를 운영해보려는 분들께 조금이나마 도움이 될까해서 글 남깁니다.\r\n \r\n이 기회를 빌어, 그누보드 개발자분들과 ASR과 아미나 스킨을 제작해서, 하고자 하는 사람이면 누구나 스스로 해나갈 수 있도록 해주시고 도움을 주시는 한별아빠님께 깊은 감사의 말씀 드립니다. \r\n \r\n \r\n1. phpmailer 셋팅\r\n \r\n* G5에 기본으로 설치되는 plugin/PHPMailer_v2.0.4 는 사용하지 않음. 폴더 전체 삭제.\r\n* 최신판인 PHPMailer 5.2.7 로 대체함. (https://github.com/Synchro/PHPMailer)\r\n* 필요한 파일: 세개의 파일만 있으면 됨. (class.phpmailer.php, class.smtp.php, PHPMailerAutoload.php)\r\n* 위의 세 파일을 adm/ 폴더 안에 배치.\r\n* 복사해 넣은 3개 파일은 수정 필요 없음.\r\n \r\n2. G5 mailer.lip.php 파일 수정 \r\n(구글 메일 587포트, tls로 셋팅한 예제임. 네이버 등 다른 smtp를 사용하기 위해서는 해당 주소 넣어야 함. 네이버 imap서비스 이용 도움말 : ( http://help.naver.com/ops/step2/faq.nhn?fcatid=12469#도움말보기 )\r\n \r\n \r\n* 수정파일 : lib/mailer.lib.php\r\n \r\n \r\n* G5 원본 파일 내용 \r\n\r\n(4번줄)\r\n\r\ninclude_once(G5_PHPMAILER_PATH.'/class.phpmailer.php');\r\n\r\n\r\n(19번 ~ 29번줄)\r\n \r\n$mail = new PHPMailer(); // defaults to using php "mail()"\r\nif (defined('G5_SMTP')) {\r\n$mail->IsSMTP(); // telling the class to use SMTP\r\n$mail->Host = G5_SMTP; // SMTP server\r\n}\r\n$mail->From = $fmail;\r\n$mail->FromName = $fname;\r\n$mail->Subject = $subject;\r\n$mail->AltBody = ""; // optional, comment out and test\r\n$mail->MsgHTML($content);\r\n$mail->AddAddress($to);\r\n \r\n \r\n* 수정한 내용\r\n \r\n(4번줄)\r\n\r\ninclude_once(G5_ADMIN_PATH.'/class.phpmailer.php'); // adm 폴더 안으로 class.phpmailer.php 를 배치한 경로 설정\r\ninclude_once(G5_ADMIN_PATH.'/class.smtp.php'); // adm 폴더 안으로 class.smtp.php 를 배치한 경로설정\r\n \r\n \r\n(20번 ~ 40번) (붉은색이 추가된 내용임 _ username과 password 부분 자신의 것으로 수정 필요)\r\n\r\n$mail = new PHPMailer(); // defaults to using php "mail()"\r\nif (defined('G5_SMTP')) {\r\n$mail->IsSMTP(); // telling the class to use SMTP\r\n$mail->Host = G5_SMTP; // SMTP server\r\n$mail->Port = 587; // set the SMTP port\r\n}\r\n$mail->SMTPDebug = 2; // enables SMTP debug information,\r\n$mail->SMTPAuth = true; // enable SMTP authentication\r\n$mail->SMTPSecure = "tls"; // sets the prefix to the servier\r\n$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server\r\n$mail->Port = 587; // set the SMTP port for the GMAIL server\r\n$mail->Username = "username@gmail.com"; // GMAIL username\r\n$mail->Password = "비밀번호"; // GMAIL password\r\n$mail->CharSet = "UTF-8"; // class.phpmailer.php 의 기본값이 iso-8859-1 이므로, UTF-8 로 변경함.\r\n$mail->Encoding = "base64"; // 기본값이 8bit 이므로, base64로 변경함.\r\n$mail->From = $fmail;\r\n$mail->FromName = $fname;\r\n$mail->Subject = $subject;\r\n$mail->AltBody = ""; // optional, comment out and test\r\n$mail->MsgHTML($content);\r\n$mail->AddAddress($to);\r\n \r\n \r\n3. sendmail 프로그램 설정\r\n \r\napmsetup 및 autoset 등으로 설치한 경우 기본 sendmail 프로그램 설치됨.\r\n아래와 같이 설정\r\n \r\nSMTP 서버 주소 : smtp.gmail.com\r\nSMTP 서버 포트 : 587\r\n기본 도메인 : 자신의 도메인 명\r\n오류 기록 파일명 : error.log\r\nSMTP 인증용 ID : username@gmail.com\r\nSMTP 인증용 패스워드 : 비밀번호\r\nSMTPS(SSL) 지원 : tls 선택\r\n \r\n \r\n4. sendmail 프로그램이 설치되어 있지 않은 경우\r\n \r\n다운로드 주소 : http://glob.com.au/sendmail/\r\n \r\nphp 경로설정 필요.\r\nphp.ini 파일의 1013번째 줄\r\n(라인은 다를 수 있음. 다를 경우 아래 문구 찾아서 수정)\r\n \r\n; For Unix only. You may supply arguments as well (default: "sendmail -t -i").\r\n; http://php.net/sendmail-path\r\nsendmail_path =D:/APMsetup/Server/sendmail/sendmail.exe –t (경로는 자신의 설치 환경에 맞게 수정해야 함)\r\n \r\n \r\nsendmail 경로 : 다운로드한 sendmail 설치한 경로/sendmail.exe –t 로 설정 (예제, D:/APMsetup/Server/sendmail/sendmail.exe –t )\r\n \r\n \r\n다운로드한 sendmail 프로그램 폴더 내의 sendmail.ini 파일에서 설정값 수정\r\n \r\n‘;’ 가 없는 라인에 위의 설정값(3. sendmail 프로그램 설정)과 같이 수정\r\n \r\n \r\n5. config.php 파일 수정\r\n \r\nconfig.php 파일에서 149번 라인 내용을 주석처리\r\n \r\n//define('G5_SMTP', '127.0.0.1');\r\n \r\n \r\n \r\n참고 문서\r\nsir의 sbtech님 글 - http://sir.co.kr/bbs/board.php?bo_table=g5_tip&wr_id=947\r\n \r\n내용 정리되기까지 삽질한 이력\r\nhttp://amina.co.kr/bbs/board.php?bo_table=qna&wr_id=6892#c_7019
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
PHP Sendmail 로그분석 스팸 탐지 정리입니다.\r\n 혀니천사 2015.12.08 02:45:13 조회 961 댓글 0 목록\r\n1. 개요\r\n서버관리자들에게 있어서 스팸메일 보내는 인간들은 때려죽이고 싶은 충동을 \r\n불러일으킵니다.\r\n다른 해킹과 달리 스팸공격하는 건 로그분석해서 찾기도, 막기도 어렵습니다.\r\n더구나, 많은 스팸이 한메일이나 네이버,구글 메일서버로 보내지다 보니,\r\n한메일이나 네이버 메일서버 측에서 멀쩡한 메일서버 ip 를 차단해서\r\n선량한 일반 메일 사용자들이 메일이 발송되지 않아 피해를 입습니다.\r\n아래에,\r\n리눅스 서버에서 sendmail 데몬 관련해서 삽질하면서 알게 된 정보를 공개합니다. \r\n허접합니다만, 나보다 더 허접한 관리자들에게 조금이나마 도움이 되었으면 합니다.\r\n\r\n2. 서버환경\r\n- OS : CentOs 5.x (레드햇 계열)\r\n- Sendmail 버전 : 12.x, 13.x\r\n- POP3 데몬 : dovecot, qpopper 등\r\n- 메일 로그 파일 : /var/log/maillog\r\n\r\n3. 웹소스 통한 스팸 발송 관련\r\n- 그누보드나 제로보드등 웹사이트 게시판의 첨부파일 업로드 기능의 헛점을\r\n이용해서 서버에 .php 같은 실행파일을 저장한 후 외부에서 이 파일을 통해서 \r\n스팸을 발송하는 방법입니다.\r\n문제는, 이렇게 웹경로에 업로드한 후 스팸메일을 보내면 해당 서버에 있는 sendmail \r\n로그에 잘 기록이 안됩니다. \r\nphp 모듈이 웹서버권한을 이용해서 막바로 보내므로 특정 사용자 계정을\r\n알수가 없습니다. 또 한 외부 서버에 포트 접속해서 발송한다면 내부 메일서버에는\r\n기록이 남지 않게됩니다.\r\n이건 maillog 분석으로는 알기어렵고, 반드시 무단으로 업로드된 해킹 파일을\r\n찾아서 삭제해야 합니다.\r\n여기서는 간단한 방법만 소개합니다.\r\n만약 웹로트가 /home/mywebsite_home/public_html 인 곳에 그누보드가 설치됐고\r\nfreeboard 라는 게시판아이디를 사용했다면\r\n/home/mywebsite_home/public_html/data/file/freeboard 이곳에 첨부파일이 \r\n저장되므로 보통 이런 곳에 해킹파일이 업로드 됩니다.\r\n# pwd \r\n/home/mywebsite_home/public_html/data/file/freeboard \r\n# ls *.php\r\nIist.php corp.php meixia.php each.php dm.php yh.php lele.php mem.php\r\n와 같이 게시판 저장경로에 이상한 php 파일이 저장되어 있으면 해킹당한겁니다.\r\n파일 이름과 확장자는 수시로 바뀌더군요.\r\nhttp://mywebsite.co.kr/data/file/freeboard/lele.php\r\n같이 웹접속 해서 불순한 짓을 쥐도새도 모르게 하게 됩니다.\r\n- 일단 http://www.krcert.or.kr/index.jsp 에 있는 whistl 같은 도구로\r\n웹루트 디렉토리의 전체 소스를 점검해서 해킹된 파일을 점검해 보는 것이\r\n좋습니다. 사용법은 위 사이트를 참조하시기 바랍니다.\r\n- 가장 강력한 해결책은 위 첨부파일이 저장되는 웹서버의 data 같은 디렉토리에서 \r\nphp 같은 서버 사이드 스크립트가 실행이 안되게 해야 합니다.\r\ndata 디렉토리 안에 .htaccess 파일을 아래와 비슷하게 시행안될 확장자를 지정해서\r\n생성합니다.\r\n# cat .htaccess \r\n<FILES ~ "\.ph(p[2-6]?|tml)$|\.htm$|\.html$|\.inc$"> \r\nOrder allow,deny \r\nDeny from all \r\n</Files> \r\n와 같이 넣어두면 위에 나열된 확장자 파일에 대한 접근이 거부되어 실행이 안됩니다.\r\n한가지 주의할 건\r\n아파치 웹서버 설정파일 httpd.conf 등에서 php 스크립트가 실행될 확장자에 맞게\r\n나열해야합니다.\r\nhttpd.conf 파일에\r\nAddType application/x-httpd-php .html .htm .php .php3 .php4 .php5 .phtml .cgi .inc\r\n이런 방식이나 혹은\r\n<FilesMatch "\.ph(p[2-6]?|tml)$|\.htm$|\.html$|\.inc$">\r\nSetHandler application/x-httpd-php\r\n</FilesMatch>\r\n와 같은 방식으로 php 실행 확장자를 넣는데, 이렇게 httpd.conf 에서 지정된 확장자를 \r\n모두 .htaccess 파일에서 지정을 해줘야 php 파일 실행을 막을 수 있습니다.\r\n이런 차이를 이용해서 좀 생소한 .phtml 이나 php2 등으로 확장자를 바꾸어서 저장하여\r\n공격하는 경우도 있습니다.\r\n자신의 웹서버 설정에 따라서 .htaccess 파일의 내용이 달라질겁니다.\r\n \r\n4. POP 접속을 이용한 sendmail 공격\r\n1) 아이디 비번 해킹\r\n해커는 스팸을 보내기 위해 서버의 메일 계정 아이디 비번을 \r\n탈취하려고합니다.\r\n비밀번호를 1234 나 1111 혹은 아이디끝에 1234 등을 붙이는 등 단순하게 하면\r\n무차별 대입공격으로 쉽게 알아낼 수 있습니다.\r\n이런 공격은 ssh 나 ftp, telnet 등을 통해서도 자주 이루어 집니다.\r\n/var/log/message 나 ,/var/log/secure 파일등에서 가끔 무지막지한 기록을 볼 수 \r\n있을겁니다.\r\n여기서는 pop3 를 통해 시도한 공격흔적을 maillog 파일에서 찾아보겠습니다.\r\n- POP3 데몬으로 dovecot 을 사용할 경우\r\n# grep "Aborted login:" /var/log/maillog\r\n...\r\n9861 Nov 28 09:39:18 home7 dovecot: pop3-login: Aborted login: user=<chung>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n9862 Nov 28 09:39:18 home7 dovecot: pop3-login: Aborted login: user=<hwan>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n9863 Nov 28 09:39:18 home7 dovecot: pop3-login: Aborted login: user=<choi>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n9864 Nov 28 09:39:19 home7 dovecot: pop3-login: Login: user=<chung>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n9865 Nov 28 09:39:19 home7 dovecot: POP3(chung): Disconnected: Logged out top=0/0, retr=0/0, del=0/2, size=11095\r\n9866 Nov 28 09:39:20 home7 dovecot: pop3-login: Aborted login: user=<chen>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n9867 Nov 28 09:39:20 home7 dovecot: pop3-login: Aborted login: user=<sung>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n메일로그에서 "Aborted login:" 문구로 grep 했을때 동일한 rip= 값으로 수백\r\n수천 줄이 길게 나온다면 이건 비밀번호 해킹이 이루어 진겁니다.\r\n보통 자주 쓰는 아이디인 web, admin, root,webmaster 같은 계정이나 혹은\r\n한국에서 자주 쓰는 sung,yong,choi 같이 추측 가능한 아이디를 이용해서 \r\n비번이 1234 같이 간단한걸 무작위로 연속 대입해서 알아내는 겁니다.\r\n위 로그에서는 64.31.40.137 라는 듣보잡 ip 에서 공격한 예입니다.\r\n9864 라인에 chung 라는 계정이 결국 재수없게 뚫려서 정상 로그인 처리된 걸 확인할 \r\n수 있습니다.\r\n나중에 확인해 보니 이 사용자는 비밀번호로 chung1234 를 사용하고 있었다고 합니다.\r\n- POP3 데몬으로 qpopper 을 사용할 경우\r\n만약 pop3 로 qpopper 를 사용한다면 아래와 같이 "Password supplied" 라는 걸로\r\ngrep 하면 비슷하게 확인 가능합니다.\r\n여기서는 222.179.203.46 에서 수천번의 비밀번호 넘겨짚으려는 시도가 있었습니다.\r\n# zgrep "Password supplied" ./maillog.1.gz \r\n...\r\nNov 21 14:21:33 home3 popper[20898]: web at 46.203.179.222.broad.cq.cq.dynamic.163data.com.cn (222.179.203.46): -ERR [AUTH] Password supplied for "web" is incorrect.\r\nNov 21 14:21:33 home3 popper[20899]: user at 46.203.179.222.broad.cq.cq.dynamic.163data.com.cn (222.179.203.46): -ERR [AUTH] Password supplied for "user" is incorrect.\r\nNov 21 14:21:35 home3 popper[20906]: admin at 46.203.179.222.broad.cq.cq.dynamic.163data.com.cn (222.179.203.46): -ERR [AUTH] Password supplied for "admin" is incorrect.\r\nNov 21 14:21:37 home3 popper[20911]: webmaster at 46.203.179.222.broad.cq.cq.dynamic.163data.com.cn (222.179.203.46): -ERR [AUTH] Password supplied for "webmaster" is incorrect.\r\n\r\n2) pop3 클라이언트 사용시 로그 형태\r\n- 일반적으로 사용하는 아웃룩과 같은 메일 클라이언트로 접속해서 메일을 발송할 경우\r\nsendmail 로그에 어떻게 기록되는지 먼저 보겠습니다.\r\n## POP 아웃룩 연결\r\n..\r\nDec 1 16:35:59 home5 sendmail[31579]: AUTH=server, relay=[112.187.xxx.xx], authid=nonots, mech=LOGIN, bits=0\r\nDec 1 16:35:59 home5 sendmail[31579]: pB17ZvAS031579: from=<000001ccb0b9$9b14ed20$d13ec760$@com>, proto=ESMTP, daemon=MTA, relay=[121.166.xxx.xxx]\r\nDec 2 15:14:10 home7 sendmail[6835]: pB26E7mm006835: Milter add: header: X-Virus-Scanned: clamav-milter 0.97.2 at home7.myhome.co.kr\r\nDec 2 15:14:10 home7 sendmail[6835]: pB26E7mm006835: Milter add: header: X-Virus-Status: Clean\r\n..\r\n와 같이 검색이 될겁니다\r\ngrep 검색에서 [, ] 문자를 사용하려면 위와 같이 역슬래시로 처리해 줘야 합니다.\r\n만약 너무 길어서 보기 힘들다면 authid= 부분만 검색해서 어느 계정으로\r\n발송 중인지 알 수 있습니다.\r\n# grep "\[6835\]" /var/log/maillog | grep authid\r\nDec 2 15:14:10 home7 sendmail[6835]: AUTH=server, relay=[121.166.xxx.xxx], authid=jychoi, mech=LOGIN, bits=0\r\n..\r\n와 같이 jychoi 라는 계정으로 121.166.xxx.xxx 에서 접속해서 메일을\r\n발송 중입니다.\r\n만약 이 발송이 정상이 아니라 스팸 의심이 된다면 위에서 검색한\r\n# zgrep "authid=" /var/log/maillog* | awk '{print $8}' | sort | uniq -c | grep authid | sort -r\r\n의 결과를 보거나 기타 방법으로 스팸 여부를 판단하면 됩니다.\r\n실제 jychoi 사용자에게 전화해서 지금 메일 발송중인지 물어볼 수있다면 제일 정확하겠죠.\r\n그리고 보통 스팸은 늦은밤이나 새벽 시간대에 보내므로 발송 시간을 보고\r\n어느정도 추정할 수도 있습니다.\r\n\r\n5) 스팸발송일 경우 대처 방법\r\n- 장난이 아니라면 모든 메일로그를 압축해서 보관하고 "기관"에 신고하면 됩니다.\r\n귀찮아서 그냥 자체 해결하려면,\r\n(0) sendmail 데몬을 중지합니다.\r\n(1) 우선 스팸 발송한 ID 계정을 폐쇄하거나, 혹은 실제 사용자에게 연락해서\r\n비밀번호를 수정하도록 강제합니다.\r\n(2) 해킹 의심되는 IP 를 차단합니다. 아래와 같이 iptables 로 해도 되고\r\n# iptables -I INPUT -s 194.51.238.89 -j DROP\r\n# iptables -I OUTPUT -s 194.51.238.89 -j DROP\r\n/etc/mail/access 파일이나, /etc/hosts.deny 등을 이용하거나\r\n하여튼, 방화벽에서 막을 수 있는 모든 수단을 동원해 막습니다.\r\n(3) /var/spool/mqueue 를 청소합니다.\r\n아이디나 아이피를 차단해도 sendmail 데몬의 큐에 저장된 건 일정시간 계속\r\n발송하려고 시도하게 됩니다.\r\n194.51.238.89 이 아이피로 생성된 큐의 임시파일을 \r\n아래와 같이 일괄 삭제 가능합니다.\r\n# grep -l 194.51.238.89 /var/spool/mqueue/* | xargs -i rm -f {}\r\n(4) sendmail 데몬을 재시작합니다.\r\n아마 재시작해도 일정시간 동안 큐에 있는 파일 때문에 일부 스팸 발송\r\n시도가 있을수 있습니다. 그건 수동으로 큐파일 이름을 확인해서 \r\n삭제해 주면 됩니다.\r\n출처: http://sir.kr/pg_tip/14687
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
10.98.160.140\r\n10.98.204.72
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
스펨메일중계 해결방법\r\nhttp://m.cafe.daum.net/khl3988/2Ejh/92?q=D_tekDbNWk9mw0&\r\n\r\n스펨메일중계 해결방법\r\n유지연|08.04.15|90\r\n목록댓글 0가가\r\nsendmail을 이용하고 있는 Linux에서 간단한 스팸메일중계 차단 방법을 \r\n소개하니, 이것을 참조하여 메일서버가 제3자에 의해 스팸메일 중계서버로 \r\n도용되는 것을 방지하여 주시기 바랍니다. 또한 최근 국내의 각 ISP는 \r\nSpam Mail에 대하여 Network Block 전체에 대한 차단을 하는 작업을 하는 상황입니다. \r\n\r\n스팸메일 중계라는 것은 발신자가 수신자의 메일서버로 직접 메일을 보내는 \r\n것이 아니라 임의의 메일서버를 경유시켜 보내는 것을 말하며, 경유되는 메일서버는 \r\n메일중계가 허용되어 있다고 말합니다. 일반적으로 메일을 보낼때 인증과정을 \r\n거치지 않으므로, 메일중계가 허용되어 있는 경우가 많습니다. \r\n\r\n이러한 특성을 이용하여 스팸메일발송자들은 메일중계가 허용된 메일서버를 \r\n찾아 불특정다수에게 메일을 대량 발송하고 있습니다. 따라서 메일서버에서는 \r\n메일중계기능을 없애고, 불가피한 경우에는 스팸메일발송자들에 의해 \r\n메일서버가 도용되는 현상을 피할 수 있도록 조치하여야 합니다. \r\n만약 그러한 조치를 취하지 않으면 향후 메일서버에 발송된 메일들이 다른 \r\n기관의 메일서버에서 거절되는 현상이 발생하게 되고 많은 불이익을 당하게 되므로 \r\n로 신속한 조치하여 합니다. \r\n\r\n스팸메일중계가 허용되어 있는가 여부는 \r\n\r\nhttp://www.whchang.com/netprg/is-relay.pl \r\n\r\n를 방문하여 메일서버명, 혹은 ip을 입력해 보면 알 수 있습니다. \r\n스팸메일중계를 차단하는 가장 좋은 방법은 메일서버로 메일을 보낼 수 있는 \r\n사람들에게 인증을 하는 것입니다. sendmail v8.10 이후로는 메일 발신시 \r\n인증기능이 지원된다고 하므로 이것을 이용하면 될 것입니다. \r\n아래에서는 Linux에서 많이 이용하고 있는 sendmail에서의 SPAM 메일 방지 \r\n방법이니 참고하시어 활용해 주시기 바랍니다. \r\n\r\n1.sendmail에서의 SPAM 메일 방지 (인증기능을 이용한) \r\n\r\n먼저 소스를 받아서 설치하는 방법을 알려드리겠습니다 \r\n소스는 7개가 필요합니다. \r\n(첨부한 mail.tar를 압축을 풀면 다음과 같은 파일이 있습니다.) \r\n\r\nopenssl-0.9.4-1.i386.rpm \r\nopenssl-devel-0.9.4-1.i386.rpm \r\nlibsasl-1.5.24-2kr.i386.rpm \r\nsendmail-cf-8.10.2-1kr.i386.rpm \r\nsendmail-devel-8.10.2-1kr.i386.rpm \r\nsendmail-doc-8.10.2-1kr.i386.rpm \r\nsendmail-8.10.2-1kr.i386.rpm \r\n\r\n이 소스를 순서대로 설치하시면 됩니다. 설치는 \r\nrpm -ivh openssl-0.9.4-1.i386.rpm \r\n혹은 sendmail 을 쓰시고 계셨다면 \r\nrpm -Uvh openssl-0.9.4-1.i386.rpm \r\n\r\n\r\n이런 식으로 입력하면 됩니다. \r\n그렇게 소스를 푸시고 /etc/mail 디렉토리 안에 보시면 local-host-names \r\n이라는 파일이 생깁니다. 그 파일의 용도는 /etc/sendmail.cw (또는 /etc/mail/sendmail.cw)파일에 \r\n들어있던 도메인명들 그러니까 서버에서 메일서버를 사용할 도메인명이 적혀 \r\n있는 파일입니다. 이 파일에 있는 내용을 local-host-names 로 파일명을 \r\n바꾸어주시면 됩니다 etc/mail/sendmail.cf 파일에 vi 에디터로 들어가셔서 \r\n검색 "/Fw" 라고 하시면 \r\nFw/etc/mail/local-host-names 이라는 부분이 있을 겁니다. 이부분이 맞는지 확인하시고 \r\n만일 그렇게 되어있지 않다면 앞부분처럼 처리해주세요. 그리고 \r\n다른 변경 사항은 없습니다. \r\n\r\n[root@hosting28 /etc]# cd /etc \r\n[root@hosting28 /etc]# cp sendmail.cw mail \r\n[root@hosting28 /etc]# mv sendmail.cw ./mail/local-host-names \r\n\r\n그리고 \r\nsendmail 데몬을 다시 띄우시면 됩니다. \r\n(모르시는 분들은 없겠지만 /etc/rc.d/init.d/sendmail restart 하시면 됩니다. ) \r\n위에서 하는 방법대로하면 서버 내 등록되지 않은 사용자는 smtp 서버를 사용할 수 \r\n없게 됩니다 \r\n\r\n그리고 아웃룩에서 설정만 변경하시면 됩니다 고객님들께서 확인해주실 내용은 \r\n현재 멜 세팅이 되어있는 아웃룩을 통해 말씀드리겠습니다. \r\n\r\n도구-> 계정-> 현재 사용하시는 멜 등록정보 -> 서버 쪽으로 \r\n이동하시게 되면 \r\n\r\n서버정보 \r\n받는메일 서버 종류 pop3 \r\n받는메일(pop3) aaa.co.kr \r\n보내는 메일(smtp) aaa.co.kr \r\n받는메일서버 \r\n계정이름 aaa01 \r\n암호 ****** \r\n\r\n이런식으로 세팅이 되어있습니다 \r\n메일을 보내는 이용자들이 다시 한번 체크를 해주실 부분은 맨 하단 \r\n보내는 메일서버 "인증필요" \r\n부분 체크박스 부분만 체크해주시면 됩니다. 다른 사항은 없습니다 \r\n그렇게 하시면 현재 메일서버에 등록된 이용자들만 사용할 수 있습니다. \r\n이부분만 이용자들이 확인을 해주시고 체크만 해주시면 메일서버가 \r\n외부 스패머들에서 사용되는 일이 없어질 것입니다. \r\n\r\n2. sendmail 을 down 시키는 방법 \r\n만일 sendmail 을사용 할 필요가 없다면. \r\n/etc/rc.d/init.d/sendmail stop \r\n\r\n\r\n\r\n3. sendmail.cf 파일내에 있는 아래 내용의 주석을 제거( Relay 기능을 사용할 필요가 없다면) \r\n#R$* $#error $@ 5.7.1 $: "550 Relaying denied" \r\n\r\nR$* $#error $@ 5.7.1 $: "550 Relaying denied" \r\n\r\n이 부분의 주석을 제거 하시면 됩니다. \r\n\r\n4. 위의 작업들을 마친 후 외부에서 또는 내부의 사용자가 메일을 보내는 데도 \r\n메일이 도착하지 않는 경우(실제로는 메일전송이 거부되는 것임.) \r\n아래와 같이 설정하십시오. \r\n\r\n/etc/mail/sendmail.cf 에서 \r\nR<FAIL> $#error $@ 5.7.1 $: "550 Relaying denied. IP name lookup failed " $&{client_name} 를 \r\n#R<FAIL> $#error $@ 5.7.1 $: "550 Relaying denied. IP name lookup failed " $&{client_name} 로 \r\n주석처리 하십시오. \r\n\r\n\r\n\r\n\r\n그리고 NT/2000 인 경우는 현재 처리방법에 대해 조사 중이니 MAIL PROGRAM 을 구입한 곳에서 \r\n처리하는 방법에 대해서 문의를 하셨으면 합니다. 그리고 방법을 모르신다면 문제가 심각한 만큼 \r\n빠른 조치를 우선적으로 처리하셨으면 합니다. \r\n\r\n참고 자료- \r\n\r\nnt/2000 에서 EMWAC를 사용하시는 고객분께서는 EMWAC 메일 서버 스팸 및 릴레이 서버 방지 를 \r\n할 수 있는 사이트를 알려드리니 참고하시기 바랍니다. \r\n\r\nhttp://inoc.nuri.net/ \r\n\r\n위 사이트에 가시면 상단에 배워봅시다라는 메뉴가 있습니다. 배워봅시다 메뉴를 클릭하\r\n면 하단에 네개의 그림이 뜨는데 네번째 그림인 windows NT 그림을 클릭하면 \r\nEMWAC 메일 서버 스팸 및 릴레이 서버 방지 라는 글이있습니다. 이것을 클릭하면 됩니다. \r\n이 사이트는 한국피에스아이넷 고객지원센터 사이트로서 Emwac 에서 스펨릴레이 방지에 대한 \r\n설명 페이지가 있는 곳입니다. \r\n설명 페이지로 바로가고 싶으시다면 \r\nhttp://inoc.nuri.net/letslearn/nt/17.html 이 사이트로 가시면 됩니다. \r\n\r\n\r\nhttp://www1.sica.com/IMS/ \r\n\r\n위 사이트는 추가적으로 EMWAC 메일 서버 스팸 및 릴레이 서버 방지를 하기위해 필요한 antirelay \r\n프로그램 을 구하실 수 있는 사이트입니다. \r\n위 사이트로 가셔서 찾기를 하시고 antirelay 라는 키워드로 검색하시면 됩니다. //
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
Sendmail - Spam 발송 계정 및 IP 확인하기\r\nhttp://faq.hostway.co.kr/Linux_Mail/3296\r\n\r\n호스트웨이 | 2012.09.14 02:21:57 | Read. 8025\r\n\r\nSendmail로 구축한 메일 서버 운영시 별도의 방화벽 정책이나 Relay 설정을 하지 않았다면 로컬 계정의 패스워드 취약점을 이용하여\r\n스팸 메일 발송에 악용 당하는 경우가 종종 발생 합니다.\r\n \r\n어떤 IP에서 어떤 메일 계정에 접속하여 스팸을 발송 하는지 아래와 같은 방법으로 확인 해볼 수 있습니다.\r\n \r\n \r\n1. 메일 계정별 접속 횟수 통계로 확인\r\n \r\n# zgrep "authid=" /var/log/maillog* | awk '{print $8}' | sort | uniq -c | grep authid | sort -r\r\n79897 authid=tony,\r\n 16 authid=bob,\r\n 7 authid=sam,\r\n 5 authid=tomas,\r\n \r\n위 명령어는 메일 로그상 아웃룩 같은 메일 클라이언트 에서 정상적으로 계정에 로그인한 정보를 추출하여 각 계정별로 횟수를 측정하는 방법입니다.\r\n결과에서 보이듯이 79897번의 접속이 측정된 tony 계정이 해킹 당한 것으로 추측할 수 있습니다.\r\n \r\n \r\n2. IP별 접속 횟수 통계로 확인\r\n \r\n# zgrep "authid=" /var/log/maillog* | awk '{print $7}' | sort | grep relay | uniq -c | sort -r\r\n \r\n79944 relay=[174.136.57.35],\r\n 74 relay=[61.130.119.48],\r\n 4 relay=[121.135.253.58],\r\n 3 relay=[121.135.253.95],\r\n위 명령어는 1번과 비슷한 방식으로 IP 정보만 추출하여 접속 횟수를 측정 하는 방법입니다.\r\n결과에서 보이듯이 174.136.57.35 IP에서 79944번의 접속이 이루어 졌음을 알 수 있습니다.\r\n \r\n이제 스팸 발송 계정과 원인이 되는 Source IP를 찾았으니, 해당 계정의 패스워드 변경 및 원인 IP 차단 등의 조치를 진행 합니다.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
Sendmail Spam 방지설정\r\n홍베\r\n2013.11.05 23:27 댓글수0\r\n# 이 글은 싸이월드 블로그에 내가 작성했던 글을 옮겨온 글이다. #\r\n \r\n \r\n/etc/mail/access 를 이용한 방법\r\n \r\n특정 IP나 도메인, 이메일주소 등 특정 네트워크에 대하여 sendmail이 거부할 수 있도록 설정가능...\r\n정확히 말하면 sendmail의 메일전달 제한 대상은 본 sendmail 서버를 거쳐가는 메일들로서\r\n메일을 보내는자(IP주소,도메인,메일주소 등)나 메일을 받는자(다른 SMTP서버)가 그 대상이 된다.\r\n \r\n[root@CENT ~]# vi /etc/mail/access\r\nlocalhost.localdomain RELAY\r\nlocalhost RELAY\r\n127.0.0.1 RELAY\r\n \r\nhung.co.kr RELAY\r\nsuperuser.co.kr RELAY\r\n \r\nspam.com RELAY\r\nspamuser@spam.com DISCARD\r\n211.223.191.123 REJECT\r\n192.168.2. REJECT\r\n192.168.3.0/255.255.255.0 REJECT\r\n \r\n \r\n[옵션설명]\r\n(1) RELAY :: 지정된 메일의 수신/발신을 허용\r\n(2) REJECT :: 지정된 메일의 수신/발신을 거부\r\n(3) DISCARD :: 메일을 받은 후 폐기해 버린다. 단, 메일발신자에게 폐기통보를 전혀 하지 않는다. /etc/mail/sendmail.cf 에 지정된 $#discard mailer 에 지정된 곳으로 메일을 폐기한다. (발신자는 메일이 발신된 것으로 암)\r\n(4) OK :: 조건없이 지정된 메일의 수신/발신을 허용\r\n(5) "501 메시지" :: 메일주소가 일부분이상 일치할 경우 지정된 "메시지"로 거부하게 된다. 지정된 메일 주소와 일치된 메일 받지 않음\r\n(6) "502 메시지" :: 발신메일주소에 host명이 없을 경우 메일을 받지 않음\r\n(7) "503 메시지" :: 지정된 도메인과 관련된 메일을 받지 않음\r\n(8) "550 메시지" :: 특정한 도메인에 대해 지정된 "메시지"로 거부\r\n(9) "571 메시지" :: 주로 스팸메일의 경우 사용하는 설정으로 지정된 "메시지"로 경고메일을 보낸 후 거부\r\n(1) "572 메시지" :: 위의 571 설정과 거의 유사한 설정\r\n-----------------------------------------------------------------------------------------------------\r\n \r\n/etc/mail/access 파일을 편집한 후에는 다음과 같이 makemap 유틸리티를 통해 /etc/mail/access.db 파일을 생성한다.\r\nmakemap hash /etc/mail/access.db < /etc/mail/access\r\n또는 간편하게 /etc/mail/디렉토리에서 그냥 make만을 실행해도 /etc/mail/access 파일뿐 아니라 /etc/mail/virtusertable 파일을 포함하여 변경된 사항을 모두 적용해준다.\r\n \r\n실제로 sendmail은 /etc/mail/access 파일을 사용하는 것이 아니라 db파일을 사용한다.\r\n \r\n/etc/mail/access.db 파일에 실제로 등록이 되었는지 확인하기 위해 strings 명령어를 사용하여 확인해본다. 텍스트파일이 아니기때문에 vi나 cat으로는 볼 수 없다.\r\nstrings /etc/mail/access.db\r\n[출처] (6) /etc/mail/access 이용한 스팸메일 방지법 (넷 ACK) |작성자 유수\r\n\r\n \r\n/etc/mail/sendmail.mc 수정\r\n\r\n[ Korean White Domain 설정시]\r\n\r\nFEATURE(dnsbl, `blackholes.mail-abuse.org', `Rejected - see http://www.mail-abuse.org/rbl/')dnl\r\nFEATURE(dnsbl, `spamlist.or.kr', `Rejected - see http://www.kisarbl.or.kr/')dnl\r\n\r\n[Spam Filtering 해외 블랙 도메인 설정시]\r\nFEATURE(`dnsbl', `relays.ordb.org', `"Rejected due to Open Relay see http://www.ordb.org/lookup/?host=" $& clientaddr} " for more information"')dnl\r\nFEATURE(`dnsbl', `sbl.spamhaus.org', `"Rejected due to Spamhaus listing see http://www.abuse.net/sbl.phtml?IP=" $&{clientaddr} " for more information"')dnl\r\n \r\n[To stop accepting E-mail from unresolvable domains ]\r\nFEATURE(`accept_unresolvable_domains')dnl\r\n \r\n저장 후 m4 sendmail.mc > /etc/sendmail.cf 를 실행하고 그 다음 service sendmail restart 를 실행\r\n \r\n원문출처 : http://blog.pages.kr/225
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
- 스팸이 대량 발송될 경우의 대응 및 추적방법 - 보내기/받기 불가상태\r\nhttp://passkorea.net/Board/ViewDoc.aspx?brdNo=11&docNo=29828\r\n\r\n글쓴이 관리자\r\n작업전 참고)\r\n 연간 유지보수계약을 체결중인 업체는 바로 저희에게 점검요청을 해주시면 됩니다. (무상지원)\r\n 직접 작업하실 경우 아래 문서를 서버 엔지니어에게 제공하고 요청하시면 됩니다.\r\n 해결이 어렵거나, 즉각적인 해결을 원하실 경우 작업 의뢰(유료)를 하시면 됩니다.\r\n \r\n \r\n우선 스팸 발송은 크게 2가지로 이루어집니다.\r\na) 메일 계정의 비밀번호를 1111 등 쉽게 설정하여 도용당해 발송되는 경우.\r\nb) 서버 해킹이나 웹페이지의 '보안 취약점'을 이용해 발송되는 경우.\r\n \r\n따라서 다음 내용을 참고하셔서 발송대기중인 메일이 많은지 먼저 파악을 해보시고,\r\n특정 패턴의 스팸 메일이 많이 발송중이라면 다음 내용대로 발송 위치를 찾아 차단하는 것이 중요합니다.\r\n\r\n\r\n1. 발송 및 발송대기중인 메일이 많을 경우.\r\na) 스풀디렉토리의 파일갯수를 체크합니다. 대기중이거나 재발송중인 메일수가 수백건 이상일 경우 메일 보내기 받기가 지연될 수 있습니다.\r\n/home/nmail2/tools/spool_status.sh \r\nNmail spool status\r\n WaitSending : 0 <= 대기중인 메일수\r\n ReSending : 0 <= 재발송중인 메일수\r\n \r\n참고) spool_status.sh 파일이 없을 경우, 아래처럼 서버에서 명령을 실행하여 해당 스크립트를 만들어주시면 됩니다.\r\necho '#!/bin/sh\r\necho "Nmail spool status"\r\necho -n " WaitSending : "\r\nfind /var/MailRoot/spool -type f -path '*mess*'|wc -l\r\necho -n " ReSending : "\r\nfind /var/MailRoot/spool -type f -path '*rsnd*'|wc -l\r\n' > /home/nmail2/tools/spool_status.sh\r\nchmod 700 /home/nmail2/tools/spool_status.sh\r\n/home/nmail2/tools/spool_status.sh\r\n \r\n참고2) 윈도우 서버일 경우, c:/NmailPHP/MailRoot/spool/ 폴더에서 속성을 눌러 파일갯수를 파악해주시면 됩니다.\r\n\r\nb) 대기중이거나 재발송중인 메일이 수십/수백건 이상일 경우,\r\n메일의 목록 및 헤더를 확인해서 어떤 메일들이 발송되고 있는지 파악합니다.\r\n(아래 명령은 발송후 10분이 지난 대기메일들 찾는 방법)\r\nfind /var/MailRoot/spool/ -mmin +10 -type f|more\r\nfind /var/MailRoot/spool/ -mmin +10 -type f -exec head -n20 {} \;|more\r\nfind /var/MailRoot/spool/ -mmin +10 -type f -exec cat {} \;|more\r\n주의) 이 과정이 가장 중요하며 find 명령이 어렵다면 spool 폴더 아래에 존재하는 eml 파일들을 PC로 다운받아서 editplus 등의 문서편집기에서 열어보시면 됩니다. 여기서 해야할 작업은 여러 메일들을 누가 어디에서 보냈는지 파악하는 것 입니다.\r\n \r\nc) 메일 헤더 분석은 아래처럼 여러가지 경우가 있으며, 동일한 형태에서 수십/수백건 발송된 내역이 있는지 찾아 해당 발송 경로를 차단하는 것이 중요합니다.\r\n \r\na. 메일 헤더 상단에 아래처럼 X-AuthUser 항목이 있을 경우,\r\n해당 계정의 아이디/비밀번호로 로그인하여 메일을 보낸 것 입니다.\r\nX-AuthUser: UserID@YourDomain.com\r\n특정 사용자가 스팸으로 추정되는 메일을 계속 보내는 경우, 해당 계정에서 고의로 보내지 않았을 경우, 비밀번호가 도용당했을 수 있습니다. 이때 해당 계정의 비밀번호를 [전체회원관리]에서 즉시 강제 변경해주시고, 아래 2번의 메일 삭제 과정을 거치면 됩니다.\r\n \r\nb. 메일 헤더 상단에 아래 항목이 있을 경우,\r\nReceived: from /spool/local\r\n웹페이지에서 PHP mail()함수 등을 통해 발송된 것으로 '3. 웹페이지에서 발송된 스팸...'과정을 따라 발송 위치를 분석해보셔야 합니다.\r\n \r\nc. 메일 헤더 상단에 127.0.0.1 IP 에서 발송되었고, X-Mailer 에 Nmail PHP가 포함된 경우, 웹메일에서 보낸 것으로, 보낸주소는 From: 헤더에서 확인하실 수 있습니다.\r\nReceived: from localhost ([127.0.0.1]:46267)\r\n…\r\nX-Mailer: Passkorea.NET Nmail PHP\r\n…\r\nFrom: "=?euc-kr?B?....?=" <UserID@YourDomain.com>\r\n \r\nd. 이외의 메일은 수신대기중인 메일이거나, [메일서버관리 ? SMTP Relay IP 관리]에서 발송 허용된 메일일 가능성이 높습니다. 발송 IP는 첫번째 보여지는 Received 헤더에서 확인하실 수 있습니다.\r\nReceived: from localhost ([127.0.0.1]:46267)\r\n \r\n\r\n2. 스팸이 대량발송중인 경우 스팸만 골라 삭제하는 방법.\r\n대기중인 메일중 mail@localhost 라는 주소가 들어간 메일들만 확인하는 명령입니다.\r\ngrep -rlP 'mail@localhost' /var/MailRoot/spool/|xargs -n1 head|more\r\n \r\n그리고 해당 주소가 들어간 메일들만 삭제하는 명령은 다음과 같습니다.\r\ngrep -rlP 'mail@localhost' /var/MailRoot/spool/|xargs -n1 rm -f\r\n \r\n참고) grep, xargs 등의 명령이 어려울 경우, 폴더 하위의 eml 파일들을 직접 수작업으로 삭제해주셔도 동일합니다.\r\n \r\n참고2) 윈도우 서버일 경우, 윈도우 탐색기에서 c:/NmailPHP/MailRoot/spool/ 폴더 아래의 eml 파일들만 삭제해주셔도 됩니다. 삭제후 spool 폴더에서 속성을 눌러 파일갯수가 줄었는지 파악해주시면 됩니다.\r\n \r\n참고3) spool 폴더 아래에 eml 파일들은 삭제해도 되지만, 하위 폴더는 삭제하시면 안됩니다. \r\n \r\n삭제후 메일서버를 재시작해주시면, 남아있던 정상 메일들의 송수신 처리됩니다.\r\nLinux) /etc/init.d/xmail restart\r\nWindows) [관리도구 - 서비스]에서 메일엔진인 'XMail Server' 재시작\r\n \r\n\r\n3. 웹페이지에서 발송된 스팸의 출처를 찾으려면 메일엔진로그와 아파치 웹로그를 비교분석해야 합니다.\r\na) 웹페이지에서 PHP mail()함수 등을 통해 발송한 경우의 로그 확인방법.\r\ngrep 'mail@localhost' /var/MailRoot/logs/smail-200706160000 |more\r\n* 발송 로그 분석방법 - http://passkorea.net/nmailphp/엔메일_로그분석.doc\r\n\r\nb) 메일엔진에서 스팸으로 추정되는 발송로그의 시간대를 파악함.\r\n주로 새벽시간 등 특정시간대에 몰려있거나 계속 진행중임 패턴을 찾아야함.\r\n\r\nc) 아파치 웹로그중 동일한 시간대에 스팸공격시 주로 사용되는 'POST'방식의 기록만 비교함. \r\ngrep '16/Jun/2007:04:' access_log|more\r\ngrep '16/Jun/2007:04:' access_log|grep 'POST'|more\r\n* 아파치 웹로그가 여러개 있을 경우 모두 분석해보셔야 합니다.\r\n* 의심이 가는 소스의 위치가 나온다면 해당 소스를 점검후 패치나 삭제를 하셔서 해결하셔야 합니다.\r\n\r\n\r\n참고) 웹페이지에서 발송되는 메일에 대한 이해\r\n웹페이지에서 발송되는 리턴주소가 mail@localhost 처럼 존재하지 않는 주소로 지정되어 발송되는 경우가 많습니다.\r\n이 경우 '도메인/사용자 알리아스 설정'을 통해 해당 메일의 리턴메일을 관리자계정에서 받을 수 있게 됩니다.\r\nhttp://www.passkorea.net/board/ViewDoc.aspx?brdNo=23&docNo=29827\r\n\r\n특히 정상적인 웹페이지에서 발송되는 메일의 리턴주소가 존재하지 않을 경우 포털 등 다른 메일서버에서 차단당할 수 있습니다.\r\n이 문제는 아래 내용을 참고하셔서 '리턴주소 강제지정'방식을 통해 해결이 가능합니다.\r\nhttp://www.passkorea.net/Board/ViewDoc.aspx?brdNo=11&docNo=28977
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
SMTP 릴레이:Google을 통해 Gmail이 아닌 발신 메일 라우팅\r\n이 기능은 기존 Google Apps 무료 버전에서는 제공되지 않습니다.\r\n\r\n조직에서 Gmail이 아닌 이메일 서버 소프트웨어(예: Microsoft® Exchange)나 Google SMTP 서비스가 아닌 다른 서비스를 사용하고 있다면 발신 메일이 Google을 통해 라우팅되도록 SMTP 릴레이 서비스를 설정할 수 있습니다. SMTP 릴레이 서비스 설정을 사용하면 스팸 및 바이러스 검사를 위해 메일을 필터링한 다음 외부 연락처로 전송할 수 있으며 발신 메일에 G Suite 이메일 보안 설정을 적용할 수 있습니다.\r\n\r\n통합 메일 저장용량 사용\r\n또한 통합 메일 저장용량을 사용하도록 설정하는 것이 좋습니다. 통합 메일 저장용량은 스팸 필터에 전송 주소 정보를 알려서 이 주소로 전송된 메일이 스팸으로 표시될 가능성을 낮출 수 있습니다.\r\n\r\n사용자의 메일을 라우팅하는 데 Gmail이 아닌 시스템(예: 티켓 추적 시스템, 버그 데이터베이스, 자동 알림 시스템)에서 SMTP 릴레이 서비스를 사용 중이고 해당 메일을 사용자의 Gmail 편지함에 표시하려는 경우 통합 메일 저장용량을 사용 설정해야 합니다. Google Vault와 SMTP 릴레이 서비스를 사용하는 경우에도 Vault에 보관처리된 모든 메일이 릴레이를 통해 전송되도록 하려면 통합 메일 저장용량을 사용 설정해야 합니다.\r\n\r\nSMTP 릴레이 서비스 전송 한도\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSMTP 릴레이 서비스를 구성할 때 사내 발신 메일 서버 또는 기타 SMTP 서비스가 Google을 가리키도록 구성해야 합니다. 아래 도움말을 참조하세요.\r\nSMTP 릴레이 서비스 설정을 사용하여 G Suite를 통해 발신 메일 라우팅\r\n참고: IP 주소 또는 범위를 입력하고 저장한 이후에는 항목의 왼쪽에 있는 체크박스를 선택하거나 선택 취소하여 사용 또는 사용 중지할 수 있습니다.\r\n\r\nGoogle 관리 콘솔에 로그인\r\n\r\n@gmail.com으로 끝나지 않는 관리자 계정으로 로그인하세요.\r\n\r\n관리 콘솔 대시보드에서 앱 다음 G Suite 다음 Gmail 다음 고급 설정으로 이동합니다.\r\n\r\n도움말: 고급 설정을 표시하려면 Gmail 페이지 하단으로 스크롤합니다.\r\n\r\n왼쪽에서 최상위 조직을 선택합니다. 자세한 내용은 Gmail 고급 설정 구성을 참조하세요.\r\n참고: 최상위 조직에 대해서만 SMTP 릴레이 서비스 설정을 구성할 수 있습니다. SMTP 릴레이 서비스가 추가되면 하위 조직 수준에서 설정을 볼 수 있지만 추가, 수정 또는 삭제할 수는 없습니다.\r\n\r\nSMTP 릴레이 서비스로 스크롤하거나 검색 입력란에 SMTP 릴레이 서비스를 입력합니다.\r\n\r\n설정 상태가 아직 설정되지 않음이면 마우스를 설정 위로 가져가서 구성을 클릭합니다.\r\n\r\n설정 상태가 로컬 단위로 적용됨 또는 상속됨이면 마우스를 설정 위로 가져가서 수정 또는 다른 항목 추가를 클릭하여 수정하거나 새 설정을 추가합니다.\r\n\r\n새 설정마다 고유한 설명을 입력합니다.\r\n허용된 발신자 섹션에서 SMTP 릴레이 서비스를 통해 메일을 전송할 수 있는 사용자를 선택합니다.\r\n내 도메인의 등록된 Apps 사용자만—발신자는 도메인에 등록된 사용자여야 합니다.\r\n내 도메인의 주소만—발신자는 G Suite 사용자가 아니더라도 등록된 도메인에 있는 사용자여야 합니다. 이 옵션은 메일을 보내야 하는 타사 또는 맞춤 애플리케이션이 있는 경우 유용합니다.\r\n모든 주소(권장하지 않음)—도메인 외부 주소를 비롯한 모든 발신자의 주소입니다.\r\n모든 주소 옵션을 사용하면 사용자 컴퓨터의 악성 코드 또는 SMTP 인프라의 구성 오류로 인해 도용될 수 있으므로 사용하지 않는 것이 좋습니다.\r\n모든 주소 옵션을 제대로 사용하려면 SMTP AUTH를 사용해 발신 도메인을 확인하거나, HELO 또는 EHLO 명령어에 도메인 이름 중 하나를 제시하도록 메일 서버를 구성해야 합니다. 특정 서버 유형을 구성하려면 아래의 도움말을 참조하세요. yahoo.com과 같이 소유하지 않은 도메인에서 메일을 전송하거나, 보낸사람 주소 없이 메일을 전송하려는 경우(배달 오류 보고서, '부재중' 알림 등) 다음 방법 중 하나로 메일 서버를 구성해야 합니다.\r\n\r\n메일 발신자가 내 도메인의 사용자가 아니라면 시스템에서 메일 발신자를 user@[내 소유가 아닌 도메인]에서 postmaster@[내 도메인]으로 변경합니다. [내 도메인]은 시스템이 SMTP AUTH 명령어나 HELO 또는 EHLO 명령어에서 수신하는 도메인입니다.\r\n\r\n인증 섹션에서 다음 체크박스를 하나 이상 선택하여 인증 방법을 설정합니다.\r\n지정된 IP 주소의 메일만 허용—시스템에서 해당 IP 주소에서 보낸 메일만을 도메인에서 전송된 메일로 허용합니다.\r\nSMTP 인증 필요—발신 도메인 확인을 위해 SMTP 인증을 사용하도록 시행합니다.\r\n지정된 IP 주소에서 전송한 메일만 허용하도록 선택한 경우 다음과 같이 IP 주소를 입력합니다.\r\nIP 범위 추가를 클릭합니다.\r\n\r\nIP 주소 또는 범위에 대한 설명을 입력합니다.\r\n\r\nIP 주소 또는 범위를 입력합니다.\r\n\r\nCIDR(Classless Inter-Domain Routing) 형식을 사용해 IP 범위를 입력합니다(예: 123.123.123.123). 공개 IP 주소를 사용합니다. 범위에서 지정할 수 있는 최대 IP 주소 수는 65,536개입니다. 보안을 위해 허용 IP 범위는 좁게 잡는 것이 좋습니다.\r\n\r\nIPv6 주소 형식을 사용하여 IP 주소를 지정할 수도 있습니다. 예는 다음과 같습니다.\r\n\r\n1050:0000:0000:0000:0005:0600:300c:326b 또는\r\n\r\n1050:0:0:0:5:600:300c:326b 또는\r\n\r\n1050::5:600:300c:326b\r\n\r\n사용 체크박스를 선택하여 이 IP 주소 또는 범위를 사용 설정하거나 선택 해제하여 사용 중지합니다.\r\n\r\n저장을 클릭합니다.\r\n참고: IP 주소 또는 범위를 입력하고 저장한 이후에는 항목 왼쪽에 있는 체크박스를 선택하여 사용하거나 사용 중지할 수 있습니다.\r\n\r\n메일 내용을 포함하여 서버와 Google 서버 간의 통신이 TLS 암호화되도록 하려면 암호화 섹션에서 TLS 암호화 필요 체크박스를 선택합니다.\r\n\r\n참고: 이메일 서버에서 TLS를 지원하지 않는 경우 이 체크박스를 선택하지 마세요. 이 체크박스를 선택하면 Google에서 암호화되지 않은 메일을 거부합니다.\r\n\r\n설정 추가 또는 저장을 클릭하여 대화상자를 닫습니다. 추가하는 모든 설정은 고급 설정 페이지에 강조표시됩니다.\r\n하단에서 저장을 클릭합니다.\r\n\r\n참고: 사용자 계정에 변경사항이 표시되는 데는 최대 1시간이 소요될 수 있습니다. 관리 콘솔 감사 로그에서 이전 변경사항을 추적할 수 있습니다.\r\n\r\n다음과 같이 사내 발신 이메일 서버가 smtp-relay.gmail.com을 가리키도록 구성합니다.\r\n\r\n특정 이메일 서버에서 이 단계를 완료하려면 아래 섹션의 안내를 참조하세요.\r\n\r\n9단계에서 TLS 암호화 필요 체크박스를 선택했으면 사내 메일 서버가 587번 포트를 사용하여 smtp-relay.gmail.com을 가리키도록 구성해야 합니다.\r\nTLS 암호화가 필요하지 않으면 사내 메일 서버가 25번, 465번 또는 587번 포트를 사용하여 smtp-relay.gmail.com을 가리키도록 구성할 수 있습니다.\r\nSMTP 릴레이 서비스는 0 메일 발신자(MAIL FROM: <>)를 지정할 때 여러 메일 수신자(RCPT TO)를 지원하지 않습니다.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
전자 메일 메시지를 보낼 때 550, 553 또는 릴레이 금지 오류가 발생하는 경우\r\n적용 대상: Outlook 2007\r\n중요: 본 문서는 기계 번역된 문서이므로 고지 사항을 확인하십시오. 이 문서의 영문 버전은 여기서 확인할 수 있습니다.\r\n\r\n문제\r\n\r\n집 밖에서 집 전자 메일 계정을 사용하여 전자 메일 메시지를 보내면 전자 메일 메시지가 550, 553 또는 릴레이 금지 오류 메시지와 함께 반송될 수 있습니다. 사무실 밖에서 업무용 전자 메일 계정을 사용하여 전자 메일 메시지를 보낼 때도 이와 동일한 문제가 발생할 수 있습니다.\r\n\r\n요약\r\n\r\n보내는 사람이 메시지 배달을 요청하는 보내는 메일 서버나 SMTP(Simple Mail Transfer Protocol)에서 처리되지 않는 도메인(adatum.com과 같이 @ 기호 다음에 오는 이름)의 전자 메일 주소로 메시지를 보내면 릴레이가 발생합니다. 메시지를 릴레이하려면 SMTP 서버에서 다른 SMTP 서버에 연결해야 합니다.\r\n\r\n릴레이 오류가 발생하는 전자 메일 메시지를 보내면 SMTP(보내는) 전자 메일 서버에서 다음 중 하나와 같은 오류 메시지와 함께 전자 메일 메시지를 반환할 수 있습니다.\r\n\r\n받는 사람 중 한 사람이 서버에서 거부되었기 때문에 메시지를 보낼 수 없습니다. 거부된 전자 메일 주소는 '<someone@example.com>'. 제목: '<Test>', 계정: '<Test>', 서버: '<smtp.example.com>', 프로토콜: SMTP, 서버 응답: '550 <someone@example.com>... 릴레이가 거부됨', 포트: 25, 보안(SSL): 아니요, 서버 오류: 550, 오류 번호: 0x800CCC79\r\n\r\n"받는 사람 중 한 사람이 서버에서 거부되었기 때문에 메시지를 보낼 수 없습니다. 거부된 전자 메일 주소는 '<email address>'. 제목 '<Test>', 계정: '<Test>', 서버: '<smtp.example.com>', 프로토콜: SMTP, 서버 응답: '553 죄송합니다. 해당 도메인이 허용되는 rcpthosts 목록에 들어 있지 않습니다(#5.7.1), 포트: 25, 보안(SSL): 아니요, 서버 오류: 553, 오류 번호: 0x800CCC79\r\n\r\n정확한 오류 메시지는 인터넷 서비스 공급자 (ISP)에 따라 다를 수 있습니다. 일부 Isp 원치 않는 상업용 전자 메일로 보내는 메시지를 검색 하는 경우 오류 메시지를 반환할 수 있습니다. 이런 경우 메시지 정상적으로 보낸 것으로 표시 될 수 있습니다-Outlook 보낼 편지함 을 유지 하 고 보낸 편지함 에 나타나는 — 있지만 실제로 적이 없는 받는 사람에 게 배달 합니다.\r\n\r\nSMTP(보내는) 전자 메일 서버에서 사용자를 권한이 있는 사용자로 인식하지 않았기 때문에 메시지가 거부되었습니다.\r\n\r\nSMTP는 대부분의 전자 메일 서버가 인터넷으로 전자 메일 메시지를 보낼 때 사용하는 프로토콜(컴퓨터에서 서로 통신하는 데 사용하는 표준)입니다. 전자 메일 메시지를 컴퓨터에 저장할 수 있는 Outlook 등의 전자 메일 프로그램을 사용하는 경우 전자 메일 메시지를 보내려면 SMTP 서버에 액세스해야 합니다. \r\n\r\n참고: Windows Live Mail 및 야후! 메일과 비슷한 웹 전자 메일 시스템은 다른 방식으로 사용되므로 이러한 전자 메일 계정에는 이 항목의 내용이 적용되지 않습니다.\r\n\r\n정크 메일 및 오픈 릴레이\r\n원치 않는 상업성 전자 메일을 정크 메일 또는 스팸이라고도 합니다. 정크 메일이 계속 늘어나는 주요 원인은 정크 메일을 보내는 사람이 메일을 보내는 데 실제로 아무 비용을 부담하지 않기 때문입니다. 사실 보내는 사람은 자신이 사용하는 ISP의 SMTP(보내는) 전자 메일 서버를 통해 정크 메일을 보낼 필요도 없습니다. \r\n\r\n수 백만 통의 정크 메일을 비용 없이 보낼 수 있는 기능을 제공함으로 인해 어떤 결과가 발생할지를 누구도 생각하기 전에 이미 인터넷의 기본 구조가 설계된 것입니다. 스팸 메일을 보내는 사람은 SMTP 서버의 릴레이 기능을 사용하여 그러한 오픈 릴레이를 허용하는 타사 서버를 통해 릴레이하는 방식으로 정크 메일을 보낸 사람을 숨깁니다. 이렇게 하면 정크 메일이 해당 메시지를 릴레이하는 사이트에서 온 것처럼 보이고 진짜 보낸 사람의 ID는 숨겨집니다.\r\n\r\n최근까지 대부분의 SMTP 전자 메일 서버 오픈 트러스트 시스템에서 작업 합니다. 이 시스템에서 다른 사람에 게 어디서 나 SMTP 서버에 전자 메일 메시지를 제출할 수 및 서버는 것에 동의 하 고 받는 사람이 나 받는 사람의 사서함이 있는 다른 전자 메일 서버에 전달 합니다. 오픈 릴레이 서버에서 SMTP 서버를 통해 보낼 수 있는 사람에 대 한 제한 되지 않았습니다.\r\n\r\n전자 메일 메시지 릴레이에 대한 ISP의 제한\r\n정크 메일의 양이 늘어남에 따라 서버 관리를 담당하는 네트워크 관리자는 SMTP 전자 메일 서버에 제한을 두기 시작했습니다. 이러한 제한은 전자 메일 서버를 아무나 사용하지 못하도록 합니다. 예를 들면 회사에 근무하는지 여부에 관계없이 누구나 사용할 수 있는 회사 로비의 전화를 직원만 사용할 수 있도록 제한하는 것과 같습니다. \r\n\r\n오늘날에는 다음과 같은 몇 가지 유형의 제한이 사용되고 있습니다.\r\n\r\n필요 SMTP 인증 암호를 사용 하 여 전자 메일 메시지에 대 한 POP3 (받는) 서버에 액세스할 수 있어야와 마찬가지로이 옵션 사용자 이름 및 SMTP 서버를 통해 전자 메일 메시지를 보내는 데 사용할 암호를 제공 해야 합니다. 동일한 사용자 이름과 암호는 POP3 서버;에 사용 되는 일반적으로 이러한 그러나 고유한 수 있습니다.\r\n\r\n연결 필요 ISP POP3 (받는) 전자 메일 서버에 처음 새 전자 메일 메시지 검색에 연결할 때 일반적으로 POP3 (받는) 전자 메일 서버에 연결 합니다. 사용자 이름 및 사서함에 액세스 하는 데 사용할 암호를 입력 해야 합니다. 네트워크 관리자가 처음 연결 하 고 POP3 전자 메일 서버에서 인증을 하는 경우 기본적으로 제한 된 SMTP 아웃 바운드 서버를 통해 전자 메일 메시지를 보낼 수 있도록 하는 모든 요청이 승인 되도록 서버를 구성할 수 있습니다.\r\n\r\n인증된 된 네트워크 위치에서 연결 필요 가정에서 되 고 ISP에 전화로 접속할 때 또는 케이블 또는 d s L 모뎀 사용 중인 경우 ISP 네트워크에 연결 하는 직접 합니다. 사용자 이름 및 암호와 함께 isp 계정이 있는 경우 신뢰할 수 있는 됩니다. SMTP 서버를 사용 하 여 고객 이기 때문에 전자 메일 메시지를 보낼 권한이 됩니다.\r\n\r\n특정 IP 주소 또는 IP 주소 범위에서 연결 필요 ISP은 네트워크에 직접 연결 되어 있지 않습니다 사람들에 게 SMTP 서버에 대 한 액세스 권한을 부여 될 수 있습니다. 사무실에서 원격 사용자는이 옵션을 사용할 수 있습니다. 그러나 주요 문제 여러 위치는 동적 IP 주소 라는 것입니다. 를 연결할 때마다 보장은 없습니다 동일한 IP 주소입니다. 일부 회사에서는 예약 된 블록 또는 IP 주소 범위 있을 수 있습니다. ISP 승인 된 사용자로 연결 IP 주소에서 권한을 부여할 수 있습니다. ISP 추가 정보를 제공할 수 있습니다.\r\n\r\n릴레이에 대해서는 여러 가지 시나리오가 가능합니다. 가장 일반적인 상황은 다음과 같습니다. 자신의 상황과 맞는지 확인하십시오.\r\n\r\n시나리오\r\n\r\n릴레이되는지 여부\r\n\r\n집에서 및 전화 걸기 또는 케이블 또는 d s L 모뎀에 연결 하는 @proseware.com 로 끝나는 ISP 계정이 있는 것입니다. 전자 메일 주소가 @proseware.com으로 끝나는 다른 사람에 게 전자 메일 메시지를 보냅니다.\r\n\r\n아니요. 메일은 정상적으로 처리됩니다.\r\n\r\n@adatum.com으로 끝나는 전자 메일 주소를 사용하는 사람에게 전자 메일 메시지를 보낸다는 점을 제외하면 첫 번째 시나리오와 같습니다.\r\n\r\n예. 그러나 차단되지는 않습니다. ISP에 직접 연결되어 있으므로 ISP의 SMTP(보내는) 서버를 통해 받는 사람의 사서함 위치에 관계없이 어떤 전자 메일 주소에도 메일을 보낼 수 있는 권한이 있습니다.\r\n\r\n직장 됩니다. 회사 전자 메일 주소 @thephone-company.com끝나며 전화 하거나 케이블 또는 d s L 모뎀에 연결 하는 @proseware.com 로 끝나는 홈 ISP 계정이 있는 것입니다. Outlook, 가정에서 사용 하는 동일한 SMTP 서버 설정을 사용할 수 있습니다. @Proseware.com으로 끝나는 전자 메일 주소 사용자에 게 전자 메일 메시지를 보냅니다.\r\n\r\n아니요. 메일은 정상적으로 처리됩니다.\r\n\r\n@adatum.com으로 끝나는 전자 메일 주소를 사용하는 사람에게 전자 메일 메시지를 보낸다는 점을 제외하면 앞의 시나리오와 같습니다.\r\n\r\n메일 릴레이으로 예, 그리고이 메시지를 차단할 수 있습니다. 가정용 ISP의 SMTP (보내는) 서버 ISP 네트워크에 연결 되지 않은 동안 사용 하려고 합니다. SMTP 서버 ISP의 공인된 구독자도 확인할 수 없습니다. 또한, 메시지를 받는 사람의 사서함에 배달 하기 위해 다른 SMTP 서버에 연결 다음 해당 SMTP 서버를 요청 하는 있습니다.\r\n\r\n호텔 유지 하거나 인터넷 액세스를 제공 하는 공항의 인터넷 서비스를 사용 하 여 됩니다. 전화 접속 하거나 케이블 또는 d s L 모뎀에 연결 하는 @proseware.com 로 끝나는 홈 ISP 계정이 있는입니다. Outlook, 가정에서 사용 하는 동일한 SMTP 서버 설정을 사용할 수 있습니다. 전자 메일 주소가 @proseware.com으로 끝나는 다른 사람에 게 전자 메일 메시지를 보냅니다.\r\n\r\n아니요. 메일은 정상적으로 처리됩니다.\r\n\r\n@adatum.com으로 끝나는 전자 메일 주소를 사용하는 사람에게 전자 메일 메시지를 보낸다는 점을 제외하면 앞의 시나리오와 같습니다.\r\n\r\n메일 릴레이으로 예, 그리고이 메시지를 차단할 수 있습니다. 가정용 ISP의 SMTP (보내는) 서버 ISP 네트워크에 연결 되지 않은 동안 사용 하려고 합니다. SMTP 서버 ISP의 공인된 구독자도 확인할 수 없습니다. 또한, 메시지를 받는 사람의 사서함에 배달 하기 위해 다른 SMTP 서버에 연결 다음 SMTP 서버를 요청 하는 있습니다.\r\n\r\n해결 방법\r\n\r\n릴레이 일반적인 시나리오를 사용 하는 경우에 현재 연결의 서버를 통해 메시지를 보내야 합니다. 즉, 직장 또는 바깥쪽 홈 하며 인터넷에 연결 하려면 ISP를 사용 하지 않는 경우 하 고 홈 ISP 전자 메일 계정에서 메시지를 보낼, SMTP 서버 사용 하는 위치를 예를 들어 회사의 SMTP 서버를 지정 하려면 전자 메일 계정 설정 변경 해야 합니다.\r\n\r\n도구 메뉴에서 계정 설정을 클릭합니다.\r\n\r\n전자 메일 탭에서 수정 하는 데 사용할 계정을 클릭 한 다음 변경 을 클릭 합니다.\r\n\r\n전자 메일 계정 변경 대화 상자에서 서버 정보 아래의 보내는 메일 서버 텍스트 상자에 현재 연결에 로컬인 메일 서버의 이름을 입력합니다.\r\n\r\n예를 들어 집에서 사용하는 전자 메일 계정을 회사에서 수정하려면 회사 전자 메일 서버의 이름을 입력합니다.\r\n\r\n전자 메일 계정 변경 대화 상자\r\n\r\n이 해결 방법이 맞지 않거나 집에서 사용하는 ISP 계정을 사용하려는 경우에는 ISP에 문의하여 앞에서 설명한 옵션 중 사용 가능한 옵션이 있는지 확인하십시오. SMTP 인증이 필요하거나 먼저 ISP POP3 받는 메일 서버에 연결해야 하는 등 처음 두 가지 제한의 경우 Outlook의 계정 설정에서 변경할 수 있습니다. \r\n\r\n도구 메뉴에서 계정 설정을 클릭합니다.\r\n\r\n전자 메일 탭에서 수정 하는 데 사용할 계정을 클릭 한 다음 변경 을 클릭 합니다.\r\n\r\n전자 메일 계정 변경 대화 상자에서 기타 설정을 클릭합니다.\r\n\r\n보내는 메일 서버 탭에서 보내는 메일 서버(SMTP) 인증 필요 확인란을 선택합니다.\r\n\r\n다음 중 하나의 옵션을 선택합니다.\r\n\r\n받는 메일 서버와 동일한 설정 사용을 클릭합니다. 이 옵션은 가장 일반적인 옵션입니다.\r\n\r\n로그온 정보를 클릭하고 사용자 이름과 암호를 입력합니다.\r\n\r\n메일을 보내기 전에 받는 메일 서버로 로그온을 클릭합니다.\r\n\r\n여전히 전자 메일 메시지를 보낼 수 없습니까?\r\nOutlook에서 SMTP 설정을 변경했거나 전자 메일 메시지를 보내도록 허용해야 하는 옵션을 찾았습니다. 그러나 여전히 메일을 보낼 수 없으며 오류 메시지가 나타납니다.\r\n\r\n모든 것 하지만 네트워크 관리자가 id 스푸핑 방지 하기 위해 사용 하 여 다른 보안 기능이 가능 합니다. Id 스푸핑 전자 메일 메시지를 보내고 위장 실제로 단순히 방법입니다.\r\n\r\n대부분의 전자 메일 프로그램와 같은 outlook "표시 이름"와 다른 사용자가 메시지에 회신을 클릭 하면 표시 되는 회신 전자 메일 주소를 지정할 수 있습니다. 정크 메일 거의 항상이 필드에 잘못 된 정보를 포함 합니다. 실제로 까 요 get 서식 있는 빠른 체계에 대 한 받은 메시지 다이어트나 세계 리더에서 제공 합니다.\r\n\r\nId 스푸핑를 방지 하려면 일부 Isp 제한 회신 전자 메일 주소 필드에 잘못 된 정보를 삽입 합니다. 예를 들어 ISP 도메인 이름 proseware.com로 끝나는, ISP 수 terri@contoso.com으로 전자 메일 반송 주소를 설정할 수 있습니다 허용 하지 합니다. 이 제한 사항은 앞에서 설명한 제한으로 일반적으로 사용 되지 않지만 그 위치와 연결에 관계 없이 모든 사용자에 적용할 수 있습니다. 대안은 없습니다. 서버 관리자가이 메서드를 사용 하는 경우에 현재 연결와 일치 하는 회신 전자 메일 주소 도메인을 지정 해야 합니다.\r\n\r\n참고: 기계 번역 고지 사항: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft에서는 비영어권 국가에 거주하는 사용자가 Microsoft 제품, 서비스 및 기술을 손쉽게 접할 수 있도록 이러한 기계 번역 내용을 제공하고 있습니다. 본 문서는 기계 번역된 문서이므로 어휘, 구문 또는 문법에 오류가 있을 수 있습니다.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
보내는 메일주소를 위조하여 메일 보내기(telnet 이용)\r\nhttp://m.egloos.zum.com/doodoodoo/v/602304\r\n\r\n민들장군|2008.07.24 00:54\r\n-작게+크게\r\n#####################################################\r\n# 제가 지금부터 설명하는 방법을 악용하지는 마세요. ###\r\n# 그 책임은 악용한 사람에게 있습니다. ###\r\n# 스팸메일 연구 목적으로만 사용하시길 부탁드립니다. ###\r\n#####################################################\r\n\r\n보내는이의 이름과 메일주소를 위조하는 방법이 궁금했었는데 \r\n오늘 비도 오고 심심해서 한번 해봤습니다.\r\n\r\n근데 이걸 테스트 해볼려고 하는데 적당한 메일서버가 없었습니다.\r\n즉, 외부로부터의 릴레이 전송을 허용하고 있는 메일서버를 찾기가 어려웠습니다. 휴~\r\n결국 제가 계정을 가지고 있는 옛날 서버를 이용해서 테스트에 성공했지요. ㅋㅋ\r\n\r\n참고로 mindule337@hanmail.net 과 csi@fbi.gov는 존재하지 않는 가짜 메일(테스트용)입니다.\r\n\r\n결과적으로 한메일이나 파란, 네이버로 보내면 정상 메일로 인식하고 받은편지함에 잘 들어갔으나\r\n엠파스(엠팔)에서는 스팸메일함으로 들어가더군요. ㅋ \r\n전부터 보면 엠팔이 스팸메일 처리나 메일 표준형식을 위배하는 메일은 가차없이 짤라버리더군요.\r\n \r\n각설하고.... 한번 쭉 봐보시죠.\r\n[mindule337@CAS mail]$ telnet localhost 25\r\nTrying 127.0.0.1...\r\nConnected to localhost.domain (127.0.0.1).\r\nEscape character is '^]'.\r\n220 localhost.domain ESMTP Sendmail 8.13.1/8.13.1; Sat, 19 Jul 2008 22:23:25 +0900\r\nHELO localhost\r\n250 localhost.domain Hello CAS [127.0.0.1], pleased to meet you\r\nMAIL FROM:csi@fbi.gov // 보내는 메일주소(가짜임)\r\n250 2.1.0 csi@fbi.gov... Sender ok\r\nRCPT TO:mindule337@hanmail.net // 메일을 수신할 메일주소\r\n250 2.1.5 mindule337@hanmail.net... Recipient ok\r\nDATA // 상대를 속이기 위해 넣는 가짜 정보와 메일 본문\r\n354 Enter mail, end with "." on a line by itself\r\nSubject: test // 메일 제목 \r\nFrom: "FBI" <csi@fbi.gov> // 메일 목록에서 "보낸이"에 들어갈 이름과 메일주소(이 라인이 가장 중요!)\r\nTo: <mindule337@hanmail.net> // (중요하지는 않지만 명시적으로) 받는 메일주소\r\n\r\ntest // 본문 내용\r\n. // 메일 내용의 끝을 알림( . [엔터])\r\n250 2.0.0 m9JTNPOW025296 Message accepted for delivery\r\nQUIT // 작업 종료\r\n221 2.0.0 localhost.domain closing connection\r\nConnection closed by foreign host.\r\n[mindule337@CAS mail]$\r\n\r\n 아래는 각 포털사이트에서 위조된 메일의 정보가 원하는대로 보이는지 확인한 결과입니다.\r\n\r\n(1) 한메일(다음)\r\n \r\n\r\n(2) 파란\r\n \r\n\r\n(3) 네이버\r\n \r\n\r\n(4) 엠파스(엠팔) - 스팸메일함에 저장됨!\r\n \r\n\r\n(덧말) 인터넷에서 검색되는 대부분의 문서에서는 보내는이의 "이름"과 "메일주소"를 \r\n 임의로 조작하는 방법이 나와있지 않아서 좀 고생했습니다. \r\n 제 하드의 문서를 다 뒤지다 결국엔 홍석범씨가 작성하신 <리눅스시스템과 네트워크보안.ppt>의 \r\n p65 "Mail Header 변조" 페이지를 참고하고 나서야 완성할 수 있었습니다. \r\n 한번도 뵌 적은 없지만 전부터 존경하고 있었습니다. 이 자리를 빌어 감사드립니다. (__)\r\n\r\n끝.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
[g메일]내가 보낸 메일이 보내지지 않고 반송되는 경우는?\r\n1\r\n뉴스레터의 모든것 \r\n이웃추가\r\n | 2010. 5. 28. 17:20\r\n 앱으로 보기 본문 기타 기능\r\n메일을 발송했을 때, 정상적으로 메일이 가지 않고 리턴되는 경우가 있다.\r\n어떤 경우일까? 경고메시지로 알아보는 발송실패 원인!\r\n \r\n1. 'Connection timed out(연결 시간이 초과되었습니다)'\r\n \r\n해당 메일은 Gmail 때문이 아니라 수신자 도메인의 문제 때문에 반송된 것입니다.\r\n대부분의 경우 수신 도메인이 사용하는 SMTP 방화벽에 문제가 있습니다. 간혹 메일이 Domain Keys 또는 DKIM(Domain Keys Identified Mail)에 등록되었을 때 문제가 발생하기도 합니다.\r\n \r\n2.'Could not contact DNS servers(DNS 서버에 접속할 수 없습니다)'\r\n \r\n해당 메일은 Gmail에서 반송한 것이 아닙니다. 해당 오류 메시지를 받았다면 수신자 도메인이 존재하지 않거나 DNS(Domain Name System) 설정 문제를 겪고 있다는 뜻입니다.\r\n \r\n3. 'The recipient server did not accept our requests to connect(수신자 서버에서 연결 요청을 허용하지 않습니다)'\r\n \r\n해당 오류 메시지는 수신자의 서버와 연결을 시도했지만 응답을 받지 못했다는 뜻입니다. 가능한 원인은 다음과 같습니다.\r\n다른 도메인에 최신 MX 레코드가 없거나 잘못 구성되어 있습니다.\r\n다른 도메인에서 Gmail의 메일을 차단 목록 또는 그레이리스트에 포함시켰습니다.\r\n다른 도메인이 일시적으로 네트워크 문제를 겪고 있습니다.\r\n \r\n4. 'Message rejected. See http://mail.google.com/support/bin/answer.py?answer=69585 for more information (메일이 거부되었습니다. 자세한 내용은 http://mail.google.com/support/bin/answer.py?answer=69585를 참조하시기 바랍니다).'\r\n \r\nGmail에서는 스팸방지를 위해 최선을 다하고 있습니다. 여기에는 Gmail로 수신되는 스팸뿐 아니라 Gmail에서 발송되는 스팸도 포함됩니다. 스팸 발송자는 단지 스팸을 발송하기 위해 여러 개의 Gmail 주소에 가입합니다. Gmail은 인터넷에서 스팸을 근절하기 위해 스팸으로 여겨지는 메일을 반송하고 있습니다. 안타깝게도 가끔 스팸이 아닌 메일을 반송하기도 합니다. 불편을 끼쳐 드려 죄송합니다.\r\n수상하거나 스팸으로 보이는 텍스트를 보내어 의도치 않게 자동 스팸메일 필터를 혼동하게 만드는 경우가 있습니다. 그 중 대표적인 경우가 참조/숨은참조로 다수의 수신자에게 뉴스레터, 초대장 등의 '단체메일'을 발송하는 경우입니다. 스팸은 다수의 수신자에게 발송되는 메일이므로 스팸메일 필터가 단체메일을 스팸과 혼동할 가능성이 있습니다.\r\n단체메일을 정기적으로 발송하는 경우 메일 수신을 원하지 않는 사람이나 메일이 반송되는 주소 또는 잘못된 주소로 메일이 발송되지는 않는지 확인하여 확실히 전달되도록 할 수 있습니다. 단체메일 발송자 가이드(영어)의 전체 내용을 확인하세요.\r\n필요에 따라 Gmail에서 직접 발송하는 위험을 피하고 단체메일을 안정적으로 발송할 수 있는 다양한 방법이 있습니다. 뉴스레터/메일링 리스트의 경우 Google 그룹스 사용, 일정 초대장 발송의 경우 캘린더 사용이 그러한 대안이 될 수 있습니다. 또한 Orkut, Picasa 및 YouTube 등의 여러 다른 Google 사이트에서는 프로필을 업데이트하거나 새로운 사진이나 동영상을 업로드하면 친구에게 자동으로 알려주므로 모든 친구들에게 직접 이메일을 보내지 않아도 됩니다.\r\n \r\n5.'This Gmail user does not exist. Please try doublechecking the recipient's email address for typos or unnecessary spaces (이 Gmail 사용자가 존재하지 않습니다. 수신자 이메일 주소에 오타나 불필요한 띄어쓰기가 있는지 다시 확인하세요).' \r\n \r\n이 오류는 수신자의 이메일 주소에 오타가 있을 경우 주로 발생합니다. 몇 가지 일반적인 오류는 다음과 같습니다.\r\n따옴표: <'사용자 이름@gmail.com'> 또는 <"사용자 이름@gmail.com">\r\n주소 끝부분의 점: <사용자 이름@gmail.com.>\r\n주소 앞뒤의 공백: < 사용자 이름@gmail.com>, <사용자 이름@gmail.com >\r\n오타가 없는 것이 확실하다면 Gmail 주소가 사용중지되었거나 삭제되었거나 원래 없는 주소 일 수 있습니다.\r\n \r\n6.'Parse Error: Illegal To: address (invalid domain name)(구문분석 오류: 잘못된 받는사람: 주소(잘못된 도메인 이름))'\r\n \r\n'구문분석 오류'는 메일의 '받는사람:' 입력란에 규정 외 글자가 있다는 의미입니다. 규정 외 문자의 예는 다음과 같습니다.\r\n따옴표: <'사용자 이름@gmail.com'> 또는 <"사용자 이름@gmail.com">\r\n주소 끝부분의 점: <사용자 이름@gmail.com.>\r\n주소 앞뒤의 공백: < 사용자 이름@gmail.com>, <사용자 이름@gmail.com >\r\n7.'The Gmail user you are trying to contact is receiving mail at a rate that prevents...(지금 연락하려는 Gmail 사용자는 추가 메일이 전달되기 어려운 속도로 메일을 수신하고 있습니다)'\r\n \r\n사용자를 보호하기 위해 메일을 대량으로 수신하는 주소는 전송이 느려지거나 중단되는 경우가 있습니다. 24시간 후에 다시 보내보세요. 그 때 사용자가 메일을 수신할 수 있다면 메일이 전달될 것입니다.\r\n \r\n8.'Gmail tried to deliver your message, but it was rejected...(Gmail에서 메일 전달을 시도했지만 거부되었습니다)'\r\n \r\nGmail은 다른 서버에서 메일을 허용하지 않는 경우 이 오류를 생성합니다. 다른 서버에서 메일수신 거부이유를 알려주는 경우가 많으며, 일반적인 이유는 다음과 같습니다. 어구는 약간씩 다를 수도 있습니다.\r\n \r\n'Invalid recipient(잘못된 수신자입니다)'\r\n \r\nGmail 때문에 메일이 반송된 것이 아닙니다. 메일을 보내려는 이메일 주소가 존재하지 않는 것 같습니다. 사용자 이름과 도메인을 정확하게 입력했는지 확인하세요. 반송 메일이 계속해서 수신되면 수신자 도메인에 연락하여 왜 주소를 인식하지 못하는지 파악해야 합니다.\r\n \r\n'Mailbox unavailable(사용할 수 없는 편지함입니다)'\r\n \r\nGmail 때문에 메일이 반송된 것이 아닙니다. 메일을 보내려는 이메일 주소가 존재하지 않는 것 같습니다. 사용자 이름과 도메인을 정확하게 입력했는지 확인하세요. 반송 메일이 계속해서 수신되면 수신자 도메인에 연락하여 왜 주소를 인식하지 못하는지 파악해야 합니다.\r\n \r\n'Message content rejected(메일 콘텐츠가 거부되었습니다)'\r\n \r\nGmail 때문에 메일이 반송된 것이 아닙니다. 메일을 보내려는 도메인이 메일에 있는 특정 콘텐츠(단어, 링크 또는 첨부파일) 때문에 발송을 거부했습니다. 수신자 도메인에 연락하여 거부된 콘텐츠가 무엇인지 파악해야 합니다.\r\n \r\n'Recipient address rejected(수신자 주소가 거부되었습니다)'\r\n \r\nGmail 때문에 메일이 반송된 것이 아닙니다. 메일을 보내려는 이메일 주소가 존재하지 않는 것 같습니다. 사용자 이름과 도메인을 정확하게 입력했는지 확인하세요. 반송 메일이 계속해서 수신되면 수신자 도메인에 연락하여 왜 주소를 인식하지 못하는지 파악해야 합니다.\r\n \r\n'Relay not permitted(전달이 허용되지 않습니다)'\r\n \r\n해당 반송 메일은 Gmail에서 반송한 것이 아니며, 수신자 도메인의 MX(Mail exchanger) 레코드가 잘못 구성되어 현재 Gmail 서버를 인식하지 못함을 나타냅니다. 도메인 관리자에게 이 문제를 알리고 Gmail 메일 수신에 관한 도움말을 참조하도록 해주세요. Google 애플리케이션에 가입한 지 얼마 안된 관리자인 경우에는 MX 기록 전달을 완료하는 데 최대 48시간이 걸릴 수 있다는 점을 유념해 주시기 바랍니다. 48시간이 지났으면 MX 레코드 구성 안내를 참조하세요.\r\n \r\n'Sender verification failed(발신자 확인에 실패했습니다)'\r\n \r\n이 오류는 Gmail 때문이 아니라 콜백 인증을 사용하는 수신자 도메인 때문에 발생했습니다.\r\n콜백 인증은 SMTP(메일 서버) 소프트웨어에서 사용되는 스팸방지 기술입니다. 이 방법을 사용하는 도메인이 새로운 서버에서 발송된 메일을 수신하면 해당 메일을 발송한 서버가 존재하는지 확인하기 위해 빈 메일로 회신합니다. 빈 메일을 회신으로 자주 발송하면 DoS(Denial of Service) 공격과 유사할 수 있습니다. 이 때문에 Gmail에서는 발신자 확인 기능을 지원하지 않습니다.\r\nGmail에서는 '보낸사람:' 주소를 위조하기 어렵게 하기 위해 SPF(Sender Policy Framework) 레코드(http://www.openspf.org(영문) 참조)를 사용하여 이메일을 보낼 수 있는 호스트를 지정합니다. 또한 더욱 효과적인 스팸 방지를 위해 다른 웹메일 공급업체에서도 SPF 또는 DomainKeys를 채택하도록 강력히 권유하고 있습니다.\r\n이 문제를 해결하려면 수신자 도메인에 연락하여 콜백 인증의 허용된 사이트 목록에 Gmail을 추가하도록 하는 것이 좋습니다.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
PHP Sendmail 로그분석 스팸 탐지 정리입니다.\r\nhttp://sir.kr/pg_tip/14687\r\n 혀니천사 2015.12.08 02:45:13 조회 965 댓글 0 목록\r\n1. 개요\r\n서버관리자들에게 있어서 스팸메일 보내는 인간들은 때려죽이고 싶은 충동을 \r\n불러일으킵니다.\r\n다른 해킹과 달리 스팸공격하는 건 로그분석해서 찾기도, 막기도 어렵습니다.\r\n더구나, 많은 스팸이 한메일이나 네이버,구글 메일서버로 보내지다 보니,\r\n한메일이나 네이버 메일서버 측에서 멀쩡한 메일서버 ip 를 차단해서\r\n선량한 일반 메일 사용자들이 메일이 발송되지 않아 피해를 입습니다.\r\n아래에,\r\n리눅스 서버에서 sendmail 데몬 관련해서 삽질하면서 알게 된 정보를 공개합니다. \r\n허접합니다만, 나보다 더 허접한 관리자들에게 조금이나마 도움이 되었으면 합니다.\r\n\r\n2. 서버환경\r\n- OS : CentOs 5.x (레드햇 계열)\r\n- Sendmail 버전 : 12.x, 13.x\r\n- POP3 데몬 : dovecot, qpopper 등\r\n- 메일 로그 파일 : /var/log/maillog\r\n\r\n3. 웹소스 통한 스팸 발송 관련\r\n- 그누보드나 제로보드등 웹사이트 게시판의 첨부파일 업로드 기능의 헛점을\r\n이용해서 서버에 .php 같은 실행파일을 저장한 후 외부에서 이 파일을 통해서 \r\n스팸을 발송하는 방법입니다.\r\n문제는, 이렇게 웹경로에 업로드한 후 스팸메일을 보내면 해당 서버에 있는 sendmail \r\n로그에 잘 기록이 안됩니다. \r\nphp 모듈이 웹서버권한을 이용해서 막바로 보내므로 특정 사용자 계정을\r\n알수가 없습니다. 또 한 외부 서버에 포트 접속해서 발송한다면 내부 메일서버에는\r\n기록이 남지 않게됩니다.\r\n이건 maillog 분석으로는 알기어렵고, 반드시 무단으로 업로드된 해킹 파일을\r\n찾아서 삭제해야 합니다.\r\n여기서는 간단한 방법만 소개합니다.\r\n만약 웹로트가 /home/mywebsite_home/public_html 인 곳에 그누보드가 설치됐고\r\nfreeboard 라는 게시판아이디를 사용했다면\r\n/home/mywebsite_home/public_html/data/file/freeboard 이곳에 첨부파일이 \r\n저장되므로 보통 이런 곳에 해킹파일이 업로드 됩니다.\r\n# pwd \r\n/home/mywebsite_home/public_html/data/file/freeboard \r\n# ls *.php\r\nIist.php corp.php meixia.php each.php dm.php yh.php lele.php mem.php\r\n와 같이 게시판 저장경로에 이상한 php 파일이 저장되어 있으면 해킹당한겁니다.\r\n파일 이름과 확장자는 수시로 바뀌더군요.\r\nhttp://mywebsite.co.kr/data/file/freeboard/lele.php\r\n같이 웹접속 해서 불순한 짓을 쥐도새도 모르게 하게 됩니다.\r\n- 일단 http://www.krcert.or.kr/index.jsp 에 있는 whistl 같은 도구로\r\n웹루트 디렉토리의 전체 소스를 점검해서 해킹된 파일을 점검해 보는 것이\r\n좋습니다. 사용법은 위 사이트를 참조하시기 바랍니다.\r\n- 가장 강력한 해결책은 위 첨부파일이 저장되는 웹서버의 data 같은 디렉토리에서 \r\nphp 같은 서버 사이드 스크립트가 실행이 안되게 해야 합니다.\r\ndata 디렉토리 안에 .htaccess 파일을 아래와 비슷하게 시행안될 확장자를 지정해서\r\n생성합니다.\r\n# cat .htaccess \r\n<FILES ~ "\.ph(p[2-6]?|tml)$|\.htm$|\.html$|\.inc$"> \r\nOrder allow,deny \r\nDeny from all \r\n</Files> \r\n와 같이 넣어두면 위에 나열된 확장자 파일에 대한 접근이 거부되어 실행이 안됩니다.\r\n한가지 주의할 건\r\n아파치 웹서버 설정파일 httpd.conf 등에서 php 스크립트가 실행될 확장자에 맞게\r\n나열해야합니다.\r\nhttpd.conf 파일에\r\nAddType application/x-httpd-php .html .htm .php .php3 .php4 .php5 .phtml .cgi .inc\r\n이런 방식이나 혹은\r\n<FilesMatch "\.ph(p[2-6]?|tml)$|\.htm$|\.html$|\.inc$">\r\nSetHandler application/x-httpd-php\r\n</FilesMatch>\r\n와 같은 방식으로 php 실행 확장자를 넣는데, 이렇게 httpd.conf 에서 지정된 확장자를 \r\n모두 .htaccess 파일에서 지정을 해줘야 php 파일 실행을 막을 수 있습니다.\r\n이런 차이를 이용해서 좀 생소한 .phtml 이나 php2 등으로 확장자를 바꾸어서 저장하여\r\n공격하는 경우도 있습니다.\r\n자신의 웹서버 설정에 따라서 .htaccess 파일의 내용이 달라질겁니다.\r\n \r\n4. POP 접속을 이용한 sendmail 공격\r\n1) 아이디 비번 해킹\r\n해커는 스팸을 보내기 위해 서버의 메일 계정 아이디 비번을 \r\n탈취하려고합니다.\r\n비밀번호를 1234 나 1111 혹은 아이디끝에 1234 등을 붙이는 등 단순하게 하면\r\n무차별 대입공격으로 쉽게 알아낼 수 있습니다.\r\n이런 공격은 ssh 나 ftp, telnet 등을 통해서도 자주 이루어 집니다.\r\n/var/log/message 나 ,/var/log/secure 파일등에서 가끔 무지막지한 기록을 볼 수 \r\n있을겁니다.\r\n여기서는 pop3 를 통해 시도한 공격흔적을 maillog 파일에서 찾아보겠습니다.\r\n- POP3 데몬으로 dovecot 을 사용할 경우\r\n# grep "Aborted login:" /var/log/maillog\r\n...\r\n9861 Nov 28 09:39:18 home7 dovecot: pop3-login: Aborted login: user=<chung>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n9862 Nov 28 09:39:18 home7 dovecot: pop3-login: Aborted login: user=<hwan>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n9863 Nov 28 09:39:18 home7 dovecot: pop3-login: Aborted login: user=<choi>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n9864 Nov 28 09:39:19 home7 dovecot: pop3-login: Login: user=<chung>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n9865 Nov 28 09:39:19 home7 dovecot: POP3(chung): Disconnected: Logged out top=0/0, retr=0/0, del=0/2, size=11095\r\n9866 Nov 28 09:39:20 home7 dovecot: pop3-login: Aborted login: user=<chen>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n9867 Nov 28 09:39:20 home7 dovecot: pop3-login: Aborted login: user=<sung>, method=PLAIN, rip=64.31.40.137, lip=222.122.server.ip\r\n메일로그에서 "Aborted login:" 문구로 grep 했을때 동일한 rip= 값으로 수백\r\n수천 줄이 길게 나온다면 이건 비밀번호 해킹이 이루어 진겁니다.\r\n보통 자주 쓰는 아이디인 web, admin, root,webmaster 같은 계정이나 혹은\r\n한국에서 자주 쓰는 sung,yong,choi 같이 추측 가능한 아이디를 이용해서 \r\n비번이 1234 같이 간단한걸 무작위로 연속 대입해서 알아내는 겁니다.\r\n위 로그에서는 64.31.40.137 라는 듣보잡 ip 에서 공격한 예입니다.\r\n9864 라인에 chung 라는 계정이 결국 재수없게 뚫려서 정상 로그인 처리된 걸 확인할 \r\n수 있습니다.\r\n나중에 확인해 보니 이 사용자는 비밀번호로 chung1234 를 사용하고 있었다고 합니다.\r\n- POP3 데몬으로 qpopper 을 사용할 경우\r\n만약 pop3 로 qpopper 를 사용한다면 아래와 같이 "Password supplied" 라는 걸로\r\ngrep 하면 비슷하게 확인 가능합니다.\r\n여기서는 222.179.203.46 에서 수천번의 비밀번호 넘겨짚으려는 시도가 있었습니다.\r\n# zgrep "Password supplied" ./maillog.1.gz \r\n...\r\nNov 21 14:21:33 home3 popper[20898]: web at 46.203.179.222.broad.cq.cq.dynamic.163data.com.cn (222.179.203.46): -ERR [AUTH] Password supplied for "web" is incorrect.\r\nNov 21 14:21:33 home3 popper[20899]: user at 46.203.179.222.broad.cq.cq.dynamic.163data.com.cn (222.179.203.46): -ERR [AUTH] Password supplied for "user" is incorrect.\r\nNov 21 14:21:35 home3 popper[20906]: admin at 46.203.179.222.broad.cq.cq.dynamic.163data.com.cn (222.179.203.46): -ERR [AUTH] Password supplied for "admin" is incorrect.\r\nNov 21 14:21:37 home3 popper[20911]: webmaster at 46.203.179.222.broad.cq.cq.dynamic.163data.com.cn (222.179.203.46): -ERR [AUTH] Password supplied for "webmaster" is incorrect.\r\n\r\n2) pop3 클라이언트 사용시 로그 형태\r\n- 일반적으로 사용하는 아웃룩과 같은 메일 클라이언트로 접속해서 메일을 발송할 경우\r\nsendmail 로그에 어떻게 기록되는지 먼저 보겠습니다.\r\n## POP 아웃룩 연결\r\n..\r\nDec 1 16:35:59 home5 sendmail[31579]: AUTH=server, relay=[112.187.xxx.xx], authid=nonots, mech=LOGIN, bits=0\r\nDec 1 16:35:59 home5 sendmail[31579]: pB17ZvAS031579: from=<000001ccb0b9$9b14ed20$d13ec760$@com>, proto=ESMTP, daemon=MTA, relay=[121.166.xxx.xxx]\r\nDec 2 15:14:10 home7 sendmail[6835]: pB26E7mm006835: Milter add: header: X-Virus-Scanned: clamav-milter 0.97.2 at home7.myhome.co.kr\r\nDec 2 15:14:10 home7 sendmail[6835]: pB26E7mm006835: Milter add: header: X-Virus-Status: Clean\r\n..\r\n와 같이 검색이 될겁니다\r\ngrep 검색에서 [, ] 문자를 사용하려면 위와 같이 역슬래시로 처리해 줘야 합니다.\r\n만약 너무 길어서 보기 힘들다면 authid= 부분만 검색해서 어느 계정으로\r\n발송 중인지 알 수 있습니다.\r\n# grep "\[6835\]" /var/log/maillog | grep authid\r\nDec 2 15:14:10 home7 sendmail[6835]: AUTH=server, relay=[121.166.xxx.xxx], authid=jychoi, mech=LOGIN, bits=0\r\n..\r\n와 같이 jychoi 라는 계정으로 121.166.xxx.xxx 에서 접속해서 메일을\r\n발송 중입니다.\r\n만약 이 발송이 정상이 아니라 스팸 의심이 된다면 위에서 검색한\r\n# zgrep "authid=" /var/log/maillog* | awk '{print $8}' | sort | uniq -c | grep authid | sort -r\r\n의 결과를 보거나 기타 방법으로 스팸 여부를 판단하면 됩니다.\r\n실제 jychoi 사용자에게 전화해서 지금 메일 발송중인지 물어볼 수있다면 제일 정확하겠죠.\r\n그리고 보통 스팸은 늦은밤이나 새벽 시간대에 보내므로 발송 시간을 보고\r\n어느정도 추정할 수도 있습니다.\r\n\r\n5) 스팸발송일 경우 대처 방법\r\n- 장난이 아니라면 모든 메일로그를 압축해서 보관하고 "기관"에 신고하면 됩니다.\r\n귀찮아서 그냥 자체 해결하려면,\r\n(0) sendmail 데몬을 중지합니다.\r\n(1) 우선 스팸 발송한 ID 계정을 폐쇄하거나, 혹은 실제 사용자에게 연락해서\r\n비밀번호를 수정하도록 강제합니다.\r\n(2) 해킹 의심되는 IP 를 차단합니다. 아래와 같이 iptables 로 해도 되고\r\n# iptables -I INPUT -s 194.51.238.89 -j DROP\r\n# iptables -I OUTPUT -s 194.51.238.89 -j DROP\r\n/etc/mail/access 파일이나, /etc/hosts.deny 등을 이용하거나\r\n하여튼, 방화벽에서 막을 수 있는 모든 수단을 동원해 막습니다.\r\n(3) /var/spool/mqueue 를 청소합니다.\r\n아이디나 아이피를 차단해도 sendmail 데몬의 큐에 저장된 건 일정시간 계속\r\n발송하려고 시도하게 됩니다.\r\n194.51.238.89 이 아이피로 생성된 큐의 임시파일을 \r\n아래와 같이 일괄 삭제 가능합니다.\r\n# grep -l 194.51.238.89 /var/spool/mqueue/* | xargs -i rm -f {}\r\n(4) sendmail 데몬을 재시작합니다.\r\n아마 재시작해도 일정시간 동안 큐에 있는 파일 때문에 일부 스팸 발송\r\n시도가 있을수 있습니다. 그건 수동으로 큐파일 이름을 확인해서 \r\n삭제해 주면 됩니다.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
*** 아직 그누보드 sendmail 스팸 릴레이가 어떻게 대응햐여 할지 모르겠습니다 ****\r\n1차 그누보드 sendmail 중지 ( 요놈이 원인 ????)\r\n2차 시놀로지 메일 스테이션 smtp.gmail 설정 수발신 메일 로그 관측중입니다.\r\n----------------- 당분간 그누보드 회원 가입승인은 수동 진행 ---------------------
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
점검 1) 만약 웹로트가 /home/mywebsite_home/public_html 인 곳에 그누보드가 설치됐고 \r\nfreeboard 라는 게시판아이디를 사용했다면 \r\n/home/mywebsite_home/public_html/data/file/freeboard 이곳에 첨부파일이 \r\n저장되므로 보통 이런 곳에 해킹파일이 업로드 됩니다. \r\n----- 조치 아래 파일 삭제 ---\r\n저의 경우 : w:\g5s\data\file\8QA\global.php 삭제\r\nw:\g5s\data\file\h1\help.php 삭제\r\nw:\g5s\data\file\b2\dirs.php 삭제\r\n--------------------------------> 첨부 확인좀 해주세요
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
점검 2 ) /var/log/message 파일 \r\n4. POP 접속을 이용한 sendmail 공격 \r\n1) 아이디 비번 해킹 \r\n해커는 스팸을 보내기 위해 서버의 메일 계정 아이디 비번을 \r\n탈취하려고합니다. \r\n비밀번호를 1234 나 1111 혹은 아이디끝에 1234 등을 붙이는 등 단순하게 하면 \r\n무차별 대입공격으로 쉽게 알아낼 수 있습니다. \r\n이런 공격은 ssh 나 ftp, telnet 등을 통해서도 자주 이루어 집니다. \r\n/var/log/message 나 ,/var/log/secure 파일등에서 가끔 무지막지한 기록을 볼 수 \r\n있을겁니다. \r\n여기서는 pop3 를 통해 시도한 공격흔적을 maillog 파일에서 찾아보겠습니다. \r\n- POP3 데몬으로 dovecot 을 사용할 경우 \r\n# grep "Aborted login:" /var/log/maillog \r\n---------\r\n저의 경우 없음\r\ncp messages.* /volume1/web/phpini/\r\n\r\n하여 윈도우 에디터로 확인 \r\nSmartDataRead(108) read value /dev/sde fail\r\n2016-11-24T22:22:21+09:00 shimss_nas6 sk: disk/disk_temperature_get.c:75 read value /dev/sde fail\r\n특이증상 나옴\r\n----\r\n /var/log/maillog 점검 ...파일 없음
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
그누보드 sedmail 시놀로지 이메일 설정 확인중\r\n삭제전끼지 메일 로그가 생기고 \r\n3개의 php 파일 삭제후 \r\n메일 스테이션 로그 확인 없고 11월24일 23:37:29 없음 확인 중,,,,,,,
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
서버내 httpd.conf 파일 찾기 ( 참조 : http://riceworld.tistory.com/21)\r\n find / -name 'http*.con*'\r\n\r\n cd /volume1/@appstore/WebStation/usr/local/etc/httpd/conf/\r\n cp httpd.conf /volume1/web/phpini/\r\n-------------------\r\n<FilesMatch "^\.ht">\r\n Order allow,deny\r\n Deny from all\r\n Satisfy All\r\n</FilesMatch>\r\n============= 아래 참조 ---\r\nhttpd.conf 파일 찾아 같은 형식으로 \r\ndata 디렉토리 안에 .htaccess 파일을 아래와 비슷하게 시행안될 확장자를 지정해서 \r\n생성합니다. \r\n# cat .htaccess \r\n<FILES ~ "\.ph(p[2-6]?|tml)$|\.htm$|\.html$|\.inc$"> \r\nOrder allow,deny \r\nDeny from all \r\n</Files> \r\n============== 저의 시놀 dsm6 httpd.conf ====\r\n....\r\n<Files ~ "^\.([Hh][Tt]|[Dd][Ss]_[Ss])">\r\n Order allow,deny\r\n Deny from all\r\n Satisfy All\r\n</Files>\r\n와.,....\r\n<FilesMatch "^\.ht">\r\n Order allow,deny\r\n Deny from all\r\n Satisfy All\r\n</FilesMatch>\r\n===================\r\n...중에 형식을 찾아서\r\n \r\n.?????? 어느 형식으로 만드어야 하는지 확인....중\r\n... 참시 중지.....메일서버에 아직도 오네요../
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
2016-11-25 00:41:36 메일 로그 지우고,글등록 알림메일 지우고 ...오늘 ....잠자자....
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
w:\g5s\data\qa 디렉터리\r\n\r\n2016-05-07 오후 04:45 126,821 global70.php\r\n삭제
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
리눅스 해킹사고 분석 및 대응절차\r\nhttp://m.virhac.com/view.php?bid=linuxhk&nid=42\r\n\r\n리눅스 해킹 사고시 구체적인 대응방법을 모르는 초보 관리자라면 다음과 같은 절차를 통해서 피해 시스템을 분석하는것도 하나의 도움이 될 수 있다. 실제 해킹된 서버 예를 들어서 아래의 대응 절차를 이용하여 피해 시스템을 분석해 보고 대응 방법을 논의해 보자.\r\n리눅스 해킹 사고 분석 및 대응 절차\r\n1. 해킹 의심 상황 포착\r\n2. 외부에서 nmap 명령어로 포트 스캔\r\n3. chkrootkit, rootkit hunter등으로 명령어 변조와 rootkit 존재 여부확인\r\n4. 해커가 시스템의 권한을 어느정도까지 확보했는지 확인\r\n5. 변조된 파일 복구\r\n6. 시스템 상황 파악 및 백도어 제거\r\n7. 어떤 취약성을 이용하여 권한을 획득하였는지 확인후 취약성 패치 및 대책 수립\r\n1. 해킹 의심 상황 포착 (ls, ps, pstree, netstat, lsattr, find)\r\n해커가 서버를 해킹한 후에는 가능하면 서버의 해킹 흔적을 지우려고 한다. 잡힐 것이 두려워서가 아니라(신문에 보도될 정도의 보안 사고가 아니라면 잡을 방법이 거의 없다.) 힘들게 해킹한 서버를 이용하지 못할지도 모르기 때문이다. 때문에 서버관리자는 사소한 사항에도 주의를 기울여야 한다. 서버의 작동이 이상하다면 자신의 감을 믿고 조사하는것이 나을 때가 있다. \r\n구체적인 해킹 징후를 몇가지 나열한다면 다음과 같다.\r\n시스템 명령어가 이상하게 실행이 되거나 작동이 되지 않을경우\r\n나도 모르게 파일의 퍼미션이 변조되어 있을 경우\r\nps, pstree, lsof, netstat 명령어로 보았을때 이상한 프로세스나 수상한 포트가 오픈되어 있을 경우\r\n로그파일이 지워져 있거나 로그가 쌓이지 않을 경우\r\nhistory 명령어로 보았을때 지난 history가 보이지 않을 경우\r\nlast, 혹은 w 명령어로 보았을때 수상한 접속기록이 보일 경우\r\n/dev, /var/tmp, /tmp 디렉터리에 수상한 파일이나 디렉터리가 있을 경우\r\n/dev 디렉터리는 다음 명령어로 수상한 파일이나 디렉터리를 찾을 수 있다.\r\n# find /dev -type f\r\n/var/tmp /tmp디렉터리에는 숨김파일이나 디렉터리를 많이 만들므로 확인 할때 점(.)으로 시작하는 파일이나 디렉터리가 있는지 확인해야 한다.\r\n여기서 주의할 점은 해커가 최상의 루트 권한을 얻었을 경우는 바이너리 명령어를 변조해서 ps나 pstree명령어를 이용해서도 수상한 점을 감지하기가 힘들다는 점이다. 이럴경우 미리 바이너리 파일의 변조여부부터 점검해야 한다.\r\n다음은 실제 해킹된 서버의 상황이다. 해당 서버는 특정 실행 파일의 퍼미션 변조와 로그가 쌓이지 않는 증상이 있었다. 로그가 쌓이지 않아 syslogd를 리스타트 했으나 제대로 실행되지 않았다.\r\n# /etc/init.d/syslog restart \r\nShutting down kernel logger: [ OK ] \r\nShutting down system logger: [ OK ] \r\nStarting system logger: [FAILED] \r\nStarting kernel logger: [ OK ]\r\ntop 명령어가 다음과 같은 에러를 내면서 실행 되지 않는다.\r\n# top\r\ntop: error while loading shared libraries: libncurses.so.4: cannot open shared object file: No such file or directory\r\n보통 해커들은 변조된 실행파일들이 다시 바뀌지 않게 해당 명령어에 속성을 걸어 놓는다. lsattr 명령어로 확인 할 수 있다.\r\n# lsattr /usr/bin/top\r\nsuS-iadAc---- /usr/bin/top\r\n이 이외에도 lsattr로 확인해 본결과 /bin, /usr/bin, /sbin 디렉터리에 다수의 실행 파일이 변조 된 것을 확인 할 수 있다.\r\n그러나 pstree나 ps, netstat명령어로도 특별한 이상점을 찾을수 없었다. 다만 pstree명령어를 실행시켰을 경우\r\nxinetd로 110번 포트(pop3)를 서비스 하고 있었으나 pstree명령에는 xinetd가 보이지 않았다. 즉 해커는 바이너리 명령어를 변조 시켜 시스템 상황을 숨기고 있는 것이다.\r\n# pstree\r\ninit-+-avsms\r\n |-crond\r\n |-events/0\r\n |-httpd---18*[httpd]\r\n |-khelper\r\n |-khubd\r\n |-9*[kjournald]\r\n |-klogd\r\n |-kseriod\r\n |-ksoftirqd/0\r\n |-kswapd0\r\n |-kthread-+-aio/0\r\n | |-ata/0\r\n | |-kacpid\r\n | |-kblockd/0\r\n | |-2*[pdflush]\r\n | `-rpciod/0\r\n |-5*[mingetty]\r\n |-minilogd\r\n |-safe_mysqld---mysqld\r\n |-scsi_eh_0\r\n |-scsi_eh_1\r\n |-scsi_eh_2\r\n |-scsi_eh_3\r\n |-secure-mcserv\r\n |-3*[sendmail]\r\n |-sendmail---sendmail\r\n |-snmpd\r\n |-sshd-+-4*[sshd---bash]\r\n | `-sshd---bash---pstree\r\n |-syslogd\r\n |-udevd\r\n `-vsftpd\r\n2. 외부에서 nmap 명령어로 포트 스캔 (nmap, telnet)\r\n일단 해킹된 서버에서는 정확한 정보를 얻을 수 없으니 외부에서 nmap명령어를 통해서 백도어 포트가 열려 있지 않는지 확인해 본다.\r\n# nmap -sT -p 1-65535 타켓서버아이피\r\n21/tcp open ftp\r\n22/tcp open ssh\r\n25/tcp open smtp\r\n80/tcp open http\r\n110/tcp open pop3\r\n3306/tcp open mysql\r\n4482/tcp open unknown\r\n정상적인 서비스 포트외에도 4482라는 수상한 포트를 발견할 수 있다.\r\n#telnet 해당서버아이피 4482\r\ntelnet 명령어로 한번 접속을 시도해 보자.\r\nTrying xxx.xxx.xxx.xxx...\r\nConnected to xxx.xxx.xxx.xxx\r\nEscape character is '^]'.\r\nSSH-1.5-1.2.25\r\n백도어 프로세스가 현재 서버에 실행중인것을 확인 할 수 있다.\r\n3. chkrootkit, rootkit hunter등으로 명령어 변조와 rootkit 존재 여부확인(rpm, lsattr, chattr)\r\n일반적으로 바이너리 변조나 루트킷 탐지에 많이 사용하는 보안 툴은 chkrootkit과 rootkit hunter가 있다.\r\n다음 url에서 이 두가지 툴을 다운 받을 수 있다.\r\nhttp://www.chkrootkit.org/\r\nhttp://www.rootkit.nl/projects/rootkit_hunter.html\r\n여기서는 chkrootkit 을 이용해서 점검해 보았다. 다음과 같이 변조된 바이너리 파일목록을 출력해준다.\r\nChecking `ls'... INFECTED\r\nChecking `lsof'... INFECTED\r\nChecking `mail'... INFECTED\r\nChecking `mingetty'... INFECTED\r\nChecking `netstat'... INFECTED\r\n아래는 rootkit hunter로 검사한 결과이다. \r\nFile properties checks...\r\n Required commands check failed\r\n Files checked: 128\r\n Suspect files: 11\r\nRootkit checks...\r\n Rootkits checked : 118\r\n Possible rootkits: 3\r\n Rootkit names : Flea Linux Rootkit, SHV4 Rootkit, SunOS Rootkit\r\nApplications checks...\r\n Applications checked: 6\r\n Suspect applications: 2\r\n여기서 주의할 점이 있다. 변조가 심한 시스템에서는 chkrootkit아니 rootkit hunter가 제대로 설치가 되지 않거나\r\n동작이 되지 않을 수 있다. 그렇다면 굳이 동작을 시킬려고 하지 말고 다음 단계의 조치를 바로 취해야 한다.\r\n4. 해커가 시스템의 권한을 어느정도까지 확보했는지 확인\r\n한가지 짚고 넘어가야 할 점은 리눅스상에서는 권한 이상의 일은 할 수가 없다는 것이다. 바이너리 파일까지 변조된 것을 확인한 이상 이미 해커는 시스템 최상위 권한을 획득했다는 뜻이므로 가능한 빠른 시간내에 자료 백업 및 시스템 재설치를 서둘러야 한다. 마음만 먹는다면 해커는 서버상의 모든 자료를 파괴할 수 있다.\r\n그렇지 않다면 변조된 파일의 퍼미션이나 돌고 있는 프로세스의 권한을 보고 해커가 어느정도까지 시스템의 권한을 획득했는지 확인하고 조치를 취하면 된다.\r\n슈퍼유저 권한을 빼앗긴것을 확인했다면 가능하면 네트워크를 차단하고 싱글모드에서 복구작업을 하는것이 좋다. 네트워크 차단이 불가능할 경우 iptables같은 방화벽을 통해 엄격한 접근차단 정책을 설정하고 작업을 해야 한다. 시스템 설치가 최선책이나 일단 시간이 걸린다면 다음 단계로 넘어가 시스템을 복구해야 한다.\r\n5. 변조된 파일 복구(rpm, lsattr, chattr, strace)\r\n접근 차단 정책을 설정했으면 해커에 의해 변조된 파일을 복구 시켜야 한다.\r\n변존된 파일은 앞서 루트킷 탐지툴로도 확인이 가능하나 rpm명령으로도 확인 할 수 있다.\r\n# rpm -qf /bin/login\r\nutil-linux-2.12a-24.5\r\n먼저 -qf 옵션을 줘서 해당 파일이 어떤 rpm에 속해 있는지 확인한다.\r\n#rpm -qV util-linux-2.12a-24.5\r\n-qV 옵션을 주면 해당 바이너리의 변조 상태를 확인 할수 있다.\r\nS.5..UG. /bin/login\r\n정상이면 아무런 출력도 없다. 변조가 되었다면 위와 같이 변조된 상태를 출력해 준다.\r\n이제는 변조된 파일을 정상 파일로 교체 해야 한다. 정상적인 rpm을 받아서 덮어 씌워주면 된다. 다음 url에서 정상 rpm을 다운받을수 있다. 리눅스 배포본 별로 rpm을 검색해서 다운 받을 수 있다. 해당 OS에 받는 버전을 다운받아 재설치 한다.\r\nhttp://rpm.pbone.net/\r\n# rpm -Uvh --force util-linux-2.12a-24.5.i386.rpm \r\nPreparing... ########################################### [100%]\r\n 1:util-linux ########################################### [100%]\r\nerror: unpacking of archive failed on file /bin/login: cpio: rename failed - Operation not permitted\r\n# lsattr /bin/login\r\nsuS-iadAc---- /bin/login\r\n# chattr -suSiadAc /bin/login\r\n--force 옵션을 주어서 재설치 하면 된다. 위에서는 재설치 오류가 나는데, 해커가 변조된 파일을 다시 교체 할수 없게 속성을 걸어 놓은 것이다. lsattr명령으로 확인할 수 있으며 chattr명령으로 해제한후 재 설치 해준다. 이와 같이 변조된 파일을 모두 복구시켜 줘야 한다. 특히 ls, ps, top, syslogd, netstat, ifconfig, pstree 명령어와 ssh, pam, passwd, login등의 인증관련 명령어는 꼼꼼히 살펴야 한다.\r\n6. 시스템 상황 파악 및 백도어 제거(fuser, pstree, lsof, netstat)\r\n앞서 nmap으로 서버에서 실행중인 수상한 포트를 탐지 했으나 실제 해킹된 서버에서는 의심스러운 프로세스나 포트를 탐지 할 수 없었다. ps나 ls, pstree같은 명령어가 변조 되었기 때문이다.\r\nstrace를 이용하면 더욱 분명해 진다.\r\n아래와 같이 실행하면 netstat 명령어가 수상한 파일을 참조하고 있다는 것을 알 수 있다.\r\n/usr/include/hosts.h 파일을 한번 보자.\r\n# strace -e trace=open netstat -nlp\r\nopen("/etc/ld.so.cache", O_RDONLY) = 3\r\nopen("/lib/tls/libc.so.6", O_RDONLY) = 3\r\nopen("/usr/include/hosts.h", O_RDONLY) = 3\r\n# cat /usr/include/hosts.h\r\n2 64.228\r\n2 199\r\n2 64\r\n3 7000\r\n4 7000\r\n3 6667\r\n4 6667\r\n2 64.220\r\n2 82.177\r\n2 5412\r\n4 5412\r\n2 81.190\r\n2 81.15\r\n3 6666\r\n4 6666\r\n3 4482\r\n4 4482\r\n위에 적인 포트들은 netstat 명령으로 탐지 할 수 없다. netstat 명령어를 재설치하거나 위에 파일에서 nmap에서 발견한 4482포트를 지워버리면 다음과 같이 백도어 프로세스를 발견 할 수 있다.\r\ntcp 0 0 0.0.0.0:4482 0.0.0.0:* LISTEN 1919/xntps\r\npstree 명령어를 재 설치 하면 이제 백도어 프로세스가 pstree에도 잡힐 것이다.\r\n# strace -e trace=open ls\r\nopen("/etc/ld.so.cache", O_RDONLY) = 3\r\nopen("/lib/tls/libc.so.6", O_RDONLY) = 3\r\nopen("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3\r\nopen("/usr/include/file.h", O_RDONLY) = 3\r\n마찬가지로 ls명령어도 strace로 추적해 보았다.\r\n#cat /usr/include/file.h\r\n.sh\r\nsystem\r\ntksb\r\ntkp\r\nlblip.tk\r\ntks\r\nldd.so\r\nsrd0\r\nldlib.5\r\n.config\r\nld.so.hash\r\n0x88\r\nr00t\r\nsynscan\r\nmass_samba\r\nsambal\r\nscreen\r\nSCREEN\r\nss\r\nx\r\npscan2\r\ngo.sh\r\nssh-scan\r\ngen-pass.sh\r\nfile.h에 적힌 해당 파일은 ls명령어로 확인 할 수 없을 것이다.\r\n이제 xntps 백도어 프로세스에 좀 더 관심을 기울여 보자.\r\n # xntps -?\r\nxntps: invalid option -- ?\r\nsshd version 1.2.25 [i586-unknown-linux]\r\nUsage: xntps [options]\r\nOptions:\r\n -f file Configuration file (default /lib/security/.config/ssh/sshd_config)\r\n -d Debugging mode\r\n -i Started from inetd\r\n -q Quiet (no logging)\r\n -p port Listen on the specified port (default: 22)\r\n -k seconds Regenerate server key every this many seconds (default: 3600)\r\n -g seconds Grace period for authentication (default: 300)\r\n -b bits Size of server RSA key (default: 768 bits)\r\n -h file File from which to read host key (default: /lib/security/.config/ssh/ssh_host_key)\r\n -V str Remote version string already read from the socket\r\nxntps ntp 서비스를 위한 데몬이나 여기서는 sshd 프로세스로 바꿔치기 되어 있다.\r\n# cat /lib/security/.config/ssh/sshd_config\r\nPort 4482\r\nListenAddress 0.0.0.0\r\nServerKeyBits 768\r\nLoginGraceTime 600\r\nKeyRegenerationInterval 3600\r\nPermitRootLogin yes\r\nIgnoreRhosts no\r\nStrictModes yes\r\nQuietMode no\r\nX11Forwarding no\r\nX11DisplayOffset 10\r\nFascistLogging no\r\nPrintMotd yes\r\nKeepAlive yes\r\nSyslogFacility DAEMON\r\nRhostsAuthentication no\r\nRhostsRSAAuthentication yes\r\nRSAAuthentication yes\r\nPasswordAuthentication yes\r\nPermitEmptyPasswords yes\r\nUseLogin no\r\n이로써 ssh 백도어 프로세스 인것이 확실시 된다. 4482로 포트를 이용해 sshd 데몬을 하나 더 실행 시킨것이다. 이러한 백도어는 시스템 재부팅시 자동으로 실행 되도록 해놓은 경우가 많으므로 주의 해야 한다. 크론(/var/spool/cron/\r\n)이나 시스템 시작 스크립트에 자동시작 명령이 설정되어 있지 않은지 주의해야 한다. 여기서는 rc.sysinit에 숨겨져 있었다. \r\n# cat /etc/rc.d/rc.sysinit\r\n# Xntps (NTPv3 daemon) startup.. \r\n/usr/sbin/xntps -q\r\n\r\n7. 어떤 취약성을 이용하여 권한을 획득하였는지 확인후 취약성 패치 및 대책 수립 (tripwire)\r\n다시한번 강조하지만 리눅스에서는 권한이상의 일을 할 수 없다는 것을 향상 명심해야 한다. 침해 사고를 당한 시스템을 분석 할때는 해당 시스템이 웹서버 권한을 얻었는지 혹은 일반 유저권한을 획득했는지 파악하고 이에 대비 해야 한다.\r\n위에서 설명한 피해 서버는 이미 해커가 슈퍼유저권한을 획득한 상황이기 때문에 가능한 빠른시간내에 시스템을 재설치 해야 하는 상황이다.\r\n최근에 발표된 리눅스 커널 취약점은 CVE-2009-2692 이 있다. 해당 서버는 취약점 패치를 하지 않았을 뿐만 아니라 루트 사용자에 대한 엄격한 접근통제를 적용하고 있었으므로 커널 취약점을 통해 슈퍼 유저권한을 얻은후 해킹 흔적을 지우고 백도어를 설치 한것으로 보인다.\r\n리눅스 커널 취약점은 어지간해서는 잘 나오지 않는다. 그러나 한번 발견 될 경우 빠른 시간내에 조치를 취하지 않으면 그 피해가 커질 수 있으므로 리눅스 시스템 관리자는 향상 주의를 기울여야 한다. 미처 조치를 취하기도 전에 해킹을 당할 수도 있으므로 tripwire와 같은 파일 시스템 무결성을 점검해 주는 보안툴을 미리 설치해 운영하거나 중요한 바이너리 파일은 주기적으로 백업해 놓아야 한다.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
점검)top 명령어 정상
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
점검) # find /dev -type f
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
4.32.15 (10.12.28) \r\n : [보안패치] $write_table 변수값 초기화 (몽구스님) \r\n\r\n common.php \r\n\r\n위 파일에 아래 코드만 추가해 주십시오. \r\n\r\n$write_table = ""; \r\n\r\n\r\n\r\ndata 디렉토리에서 \r\nfind -name '*.php' -o -name '*.htm' -o -name '*.html' \r\n로 검색되는 파일을 모두 삭제하여 주십시오. \r\n\r\ndata 디렉토리에 검색되는 index.php 는 모두 삭제하셔도 좋습니다.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
data/file폴더에서 php 삭제\r\nfind -name '*.php' -o -name '*.htm' -o -name '*.html' | xargs rm 으로 삭제하시면 편합니다.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
또한 그누보드 sql injection 취약점을 통한 해킹방지를 위해 아래 작업을 진행 해 주시기 바랍니다.\r\n1. 리셀러관리자 > 고객관리 > 회원서비스관리 > 회원선택 > 웹방화벽 설정 > 사용함\r\n \r\n 변수치환 공격을 막기 위해서 웹방화벽(Mod security)은 항상 '사용'으로 상태를 유지해 주십시오.\r\n2. 그누보드 업로드 디렉토리에 php 실행 차단을 꼭 설정해 주십시오.\r\n php_value engine off 를 .htaccess 로 생성하여 그누보드가 설치된 디렉토리 내 data/file/ 에 추가합니다.\r\n (주의 : 파일 이름은 글자 그대로 .htaccess 이며, 확장자가 없습니다.)\r\n\r\n 입력내용 => php_value engine off\r\n 파일위치 => data/file/.htaccess\r\n 설정이 어려우시다면 고객센터로 문의해 주십시오. 직접 설정해 드리겠습니다.\r\n3. 그누보드 관리자 계정 모두 비번 15자(영,숫자 포함) 이상으로 변경해주시고, 관리자 권한을 가진 계정을 최소화 해주시기 바랍니다.\r\n감사합니다.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
조치).htaccess파일 php_value engine off (취소)\r\n----.htaccess 파일 저장\r\nphp_value engine off\r\nOrder Deny,Allow\r\nDeny from all\r\n----
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
[보안패치] $write_table 변수값 초기화 (몽구스님) \r\n4.32.15 (10.12.28) \r\n : [보안패치] $write_table 변수값 초기화 (몽구스님) \r\n\r\n common.php \r\n\r\n위 파일에 아래 코드만 추가해 주십시오. \r\n\r\n$write_table = ""; \r\n\r\n\r\n\r\ndata 디렉토리에서 \r\nfind -name '*.php' -o -name '*.htm' -o -name '*.html' \r\n로 검색되는 파일을 모두 삭제하여 주십시오. \r\n\r\ndata 디렉토리에 검색되는 index.php 는 모두 삭제하셔도 좋습니다.
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
네트위크 드라이브에서 파일 검사 삭제....\r\ndir /s *.php > ppp2.txt\r\ndir /s *.h* > ppp_h.txt\r\n파일 에디터로 확인
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
조치 내용) DSM 초기 설치후 스팸 릴레이 방지 하기\r\n1) 기본적으로 GMAIL 설정전에 서버로 그누보드 발신설정\r\n2) 메일 스테이션에 GMAIL로 발송 설정\r\n3) 방화벽을 지역별로 거부 설정하면서 스펨을 확인 ; 메일서버에서 로그 상태 확인 ( 중국은 무조건 거부 필수 )\r\n4) 그누보드 data/file 디랙토일에 *.php,*.htm*,파일 삭제\r\n5) 그누보드 data/file 디랙토일에 .htaccess (적용 보류 : 사진 썸네일 생성 안됨)\r\n php_value engine off\r\nOrder Deny,Allow\r\nDeny from all\r\n6) 메일서버에서 메일서버에서 로그 상태 확인\r\n ---- 1일 경과 추가 생성 확인 한다
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
아무래도 시놀로지 DSM 자체 보안버그 때문에 \r\n시놀로지 시스템들이 (Xpenology 포함) 해킹위험에 노출된 듯 합니다.\r\nhttp://forum.synology.com/enu/viewt...\r\n\r\n-------------------------------\r\n시놀 또는 해놀을 사용하시는 분들은 아래 3가지 방법으로 확인해 보세요.\r\n1. 시놀로지 웹 리소스 모니터링에서 \"dhcp.pid\" \"httpd-log.pid\" 가 시스템 자원을 차지하고 있지 않은지\r\n(70~99% cpu 점유)\r\n\r\n2. ssh 로 접속해서 top 명령으로 확인해서 위의 2가지 프로세스가 상위에 있지 않은지\r\n(개별 프로세스 별로 20~25% 점유)\r\n\r\n3. ssh 로 접속해서 \r\nfind / -name \"LD_PRELOAD\"\r\n명령으로 내용 확인\r\n\r\n\r\n위의 1,2번은 \"비트코인 마이닝\" 프로세스가 돌고 있는 것으로\r\n누군가 시스템을 해킹해서 돈버는 프로그램을 돌리는 중이라고 댓글에 적어 뒀네요.\r\n\r\n-------------------------------\r\n해당 문제에 대해 시놀로지 측에서도 문제점에 대한 정확한 설명없이\r\n\"해당 문제는 우리측 개발팀에서도 확인했다. 크리티컬 업데이트 패치되었다.\"\r\n라며 하드리셋 후 dsm 최신버젼으로 새로 설치하라고 안내한다고 합니다.\r\n\r\n============================\r\n저의 경우 이걸 발견한게\r\n\r\nhyper-v 로 xpenology dsm4.2 를 실행중인데요. 웹 리소스모니터링에는 cpu가 0% 으로 나오는데\r\n이상하게 hyper-v 관리자에서 보면 cpu를 40~50% 사용중인것으로 나와서, top 찍어보고 찾았습니다.\r\n\r\ndsm 리소스 모니터링에서는 보이지 않게 숨긴듯 합니다.\r\n\r\n\r\nssh 접속해서 \"top\" 명령 해보면 \r\n-----\r\n9015 9010 root R N 44908 2.1 25.0 /tmp/dhcp.pid -B -q -o stratum+tcp://94.102.49.168:3333 -O bois2men:x\r\n9014 9010 root R N 44908 2.1 24.9 /tmp/dhcp.pid -B -q -o stratum+tcp://94.102.49.168:3333 -O bois2men:x\r\n20423 20420 root R N 45932 2.2 24.9 /var/run/httpd-log.pid -B -q -o stratum+tcp://5.178.66.104:3333\r\n20424 20420 root R N 45932 2.2 24.8 /var/run/httpd-log.pid -B -q -o stratum+tcp://5.178.66.104:3333\r\n\r\n이렇게 나오네요 쩝..\r\n\r\n\r\n\r\nhyper-v 에는 4.2 버젼 말고는 설치 되지 않는데.. 우찌 해야 하나 고민중입니다 ㅡ,.ㅡ;;
![profile_image](https://11q.kr:443/www/data/member_image/ss/ss1145.gif?1588261899)
shimss11q님의 댓글
![](https://11q.kr:443/www/data/member/ss/ss1145.gif?1479800520)
점검)3. ssh 로 접속해서 \r\nfind / -name \"LD_PRELOAD\"\r\n\r\nroot@shimss_nas6:~# find / -name \"LD_PRELOAD\"\r\nroot@shimss_nas6:~#
♥간단_메모글♥
-
등록일 04.15가입 인사드립니다.댓글 4
-
등록일 04.09가입인사.댓글 3
-
등록일 03.03안녕하세여댓글 1
-
등록일 02.13
최근글
-
등록일 08.19
새댓글
-
등록자 파란하늘 등록일 08:19
-
등록자 진초롱이 등록일 05:39
-
등록자 진초롱이 등록일 05:37
-
등록자 11qkr 등록일 08.19
-
등록자 진초롱이 등록일 08.19
오늘의 홈 현황
QR코드
☞ QR코드 스캔은 kakao앱 자체 QR코드