본문 바로가기
Linux/보안

리눅스 php 보안

by 준섭이 2014. 7. 1.
728x90

리눅스 php 보안


** php.ini 보안 설정

 설정인자

권장값 

  요약 설명 

 register_globals 

Off

 이 값을 On으로 설정하면 PHP가 입력으로 받아들이는 값(환경변수, GET,  POST, 쿠키, Server 변수)을 무조건 Global변수로 다루게 된다. 전역변수는  프로그램의 동작 중 어디서나 변수값이 변경될 수 있기 때문에, 웹 프로그램  의 파라미터 변조, 오동작으로 인한 보안문제가 발생할 수 있다. PHP4.2.0 이  후로는 보안상의 문제를 고려해 디폴트로 Off로 설정되어 나오지만, 프로그램  이 On상태에서만 동작하도록 했을 때는 반드시 수정하여야 한다. (On으로 설  정 시 웹쉘이 실행가능해 진다.) 

 safe_mode

On 

 이 값을 On으로 설정하면 시스템 중요파일(/etc/passwd)접근을 제한할 수  있으나, 이때문에 웹 프로그램이 정상 작동하지 않을 수 있다. 

 safe_mode_gid

Off 

 위 설정과 관련되어 시스템 중요파일(/etc/passwd)접근을 제한 할 수 있으  나, 이로 인해 웹 프로그램이 정상 자곧ㅇ하지 않을 수 있다. 

 expose_php 

Off 

 웹 브라우저의 요청에 대해 PHP정보 노출을 방지한다. 

 file_uploads

Off

 해당사이트의 PHP프로그램의 파일업로드를 사용하지 않는 경우 해당 값을  Off로 설정하여, 파일 업로드 공격을 차단 할 수 있다.

 allow_url_fopen

Off 

  해당 옵션을 On으로 설정하면 파일 액세스 시 외부 사이트의 파일을 호출할  수 있다. 특히 include(), require()계열의 함수 사용 시 심각한 보안상의 문제  를 유발하게 되므로 반드시 Off로 사용한다. include_GET[$url]이런식으로 되  어 있을때 xxx.php?url=http://악성코드 이런식으로 될 수도 있다.

 magic_quotes_gpc

On 

 해당 옵션을 On으로 설정하면 PHP가 입력으로 받아들이는 값(환경변수,  GET, POST, 쿠기, server변수)에 단일 인용부호('), 이중인용부호("),  백슬러시(\), null 문자가 포함된경우 자동으로 해당 문자앞에 백슬래시를 추  가하여 특수문자를 처리한다. 이것으로 웹 프로그램의 인자를 변경하는 SQL  구문삽입등을 차단할 수 있다. 

 magic_quotes_sysbase 

Off 

 sysbase 사용자의 정상적인 DB접속을 위해 만들어진 기능이며, 해당 기능은  magic_quotes_gpc설정을 무의미하게 만들 수 있으므로 sysbase 사용자가  아니라면 off로 설정한다. 

 display_errors

Off 

 PHP실행 중 에러정보 노출을 방지하는 역할을 제공하므로 필수적이므로 Off  설정하도록 한다. 

 log_errors 

On 

 해당옵션을 On으로 설정하는 경우 PHP실행 중 발생하는 경고나 에러정보를  error_log에서 지정한 파일에 기록하게 되므로 의도적인 에러(SQL Injection  등) 발생시도를 확인해 볼 수 있다. 


보안에 신경써가며.. php.ini 셋팅을 하자.. 기본 default셋팅은 해킹의 지름길이 될 수 있다!!