Child pages
  • apache httpd에서 버전관리 메타 데이타 디렉터리(.svn, .git) 접근 방지

서브버전(Subversion)은 버전관리에 대한 meta data를 .svn 이라는 폴더에 보관하며 git 은 .git 이라는 폴더에 보관한다.

 

웹 애플리케이션을 디플로이할 경우 실수로 .svn 이나 .git 을 같이 묶어서 배포했고 웹 서버가 이 디렉터로에 접근할 수 있다면 클라이언트는 애플리케이션의 소스와 변경 이력을 조회할 수 있다.

 

이는 보안상 큰 문제가 되므로 아파치 웹 서버에 다음 설정을 추가하면 혹시 모를 실수를 방지할 수 있다.

 

403 Forbidden

DirectoryMatch 에 ACL 을 Deny from All 로 해 놓으면 HTTP 403 Forbidden 이 발생한다.

<DirectoryMatch .*\.(svn|git|cvs)/.*>
    Deny From All
</DirectoryMatch>

 

404 Not Found

개인적으로는 403 보다는 RedirectMatch 로 404 로 처리하는것을 선호한다.
RedirectMatch 404 /\\.(svn|git|cvs)(/|$)

 

Ref

 

같이 보기