本节将针对Apache中有关安全方面的设置做出详细的叙述,涉及到Apache的配置文件、Apache的目录访问控制、在Apache上运行CGI等安全方面的设置。
Apache的配置文件
对于RedHat Linux系统,Apache的配置文件放在/etc/httpd/conf/目录下。如果是自行编译安装的Apache,则视编译时指定的目录路径而定,默认是/usr/local/apache/conf。
在conf目录下有3个Apache的配置文件:
httpd.conf
access.conf
srm.conf
Apache启动时先调用httpd.conf,然后调用srm.conf,最后调用access.conf。但现代版本的Apache为避免管理和维护的混乱,已经改为将所有Apache的相关配置命令放在httpd.conf文件中,不再使用srm.conf和access.conf文件。虽然这两个文件仍然存在,但内容中没有任何配置命令,形同虚设。
httpd.conf文件分为以下3部分:
Global Environment
'Main' server configuration
Virtual Hosts
下面将讲述这3部分的用法和与安全相关的注意点。
4.5.1.1 Global Environment
ServerType standalone
用来指定Apache的启动方式:standalone和inetd。standalone模式是Apache独立运行,也是默认的启动方式。inetd模式是守护进程监听http的连接请求才启动httpd进程,请求完毕后就结束httpd进程,这样服务器负担很重。
ServerRoot "/etc/httpd"
Apache的目录,此处是存放配置、出错记录、日志文件的根目录。目录后面不要加“/”字符。
LockFile /var/lock/httpd.lock