보안 제품정보


홈페이지 변조, 이렇게 막자 2006.03.28

NCSC “웹 개발자 및 관리자, 변조사고 방지에 도움”


국정원 국가사이버안전센터(센터장 윤석구 www.ncsc.go.kr/ NCSC)는 얼마전 국가기관을 대상으로 한 이슬람해커의 홈페이지 변조사고가 빈번하게 발생함에 따라 ‘홈페이지 변조 대응 가이드라인’을 제작 배포했다.


국정원 관계자는 “이 가이드라인에 따라 취약점을 조속히 제거하기 바라며 일반 기업의 홈페이지에서도 적용이 가능하므로 웹 개발자나 관리자들은 웹 개발과 관리시  참조하기 바란다”고 덧붙였다. 이하는 가이드라인 전문이다.


웹 개발자나 관리자들은 자신이 개발하고 관리하는 사이트에서 소중한 고객정보나 개인정보가 새나가는 것에 대해 책임의식을 느껴야 한다. 자신들로 인해 큰 사회문제가 빈번하게 발생하는 데도 불구하고 책임을 전가하는 태도는 지양해야 한다.


보안업체 관계자들은 “정보통신부는 보안을 게을리 해 개인정보를 유출한 사이트에 대한 강한 법적 조치를 취해야 한다”고 강조하고 있다.   


■홈페이지 파일 업로드 취약점 제거


첨부파일 업로드를 허용하는 홈페이지 게시판에서‘.php, .jsp, .asp, .cgi, pl’ 등의 확장자 이름의 스크립트 파일을 업로드를 허용할 경우에 해커가 악성프로그램을 업로드 한 후 원격에서 홈페이지 변조가 가능하다. 

-해당 홈페이지의 게시판에 첨부파일 기능이 있는지 확인

-특정 확장자 (.php, .jsp, .asp, .cgi, pl)를 가진 파일의 업로드 가능 여부 확인

-실행 가능한 파일의 업로드가 되지 않도록 소스 코드 수정

-수정 후 해당파일 업로드가 되지 않는 지 확인


■파일 업로드 폴더 내에서 스크립트 파일 실행 제한


-업로드 파일을 위한 윈도우의 경우 [설정]→[제어판]→[관리도구]→[인터넷서비스관리자] 선택해 오른쪽 클릭 후 [등록정보]→[디렉토리]를 선택해 실행권한을 ‘없음’으로 설정할 것.

-리눅스의 경우 httpd.conf와 같은 웹서버 데몬 설정에서 실행 설정 변경.

-보다 완벽한 제한을 위해 업로드 파일을 위한 전용 디렉토리를 별도로 생성.


■윈도우 WebDAV 취약점


원격 웹서버 관리가 필요없을 시 WebDAV 중지

-NCSS(www.ncsc.go.kr)의 ‘홈페이지 보안관리 매뉴얼’ 참조


httpext.dll 파일의 Everyone 권한 삭제

-/windows/system32/inetserv/httpext.dll의 등록정보의 보안탭에서 그룹 또는 사용자이름 부분에 Everyone 존재 시 삭제 조치


홈 디렉토리 메뉴의 ‘쓰기 권한 삭제

-[제어판]⇒[관리도구]의 [인터넷 서비스 관리자] 메뉴에서 [기본 웹사이트]의 마우스를 오른쪽 클릭. 속성부분의 [기본 웹사이트 등록 정보]의 [홈 디렉토리] 부분의 ‘쓰기’항목이 체크되어 있을 시 이를 제거.


■SQL Injection 방지


DB와 연동하는 스크립트의 파라미터, 특수문자(‘  “”  / ; : Space -- + 등), 에러메시지를 점검하여 사용자의 입력 값이 SQL Injection이 발생하지 않도록 점검.


http://www.sans.org/rr/whitepapers/securecode/23.php 사이트 참조.


지속적인 모니터링 및 최신 패치의 적용이 필요.


■DB관련 파일 또는 bak 파일 제거


-홈페이지 수정 등을 위해 만들어진 .bak 파일이 웹에 text 파일로 노출될 경우 소스나 DB 정보 등의 노출로 인해 보안에 치명적이다.

-불필요한 백업 파일 모두 삭제

-asache의 경우 httpd.conf에 다음과 같은 설정 필요

 

 

■검색엔진 피하기


robots.txt의 이용

-웹 검색 로봇은 로봇배제기준을 따르고 있다. 로봇배제기준은 로봇이 자신의 홈페이지의 특정 부분을 가져가지 못하게 하는 것으로서 특정 디렉토리에 robots.txt 파일을 사용하는 것이다. 검색엔진에서 피하고 싶은 설정을 robots.txt에 작성 후 해당 파일을 루트 디렉토리에 저장하면 된다.


■관리자 페이지 접근 제한


IIS 웹 서버

-[설정]-[제어판]-[관리도구]-[인터넷 서비스 관리자]에서 오른쪽 클릭 후 [등록정보]-[디렉토리보안]-[IP 주소 및 도메인 이름제한]-[편집]을 통해 관리자 IP만 등록해 접근 제한.


Apache 웹 서버

-관리자 디렉토리에 대해 특정 IP만 접근 가능하게 하기 위해 환경설정 파일인 httpd.conf 파일의 디렉토리 섹션의 AllowOverride 지시자에서 AuthConfig 또는 AII을 추가한다.

-Apache의 경우 httpd. conf 설정

 


-게시판에서 .htaccess 업로드 안되도록 필터링: .htaccess파일을 사용할 경우 파일명을 변경해서 사용. 또한 httpd.conf 파일에 AllowOverride None 설정 및 Indexes 옵션 제거(파일 목록 노출 방지)


■부적절한 환경 설정 보완


리눅스 및 유닉스 웹서버의 경우

-웹서버에서 디렉토리의 모든 파일들을 사용자에게 보여 줄 수 있는 디렉토리 인덱싱 기능을 통해 공격자에게 웹 애플리케이션에 대한 정보 제공.

-디렉토리별로 리스팅이 불가능하도록 설정.

 


윈도우의 경우

-[제어판]-[관리도구]의 [인터넷서비스관리자] 메뉴에서 [기본웹사이트]의 마우스 오른쪽 클릭해 ‘기본웹사이트 등록 정보’ 메뉴를 참조한다.

-홈 디렉토리 부분을 클릭하고 디렉토리 검색 옵션 부분이 체크되어 있으면 이를 해지하고 적용버튼을 클릭한다.


■제로보드 취약점


파일 노출 취약점(다운로드 취약점)

-시스템 내부의 중요 파일들의 내부정보를 노출시킴


외부 소스 실행 취약점(원격 파일 삽입 취약점)

-include 항목의 변수를 외부에서 실행할 수 있어 원격의 파일을 참조시켜 시스템 정보를 파악하고 웹 서비스 권한을 획득할 수 있다.

-php.ini 파일의 설정을 “allow_ur_fopen = OFF” 및 “register_globals = OFF”로 설정.


XSS 취약점

-서버 설정에 따라서 $dir, $_zb_path 변수를 이용, 외부에서 임의의 스크립트를 실행하는 문제로써 preg_replac에서 정규 표현식을 이용할 때 quotes를 하지 않아 발생.

-http://www.nzeo.com/에서 패치 적용


사용하지 않는 게시판 제거


■권한 상승 방지


최근 유행하는 SSH brute force 공격이나 WebDAV 취약점 등은 권한 상승을 위한 익스플로잇 코드를 실행하는 경우가 많다. 이때 버퍼오버플로우 기법을 이용해 권한 상승을 시도함. 버퍼오버플로우는 스택 혹은 힙오버프로우 기법이 있는데 이를 방지할 수 있는 기술이 윈도우 XP SP2와 윈도우 서버 2003 SP1에 구현되어 있다.


권한 상승 방지 기법 설정

-[시작]-[제어판]을 차례로 클릭한 다음 ‘시스템’을 두 번 클릭.

-고급 탭의 성능에서 ‘설정’을 클릭.

-데이터 실행 방지 탭을 클릭.

[길민권 기자(boannews@infothe.com)]


<저작권자: 보안뉴스(www.boannews.com). 무단전재-재배포금지.>