아파치 디렉토리 보이는 것 막기

by 조쉬 posted Feb 02, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

홈페이지 접속경로의 디렉토리 정보가 보이는 경우가 있다.

호스팅업체에 설치를 해달라고 했는데도 불구하고 이런 정보를 세팅하지 않아서 생긴 문제점이었다.

리눅스를 소스설치로 설치를 해봤는데 이 경우에도 아래처럼 Indexes는 기본 설정이 되어 있다.



이렇게 디렉토리 정보가 보이는 증상은 왜 그럴까?

httpd.ini 환경설정 파일안에서

DocumentRoot "/usr/local/apache/htdocs"
<Directory "/usr/local/apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    Require all granted
</Directory>


에서 Indexes 를 삭제해줘야 한다.

Indexes 란 해당 디렉토리의 내용과 리스트들을 보여주도록 허용하겠다는 옵션이다.


그러면


로 변경되어 보인다.


그 밖에 설정 참고할 사항으로는

<Directory "/usr/local/apache/htdocs">
    Options IncludesNoExec FollowSymLinks
    AllowOverride None
    <LimitExcept GET POST>
      Order allow,deny
      Allow from all
    </LimitExcept>
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>


<IfModule mime_module>
    AddType application/x-httpd-php .php .phtml .php3 .php4 .inc .do
</IfModule>



AddType application/x-httpd-php .php .phtml .php3 .php4 .inc 역할은

서버 디렉토리에 abc.inc 파일을 직접 접속하면 내용이 보이지 않는다.

하지만 여기에 등록되어 있지 않으면, abc.inc 파일은 다운로드 되거나 정보 내용이 그대로 노출되어 보안에 매우 취약해진다.

확장자를 모르게 하고 싶어 do 확장자로 변경하여 코딩을 하는 사람도 있다.