[ Server ][ Linux ] centos7 how to enable exec() 2
작성일 19-04-16 10:57
페이지 정보
작성자 웹지기 조회 9,307회 댓글 0건본문
도메인 당 PHP 기능을 사용하지 못하게하는 방법!
서버 보안을 처리 할 때 결국 일부 PHP 기능을 비활성화하려고 할 것입니다.
공유 호스팅의 유일한 문제 는 도메인에 대한 exec 를 비활성화 할 수없고 일부 절름발이 스크립트로 인해 도메인을 필요로하는 다른 사용자를 위해 해당 기능을 활성화 할 수 없다는 것입니다.
결국 한 사이트로 인해 전체 서버에서 exec 를 활성화해야 할 부분에 도달하게 됩니다.
이것에 대한 해결책이 있으며 suhosin이라고합니다.
Suhosin은 "suhosin.executor.func.blacklist"라는 구성 변수를 가지고 있습니다.이 변수를 사용하여 일부 PHP 기능을 비활성화 할 수 있습니다.
php.ini에서 이 변수와 disable_functions의 차이점은 모든 사이트에 대해 설정할 수 있다는 것입니다 .
그러면 전체 서버에서 exec 를 비활성화 할 수 있도록 도메인 만 수정할 수 있습니다 (덮어 쓸 수 있음).
단일 도메인에 대해이 기능을 사용 가능하게하십시오.
suhosin을 설치하는 방법을 여기에 쓰지 않을 것이다.
또한 PHP 확장을 필요로하므로 PHP를 다시 컴파일하거나 다시 컴파일 할 필요가 없습니다.
중요 : suhosin 확장 0.9.20이 더 이상 작동하지 않는다는 것을 알아 냈습니다. 우리가 0.9.18을 가지고있는 한 괜찮습니다.
아마 확장 기능의 다음 버전이 다시 작동하도록 수정 될 것이므로 문제가 해결 될 때까지 버전 0.9.18을 사용하는 것을 잊지 마십시오.
php 함수 차단기로 suhosin을 사용하려면 php ini에서 disable_functions를 주석 처리하고 (예, 모든 함수를 활성화)
php.ini suhosin.executor.func.blacklist에 다음과 같이 설정해야합니다.
suhosin.executor.func.blacklist = exec, passthru, shell_exec, system, pcntl_exec, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, leak, apache_child_terminate, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, escapeshellcmd, escapeshellarg
원하는만큼 많은 기능을 추가 할 수 있습니다.
그 후, suhosin.executor.func.blacklist에 추가 된 모든 함수는 PHP 스크립트에서 더 이상 작동하지 않습니다. 도메인에 대한 함수를 활성화해야하는 경우
exec 라고 가정 해 봅시다. apache 구성 파일을 편집하고 exec 함수없이 suhosin.executor.func.blacklist를 추가해야합니다.
<VirtualHost 127.0.0.1>
ServerAlias www.test.com
ServerAdmin webmaster@test.com
DocumentRoot /home/test/public_html
php_admin_value suhosin.executor.func.blacklist "passthru, show_source, shell_exec, system, pcntl_exec, popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, leak, apache_child_terminate, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, escapeshellcmd, escapeshellarg"
</ VirtualHost>
이제 exec는 서버에서는 사용할 수 없지만 테스트 도메인에서는 활성화되어 있습니다.
추천0
비추천 0
댓글목록
등록된 댓글이 없습니다.