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기반 모듈)로 하는 경우에는 Load
Module, AddModule 두개의 지시자로 모듈을 로딩되도록 httpd.conf에 설정 됩니다. ** apache 동적 컴
파일 옵션 ** ../configure –prefix=이하생략 뒤에 아래 3가지를 추가 시켜서 컴파일 하시기 바
랍니다. –enable-rule=SHARED_CORE -enable-shared=max
-enable-module=so