apache在windows2003系统中的安全配置详解

发布时间:2021-01-13编辑:脚本学堂
本文介绍下,apache服务器在windows 2003系统下的安全配置方法,讲的比较到位,有需要的朋友参考下。

本节内容:
如何在 windows 2003下配置apache/ target=_blank class=infotextkey>apache服务器的安全。

写在前面:
在windows下当Apache第 一次被安装为服务后,它会以用户“System”(本地系统账号)运行。
如果web服务器的所有资源都在本地系统上,这样做会问题比较少。

注意:在公网上运行时,则不能开启System帐号的网络权限!

可以创建一个新的帐户来替代这个帐号启动apache并设置相应的权限,具体操作步骤如下:

1,在计算机管理里的本地用户和组里面创建一个帐户
例如:apache,密码设置为 apacheuser,加入guests组(如果出现问题,可以赋予user权限);

2,打开开始->管理工具->本地安全策略,在用户权限分配中选择“作为服务登陆”,添加apache用 户;

3,在 计算机管理 中选择 服务,找到apache2.2,先停止服务,右击->属性,选择登陆,把单选框从本地系统帐户切换到此帐户,然后查找 选择apache,输入密码apacheuser,然后点确定。
注意,此时apache还不能正常启动,一般情况肯定会报错:Apache2.2 服务因 1 (0x1) 服务性错误而停止。);

4,赋予apache安装目录(比如:D:/apache2.2)以及web目录(比 如D:/wwwroot)apache帐号的可读写权限,去除各磁盘根目录除administror与system以外的所有权限,赋予apache安装目录所在的磁盘根目录apache帐户的可读取列目录权限。注:此步很关键。

5,启动apache服务,一切正常了。

6,在php.ini中指定的PHP临时上传目录和session保存目录,并给予目录apache完 全控制权限。
例如:
 

复制代码 代码示例:
upload_tmp_dir = "D:/www/tmp/uploadtmp/"
session.save_path = "D:/www/tmp/sessiontmp/"

7,给予D:/php目录读取与运行的权限;

8,给予zend安装目录读取与运行的权限;

9,限制读取访问的目录,修改apache安装目录下conf文件夹下的 httpd.conf。
添加内容:
 

复制代码 代码示例:
php_admin_value open_basedir "D:/wwwroot"
php_admin_value safe_mode On

附,httpd.conf配置(假如将PHP读写权限限制在E:wwwjbxue目录下)

1,Apache2.0配置示例:
 

复制代码 代码示例:
<VirtualHost *:80>
ServerName www.jb200.com
DocumentRoot "E:/www/jbxue"
Options FollowSymLinks includesNOEXEC Indexes
DirectoryIndex index.html index.htm default.htm index.php default.php
AllowOverride None
Order Deny,Allow
Allow from all
php_admin_value open_basedir "E:/www/jbxue/;E:/APMServ5.2.0/PHP/uploadtemp/;E:/APMServ5.2.0/PHP/sessiondata/"
php_admin_value safe_mode On
</VirtualHost>

2,Apache2.2配置示例:
 

复制代码 代码示例:
<VirtualHost *:80>
ServerName www.jb200.com
DocumentRoot "E:/www/jbxue"
</VirtualHost>
<Directory "E:/www/jbxue">
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.html index.htm default.htm index.php default.php
AllowOverride None
Order Deny,Allow
Allow from all
php_admin_value open_basedir "E:/www/jbxue/;E:/APMServ5.2.0/PHP/uploadtemp/;E:/APMServ5.2.0/PHP/sessiondata/"
php_admin_value safe_mode On
</Directory>

就是这些了,希望大家按照上面的操作一步步来,确保windows系统下apache服务器的安全。