차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
tech:webshell [2017/06/13 02:17] 166.125.251.10tech:webshell [2017/06/13 09:43] (현재) – [예방 대책] V_L
줄 75: 줄 75:
  
 =====예방 대책===== =====예방 대책=====
-1) 웹 서버의 파일 업로드 취약점 제거+====웹 서버의 파일 업로드 취약점 제거====
  
 파일 업로드가 불필요한 게시판의 경우는 업로드의 기능을 완전히 제거하고, 필요한 경우에는 파일의 확장자를 체크한다. 업로드를 제한하는 asp, chi, php, isp 등의 확장자를 막는 방법으로 구현하는 것보다 허용하는 확장자 즉, txt, hwp, doc, pdf 등의 업로드 가능한 파일 확장자만 올릴 수 있도록 체크하는 것이 바람직하다. 그 이유는 특정 확장자만 막는 경우에는 우회해서 올릴 수 있는 방법들이 존재하기 때문이다. 또한, ''Php'', ''Asp'', ''jSp'' 등의 대소문자 혼용 및 ''.txt.asp'' 등의 2중 확장자의 형태도 필터링 해야한다. 파일 업로드가 불필요한 게시판의 경우는 업로드의 기능을 완전히 제거하고, 필요한 경우에는 파일의 확장자를 체크한다. 업로드를 제한하는 asp, chi, php, isp 등의 확장자를 막는 방법으로 구현하는 것보다 허용하는 확장자 즉, txt, hwp, doc, pdf 등의 업로드 가능한 파일 확장자만 올릴 수 있도록 체크하는 것이 바람직하다. 그 이유는 특정 확장자만 막는 경우에는 우회해서 올릴 수 있는 방법들이 존재하기 때문이다. 또한, ''Php'', ''Asp'', ''jSp'' 등의 대소문자 혼용 및 ''.txt.asp'' 등의 2중 확장자의 형태도 필터링 해야한다.
      
-2) 파일 업로드 폴더의 실행 제한+====파일 업로드 폴더의 실행 제한====
  
 웹서버의 파일 업로드 전용 폴더를 만들고 전용 폴더의 스크립트 파일 실행을 제한하여 해당 폴더내에 있는 파일이 실행되지 않도록 해야 한다. 웹서버의 파일 업로드 전용 폴더를 만들고 전용 폴더의 스크립트 파일 실행을 제한하여 해당 폴더내에 있는 파일이 실행되지 않도록 해야 한다.
줄 85: 줄 85:
 록정보] – [디렉토리]를 선택해 실행권한을 ‘없음’으로 설정한다. 록정보] – [디렉토리]를 선택해 실행권한을 ‘없음’으로 설정한다.
  
-리눅스의 경우 httpd.comf와 같은 웹서버 설정 파일에서 변경한다.+리눅스의 경우 httpd.conf와 같은 웹서버 설정 파일에서 변경한다.
    
-3) SQL Injection 방지+====SQL Injection 방지====
  
 웹쉘 공격은 파일 업로드 취약점 뿐만 아니라 SQL Injection을 이용해서도 가능 하므로 DB쿼리문에 삽입하여 사용하는 모든 경우에 이러한 필터를 적용하여 단 한 개의 페이지에서라도 SQL Injection의 허점이 존재하지 않도록 주의해야 한다. 웹쉘 공격은 파일 업로드 취약점 뿐만 아니라 SQL Injection을 이용해서도 가능 하므로 DB쿼리문에 삽입하여 사용하는 모든 경우에 이러한 필터를 적용하여 단 한 개의 페이지에서라도 SQL Injection의 허점이 존재하지 않도록 주의해야 한다.