리눅스 분류
modsecurity php 업로드 제한설정
작성자 정보
- 홍석범 작성
- 작성일
컨텐츠 정보
- 2,088 조회
- 0 추천
- 목록
본문
안녕하세요.. 씨디네트웍스 홍석범입니다.
확장자로 필터링할 수 있는 방법도 있겠지만 실제로 공격자 입장에서는 이를 우회할 수 있는 방법이 매우 많이 있습니다. 실제로 double extension이나 .txt 또는 .gif 등의 확장자를 사용하지만 실제 php코드인 경우가 매우 많이 있습니다.
따라서 단순 확장자 필터링 방법보다는 이 방법이 어떨까 합니다.
SecRule FILES_TMPNAMES "@inspectFile /usr/local/sbin/chk_upload.sh"
"log,auditlog,deny,status:403,phase:2"
와 같이 지정한 후 해당 쉘스크립트(chk_upload.sh)에서는 파일의 콘텐츠에
"<%" 나 "<?" 또는 특정 문자열과 같은 스크립트 문자열이 들어가면 차단하도록 하는 것이 더 좋을 듯 합니다.
또한 후탐지이기는 하지만,
SecUploadDir /path/to/tmp
SecUploadKeepFiles On
를 하여 업로드되는 파일들에 대해 특정 디렉토리에 모이도록 한 후 정기적으로(이를테면 매 1시간마다) file 등의 명령어로 실행하여 아래와 같이 script로 보이면 삭제하거나 알람하도록 하는 것도 좋을 듯 합니다.
$ file image.gif
image.gif: PHP script text
감사합니다.
확장자로 필터링할 수 있는 방법도 있겠지만 실제로 공격자 입장에서는 이를 우회할 수 있는 방법이 매우 많이 있습니다. 실제로 double extension이나 .txt 또는 .gif 등의 확장자를 사용하지만 실제 php코드인 경우가 매우 많이 있습니다.
따라서 단순 확장자 필터링 방법보다는 이 방법이 어떨까 합니다.
SecRule FILES_TMPNAMES "@inspectFile /usr/local/sbin/chk_upload.sh"
"log,auditlog,deny,status:403,phase:2"
와 같이 지정한 후 해당 쉘스크립트(chk_upload.sh)에서는 파일의 콘텐츠에
"<%" 나 "<?" 또는 특정 문자열과 같은 스크립트 문자열이 들어가면 차단하도록 하는 것이 더 좋을 듯 합니다.
또한 후탐지이기는 하지만,
SecUploadDir /path/to/tmp
SecUploadKeepFiles On
를 하여 업로드되는 파일들에 대해 특정 디렉토리에 모이도록 한 후 정기적으로(이를테면 매 1시간마다) file 등의 명령어로 실행하여 아래와 같이 script로 보이면 삭제하거나 알람하도록 하는 것도 좋을 듯 합니다.
$ file image.gif
image.gif: PHP script text
감사합니다.
관련자료
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.