Apache HTTP Server Version 2.4
설명: | 서버 설정에 대한 종합적인 정보를 보여준다 |
---|---|
상태: | Extension |
모듈명: | info_module |
소스파일: | mod_info.c |
mod_info
를 사용하려면 apache2.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
?list
?server
mod_info
는 원래 설정파일을 읽지 않고
이미 읽어들인 설정 정보를 참고하여 정보를 보여준다. 설정을
파싱하는 방법때문에 다음과 같은 몇가지 한계가 있다.
ServerRoot
, LoadModule
, LoadFile
과 같은 지시어가
여기에 해당한다.Include
, <IfModule>
, <IfDefine>
과 같이
설정파일 자체를 조정하는 지시어를 보여주지 못한다.
그러나 안에 있는 설정지시어는 보여준다..htaccess
파일에 있는 설정지시어를 보여주지 못한다.<Directory>
와
같은 범위제한 지시어는 보여주지만,
mod_info
는 마치는 </Directory>
의 줄번호를
알 수 없다.mod_perl
과 같이 제삼자가 만든 모듈의
지시어를 보여주지 못할 수 있다.설명: | 모듈에 대한 추가 정보를 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.4/mod/mod_deflate.html">\
http://www.apache.org/docs/docs/2.4/mod/mod_deflate.html</a>'