Apache HTTP Server Version 2.2
아파치 모듈 mod_info
설명: | 서버 설정에 대한 종합적인 정보를 보여준다 |
---|---|
상태: | Extension |
모듈명: | info_module |
소스파일: | mod_info.c |
요약
mod_info
를 사용하려면 httpd.conf
파일에 다음과 같이 추가한다.
<Location /server-info>
SetHandler server-info
</Location>
이렇게 설정하면
http://your.host.example.com/server-info
에
접근하여 서버에 대한 정보를 볼 수 있다.
보안 문제
한번 서버가 mod_info
를 읽어들이면, 디렉토리별
설정파일(예를 들어, .htaccess
)을 포함한
모든 설정파일에서 이 핸들러 기능을 사용할 수 있다.
그래서 사이트에 보안관련 문제가 될 수 있다.
특히 이 모듈은 시스템 경로, 사용자명/암호, 데이터베이스 이름과 같이 여러 아파치 모듈의 설정지시어에 기록한 민감한 정보를 유출할 수 있다. 그래서 이 모듈은 항상 주의해야 하며 통제된 환경에서만 사용해야 한다.
다음과 같이 mod_authz_host
를 사용하여
서버 설정 정보에 대한 접근을 제한할 수 있다.
접근 제어
<Location /server-info>
SetHandler server-info
Order allow,deny
# 자신으로 부터 접근 허가
Allow from 127.0.0.1
# 추가로, 근처에 있는 워크스테이션으로 부터 접근 허가
Allow from 192.168.1.17
</Location>
보여주는 정보 선택하기
기본적으로 서버 정보에는 사용하는 모듈 목록과 모듈별로 모듈이 이해하는 지시어 설명, 모듈이 구현한 훅(hook), 현재 설정에서 사용한 지시어 정보가 있다.
server-info
요청에 질의문자열을 붙여서 설정
정보를 다르게 볼 수 있다. 예를 들어,
http://your.host.example.com/server-info?config
는
모든 설정지시어를 보여 준다.
?<module-name>
- 명시한 모듈에 대한 정보만
?config
- 모듈별로 정렬하지 않고, 설정지시어만
?hooks
- 모듈이 등록한 훅(hook) 목록만
?list
- 사용하는 모듈 목록만
?server
- 기본 서버 정보만
알려진 한계
mod_info
는 원래 설정파일을 읽지 않고
이미 읽어들인 설정 정보를 참고하여 정보를 보여준다. 설정을
파싱하는 방법때문에 다음과 같은 몇가지 한계가 있다.
- 파싱한 설정 정보에 기록하지 않고 즉시 실행되는 지시어를
보여주지 못한다.
ServerRoot
,LoadModule
,LoadFile
과 같은 지시어가 여기에 해당한다. Include
,<IfModule>
,<IfDefine>
과 같이 설정파일 자체를 조정하는 지시어를 보여주지 못한다. 그러나 안에 있는 설정지시어는 보여준다.- 주석을 보여주지 못한다. (한계라기 보다는 기능이라고 생각할 수 있다.)
- (지속적인 서버설정이 아니기 때문에)
.htaccess
파일에 있는 설정지시어를 보여주지 못한다. - 보통
<Directory>
와 같은 범위제한 지시어는 보여주지만,mod_info
는 마치는</Directory>
의 줄번호를 알 수 없다. mod_perl
과 같이 제삼자가 만든 모듈의 지시어를 보여주지 못할 수 있다.
AddModuleInfo 지시어
설명: | 모듈에 대한 추가 정보를 server-info 핸들러가 보여주도록 추가한다 |
---|---|
문법: | AddModuleInfo module-name string |
사용장소: | 주서버설정, 가상호스트 |
상태: | Extension |
모듈: | mod_info |
지원: | 아파치 1.3 이후 |
module-name 모듈에 대한 추가 정보로 string의 내용을 HTML로 보여준다. 예를 들어,
AddModuleInfo mod_deflate.c 'See <a \
href="http://www.apache.org/docs/2.2/mod/mod_deflate.html">\
http://www.apache.org/docs/2.2/mod/mod_deflate.html</a>'