해커즈뉴스 / 해커대학

Donation bitcoin(기부용 비트코인 주소)

 
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
 
기부하신 비트코인은 "보안 취약 계층"을 위해 사용되고 있습니다.
 
 

Donation bitcoin(기부용 비트코인 주소)

 
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
 
기부하신 비트코인은 "보안 취약 계층"을 위해 사용되고 있습니다.
 

공지

 

1. MS 엣지 브라우저에서의 경고창은 '윈도우 디펜더'를 끄시면 됩니다.

             '윈도우 디펜더 끄기'

2. 크롬 브라우저로 접속시 나오는 악성코드 경고창은 구글 크롬의 에러, 즉 오탐(탐지 오류)이므로 무시하시면 됩니다.

3. 이 사이트는 안전하며 깨끗하다는 것을 알려 드립니다.

4. 무고한 사이트들에 대한 공룡 기업 브라우저들의 무차별적인 '탐지 오류 횡포'가 사용자들의 정보 공유의 자유를 침해하고 있습니다. 이에 대응하여 이 기업들을 상대로 소송을 준비하고 있습니다.

 




설치

자료실

APACHE 팁
이름: 해커즈뉴스
CODE RED 공격 로그에 남기지 말기  
요즘 CODE RED virus 때문에 말이 많습니다. 이 virus 는 WINDOG 2000/NT 의 IIS 5.0 을
공격하는 VIRUS 입니다. 그런데 리눅스에서는 아무 영향도 없느냐는 문의가 많이 들어오
는 군요.

CODE RED virus 는 리눅스는 물론 모든 OS에게 영향을 주게 됩니다. 물론 VIRUS 에 의한
감염 여부에는 별 상관은 없지만 대신 웹서버의 로그에 엄청나게 기록을 하게 되는 것이
문제라고 하겠지요. 보통 제 서버 같은 경우에는 하루 평균 6000 번의 접속 로그가 남아
있더군요. 이 로그가 무시못할 정도가 되어 버리고 있는 겁니다.

그래서 몇가지 생각을 해 보게 되었습니다. 일단 access_log 에 default.ida 에 대한 로
그를 남기지 않고, 그다음 이 공격을 그대로 MS 에게 돌려주는 방법을 생각해 보게 된것
이죠. 뭐 CODE RED 를 MS에서 만든것도 아닌데 왜 MS에게 응징을 하느냐 하는 것은 그만
큼 MS가 제 무덤을 팠다고 생각하면 될것 같네요 :-)

또는 이 query 를 보낸 서버로 되돌리는 방법도 있겠죠 ^^; 2 가지 방법 다 논해 보도록
하지요.

일단 apache 의 httpd.conf 을 열어서 다음의 라인을 찾도록 합니다.

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

이 라인을 찾았으면 이 아래에 다음과 같이 설정을 합니다.

SetEnvIf Request_URI \.ida CodeRed
SetEnvIf Referer \.ida CodeRed

Request_URI 는 서버로 들어오는 요청 중 Domain name 을 제외한 나머지 full 경로를 의
미합니다. 즉 CodeRed 라는 환경변수에 Request_URI 중 .ida 라는 문자가 있으면 적용하
라는 의미입니다. .을 \. 으로 사용하는 이유는 정규표현식 때문이라고만 알아두시면 되
고요. 그럼 이 설정에 대해서 조금 아시는 분들은 두번째 Referer 은 왜 설정 하느냐고
반문하실지 모르겠는데 제가 MS로 포워딩 시키는 것 처럼 제 서버로 포워딩 시키는 못된
놈이 있더군요. 제가 Request_URI 를 막아 놓았음에도 불구하고 로그가 남길래 잘보았더
니 \.ida 가 Referer에 남아 있어서 남는 거였습니다. 즉 다른놈이 해당 패킷을 제 서버
로 리다이렉팅을 하는 것이었죠. :-) 그러므로 일단 Request_URI 와 Referer 을 둘다 적
용을 해 주는 것이 좋습니다. 만약을 방지하기 위해서라도.

다음 아마 제가 생각하기에는 로그 설정을 다음의 2개중에 하나로 사용을 하실 것이라고
판단이 됩니다.

CustomLog logs/access_log common 또는
CustomLog logs/access_log combined 이 둘중의 하나를 사용하실 겁니다.

무엇을 사용하시든 간에 사용 하시는 로그 (여기서는 combined 를 예로 들겠습니다.) 설
정을 다음과 같이 수정해 주시면 됩니다.

CustomLog logs/acces_log combined env=!CodeRed

이까지 해 주시고 하나를 더 설정을 하도록 하지요. 이번 설정은 default.ida 의 경로가
어디에 위치해야 하느냐의 문제 일수도 있습니다. 이걸 한방에 해결 하기 위해서 우리는
다음의 설정을 이용하게 됩니다.

AliasMatch ^/.+default\.ida /home/httpd/html/CodeRed/codered.php

라는 설정을 하게 되면 서버의 어떠한 경로에 있는 default.ida 에 접근을 하게 되면 아
파치는 /home/httpd/html/CodeRed/codered.php 를 구동하게 됩니다.

그럼 이제 codered.php 를 만들어야 겠지요. 일단 codered.php 를 호출을 하면 MS 나 아
니면 query 를 요청한 호스트로 되돌리는 법을 설정하게 될 것인데 이 방법에는 3가지가
있습니다. 첫번째로는 Rewrite rule 을 쓰는 방법, 2번째는 Redirect 를 사용하는 방법,
3번째는 스크립트를 만들어서 사용하는 방법이 있습니다만 첫번째는 너무 복잡하고, 2번
째는 요청만 보내지 Request_URI를 전달할 길이 없기 때문에 복수를 못한다는 단점이 있
습니다. 그래서 여기서는 php 를 이용하는 방법을 설명해볼까 합니다. 물론 첫번째 방법
이 가장 화려하고 무언가를 한듯 하기는 하지만 말이죠 ^^;

여기까지 설정이 끝났으면 httpd.conf 를 저장하고 아파치를 재시작 하기 전에 httpd -t
명령으로 혹시 오타가 없는지 체크한 후에 아파치를 재시작 해 주도록 합니다.

다음 AliasMatch 에 지정한 경로대로 codered.php 를 생성 하도록 합니다. 생성한 다음
이 파일의 내용은 다음과 같게 합니다.



Hanterm - cat /home/httpd/html/CodeRed/codered.php

[root@bbuwoo CodeRed]$ cat codered.php

# MS 로 보내려면 이 값을 1로, 아니면 보낸서버로 다시
# 되돌려 보내려면 0 으로 값을 지정
$ms = 1;

function move_page($path,$time = 0) {
# IE에서는 공백 문자를 인식 못하므로 공백 문자를 %20으로 치환
$path = eregi_replace(" ","%20",$path);
echo "";
}

$que[0] = getenv("REMOTE_ADDR");
$que[1] = getenv("REQUEST_URI");

$path = $ms ? "http://www.microsoft.com$que[1]" : "http://$que[0]$que[1]";

move_page($path);
?>

[root@bbuwoo CodeRed]$




위와 같이 설정을 마쳤다면 이제 $ms 의 값을 어떻게 정하느냐에 따라 내 서버에는 아무
런 로그도 남기지 않고 쓰윽 떠 넘기기를 할수 있는 것이죠. 비록 반대쪽에서도 같이 내
쪽으로 넘긴다고 해도 Referer 설정이 되어 있으니 아무런 기록없이 또 그쪽으로 넘겨버
리게 되겠죠 ^^;

제가 이 방법을 적어 보지만 그저 웃자고 적어 보는것 뿐입니다. 이렇게 해 봤자 네트
워크 부하만 가중되게 될 뿐이지요. 그저 로그만 남기지 않는 선에서 마치는 것이 좋은
방법이 아닐까 생각이 됩니다만 원한에 사무치신 분들께서는 그리고 네트워크 빵빵한
분들은 한번 해 보시기를..

그냥 전 이렇게도 할수 있다는 것을 보여드린것 뿐입니다. :-)
                    수정/삭제     이전글 다음글    
번호제 목첨부조회
34   아파치 log file rotation    2912
33   아파치 mod_gzip 모듈 사용하기    3177
32   WEB Server 읽고 쓰기 (WEB-DAV)    4182
31   CODE RED 공격 로그에 남기지 말기    2950
30   무단 링크 방지하기    2808
29   CodeRed 아파치로그파일 지우기    3351
28   mod_rewrite 와 Virtual User Hosts    2972
27   Internet Explorer 6 에서 cookie 사용가능...    2729
26   apache 에서 '사이트 공사중' 표시하기    2703
25   IE6 P3P 에 대하여    3435
24   WEB Server와 DB 서버 분리해서 운영하기    3670
23   IP 주소 접속을 도메인 주소로 바꾸기    3493

 
처음 이전 다음       목록