8.6. 포함/설정 파일 접근을 예방해라

웹기반 애플리케이션을 개발할 때 사용자들에게 포함 (include) 프로그램과 설정 파일과 같은 파일들을 접근 또는 읽기를 허용하지 마라. 이 데이타는 시스템에 침입하는데 충분한 정보 (예, 패스워드) 를 제공할 수도 있다. 이 지침은 때때로 다른 유형의 애플리케이션에도 또한 적용됨을 주목해라. 이를 위해 취할 수 있는 몇몇 행동들이 있다:

이러한 접근 방법들은 파일들이 world-readable 이라면 이들이 있는 디렉토리에 접근할 수 있는 사용자들로부터는 보호하지 않을 것이다. 단지 웹 서버의 uid/gid 만 이러한 파일들을 읽을 수 있도록 허가권을 변경할 수는 있다. 그러나 이 접근 방법은 사용자가 웹 서버에게 자신의 스크립트를 실행시키도록 할 수 있다면 효과가 없을 것이다 (사용자가 단지 파일에 접근하는 스크립트를 작성할 수 있다). 기본적으로 사이트가 신뢰되지 않은 사람들과 공유되는 서버에서 호스팅되고 있다면 시스템을 안전하게 하는 것은 어렵다. 한가지 접근 방법은 각자가 다른 허가권을 갖는 다중 웹 서버 프로그램을 실행시키는 것인데 이는 더욱 향상된 보안을 제공하지만 실제로 매우 힘들다. 다른 접근 방법은 이러한 파일들을 각자의 uid/gid 에 의해서만 읽을 수 있도록 설정하여 서버가 ``각자"의 허가권으로 스크립트를 실행시키게 하는 것이다. 이 두번째 방법은 자체적으로 문제를 갖고 있는데 서버의 어떤 부분들이 루트 권한을 가져야 하며 스크립트가 필요 이상의 권한을 가질 수도 있다는 것이다.