>> Edit article
이름
제목
패스워드
저두 글을 읽고나서 제 서버의 access_log랑 error_log를 확인해봤더니만.. 8월 4일경부터 지금시간까지 access_log에 18,000건 정도의 code-red 관련 접속 기록이 남아있더군요.. 정말 대단하네.. 쩝.. 거의 분당 3~4건 정도가 들어오는 것 같습니다. 남아있는 IP로 백도어 설치 여부를 확인해보니까 거의 대부분이 root.exe가 설치되어 있었고... 아무튼 log가 남지 않게 하는 방법을 생각해보다가... 간단하게 해결했습니다. 물론 님의 방법도 좋은 방법이긴 한데.. 저는 /usr/local/apache/htdocs 가 Web root 디렉토리인데.. 여기다가 touch default.ida 해서 크기가 0인 파일하나를 만들어 두었더니만.. 더 이상 로그가 남지 않는군요... Virtual hosting 하시는 분들은 각각의 루트디렉토리에 다 만들어 줘야하는 불편함이 있긴 하지만.. 저도 virtual로 7개 정도의 홈페이지가 돌아가는데.. 그 쪽에는 접속 로그가 안 남았더군요.. 참고하시길... : Code-Red와 apache : : 아파치 웹서버 access.log를 먼저 보시고 아래와 같은 내용이 있는지 확인 바랍니다. : 아래 내용은 apache서버가 /usr/local/apache 경로로 설정이 되어 있는 경우입니다. : "GET /default.ida?XXXXXXX............ : X는 code-Red 3최신 변종인것 같고 N은 code-red초기 버젼인것 같습니다. : : 이런 라인이 끝없이 들어오면 코드레드 영향으로 아파치에 계속 로그가 쌓이게 되고 아파치 서비스를 하는 리눅스외 기타 유닉스 서버의 네트워크도 지장있겠죠 : : : 처리방법 : 아파치 서버를 쓰는 리눅스와 유닉스계열 서버에서 해주어야 할 일 : : httpd.conf에서 : LoadModule setenvif_module /usr/local/apache/libexec/mod_setenvif.so : 이 줄을 찾아서 주석을 제거해 줍니다. : : 그리고 아래 CustomLog를 찾아서 : CustomLog /usr/local/apache/logs/access_log common 혹은 (combined ) : Common 혹은 combined중에서 주석처리가 되어있지 않는 부분을 찾아서 아래와 같이 작성하여 줍니다. : CustomLog ./usr/local/apache/logs/common env=!code-red : *** 위 내용은 cord-red로 설정된 요청을 거부하라는 내용입니다. : : SetEnvIf Request_URI "/default.ida$" code-red 라교 cusomlog 줄위에 : 적어줍니다. : 이내용은 /default.ida$로 요청되는 것은 code-red로 취급하라는 것입니다. : : 최종적으로 아래와 같은 순서로 httpd.conf에 설정이 되있어야 합니다. : SetEnvIf Request_URI "/default.ida$" code-red : CustomLog ./usr/local/apache/logs/common env=!code-red : : 이렇게 처리하시면 access.log로그가 남지 않습니다. : 처리가 끝나면 아파치를 재구동 하여 주십시요 : (현재 Code-Red 3는 확실히 남지 않으나 Code-Red 초기 버전은 간혹 남는 경우가 있는듯합니다. 그리고 Error_log는 default.ida를 찾지 못했다는 로그가 남습니다.) : : 참고사항(필수사항) : : 버츄얼호스트(virtualhost)를 사용하시는 업체는 각각의 버추얼호스트 로그설정마다 위처럼 설정 해주셔야 합니다. : : 기타설명 : 만일 httpd.conf파일에서 위와 같은 설정부분이 없는 분들은 apache 를 설치하실 때 : apache 관련 모듈을 정적 으로 컴파일 한 경우입니다. 이런 경우는 : LoadModule setenvif_module /usr/local/apache/libexec/mod_setenvif.so 의 동적 모듈 로딩이httpd.conf에서 빠지게 됩니다. : Loadmodule, addmodule 지시자는 DSO(Dynamic Shared Object)모듈을 로드할 때 사용되어 지는데 apache의 모듈을 정적(statics)으로 컴파일 하였다면 “Compiled-in modules” 됩니다. : 즉 Compile-in modules는 아파치 실행시 항상 httpd실행파일에 정적으로 링크되어 있기 때문에 httpd.conf에서 loadModule…항목이 빠지게 됩니다. : 아직 정적으로 컴파일한 apache는 Cord-Red 로그파일에 대해 해결 방법을 찾지 못하였습니다. : : Apache를 동적컴파일(DSO기반 모듈)로 하는 경우에는 LoadModule, AddModule 두개의 지시자로 모듈을 로딩되도록 httpd.conf에 설정 됩니다. : : ** apache 동적 컴파일 옵션 ** : ../configure –prefix=이하생략 뒤에 아래 3가지를 추가 시켜서 컴파일 하시기 바랍니다. : –enable-rule=SHARED_CORE : -enable-shared=max : -enable-module=so -- 이 곳에 서명을 적어주십시오. 서명
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved