본문 바로가기
서버구축 (WEB,DB)

modsecurity php 업로드 제한설정

by 날으는물고기 2010. 1. 11.

modsecurity php 업로드 제한설정

작성자 : 홍석범

확장자로 필터링할 수 있는 방법도 있겠지만 실제로 공격자 입장에서는 이를 우회할 수 있는 방법이 매우 많이 있습니다. 실제로 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


출처 : http://www.linux.co.kr
728x90

댓글