특정 업로드 공간에 웹쉘파일 업로드로 인해 해킹이 일어나지 않도록
해당 공간의 파일들중 php형태는 실행되지 않도록 설정할 수 있다
옵션명 : php_flag engine off
테스트진행
1. 우선 apache document 경로에, data경로를 생성한다 ,
해당 경로안에 php파일을 생성하여 웹에서 호출해본다
[root@testsrv /opt/apache/htdocs]# mkdir data
[root@testsrv /opt/apache/htdocs/data]# cat test.php
<?php
phpinfo();
?>
[root@testsrv /opt/apache/htdocs/data]#
2.호출 시도
php파일이 인식되어 정상 호출이 된다
3.아파치 내부 설정에 특정 경로에 대해서 flag off 처리 진행
<Directory "/opt/apache/htdocs/data">
AllowOverride None
php_flag engine off
Require all granted
</Directory>
php_flag engine off 옵션을 넣게되면, 해당 경로의 php파일은 인식되지 않는다
단, mime 에 "application/x-httpd-php .php .php3 .php4 .html .htm .inc" 값을 타지 php형식을 인식하지 못해 브라우저에서 다운로드 표시가 나오게된다.
🔽다른 방안🔽
<Directory "/opt/apache/htdocs/data">
AllowOverride None
Require all granted
AddType text/plain .php .php3 .php4 .html .htm .inc
</Directory>
확장자로 지정해서 plain타입으로 하여 php 인식되지 않도록 할 수도 있다
🔽디렉토리명으로 지정해서 제한하는 법🔽
아래처럼 하면 디렉토리명이 data,upload 이면 php인식하지 않는다
<Directory ~ "(data|upload)">
AllowOverride None
Require all granted
AddType text/plain .php .php3 .php4 .html .htm .inc
</Directory>
👉다른 경로는 호출이 정상처리된다
apache 로 웹서버 구성시, 위와 같이 업로드 공간에 php파일 인식을 되지 않게하면
웹쉘 공격등을 피할 수 있다.
'WEB > APACHE' 카테고리의 다른 글
APAHCE-TOMCAT 연동/host별로 서로 다른버전의 톰캣으로 연동하기 (0) | 2023.02.02 |
---|