1, WEB폴더로 벗어나는것을 방어
httpd.conf 파일을 수정하여 php프로그램이 특정폴더에서 벗어나는것을 방지. 만약 웹폴더가 /home/user/public_html 이라면 httpd.conf 파일에 아래와같은 한줄을 추가한다.
php_admin_value open_basedir /home/user/public_html
이렇게 되면 만약 php프로그램이 /home/user/public_html 폴더를 벗어나려면 아래와같은 에러가 발생한다.
Warning: open_basedir restriction in effect. File is in wrong directory in /home/user/public_html/file.php on line 6
2, PHP백도어의 Webshell 실행을 제한
php.ini 파일에서 safe_mode 를 on 으로 설정한다. 혹은 아래와같이 disable_functions 옵션에 passthru, exec, shell_exec, system 함수를 넣어준다.
disable_functions= passthru,exec,shell_exec,system
3, PHP백도어의 폴더 쓰기/읽기 제한
php.ini파일에 아래와같은 금지함수들을 추가한다.
disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir,fopen,fread,fclose,fwrite,file_exists,closedir,is_dir,readdir.opendir,fileperms.copy,unlink,delfile
'서버관리 > Linux' 카테고리의 다른 글
SQL 인젝션 완벽방어. (0) | 2009.09.17 |
---|---|
리눅스에서 ping을 제한 (0) | 2009.09.07 |
CentOS 에서 yum 빠르게 하기 (0) | 2009.09.03 |
block proxy servers from site access (0) | 2009.09.02 |
중국아이피 리스트 (0) | 2009.04.17 |