手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>服务器技术>Web服务器>列表

FreeBSD下构建安全的Web服务器(2)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

那么就会在给的错误提示中显示如下信息:

Apache/2.0.53 (Unix) PHP/4.3.11 Server at target.com Port 80

任何Apache和PHP的信息暴露无遗,这是很不安全的。当然同时更有Off和EMail选项,Off将不显示任何信息,EMail将显示管理员的邮箱地址,建议设为Off或EMail,这样能够避免泄漏Apache服务器的信息给黑客。

(4) 目录浏览

在httpd.conf中能够配置apache能够对一些没有索引文档的网页目录进行目录浏览:


<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>

这是不合适也不安全的,建议无需目录浏览:


<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

(5) 用户主页

配置httpd.conf中的:

UserDir public_html

能够使得每个使用系统的用户在自己的主目录下建立 public_html 目录后就能够把自己的网页放进该目录,然后通过:

http://www.target.com/~用户名/网页 就能够显示自己的网页,这是不安全的,而且对于我们服务器来讲,这没有必要,所以我们直接关闭该功能:

UserDir disabled

或把该内容改名,改成 一个黑客比较不容易猜到的文档名,比如:

UserDir webserver_public_htmlpath

也能够只允许部分用户具备该功能:

UserDir enabled user1 user2 user3

(6) CGI执行目录

假如您的apache要执行一些perl等cgi程式,那么就要配置一下选项:

ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"

但是这也给了黑客利用一些不安全的cgi程式来进行破坏,所以假如您无需cgi的话,建议关闭该选项:

#ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"

(7) 控制PHP脚本只能访问指定目录

在httpd.conf添加如下内容:

php_admin_value open_basedir /usr/www

后面的路径是您需要PHP脚本能够访问的目录,假如PHP脚本想要访问其他目录将出项错误提示。

(8) 目录访问控制 (未完)

这项内容最复杂,同时涉及的东西也比较多,我只能简单说一下,不清楚请参考其他文章。

比如下面的内容:


<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

就是允许访问每一个目录,里面配置的是允许执行的动作,一般包含的动作有:Options、AllowOverride、Order、Allow、Deny。

Options是只对指定目录及其子目录能够执行的操作,Indexes、Includes、FollowSymLinks、ExecCGI、MultiViews、None、All等操作。

AllowOverride是指定目录访问的权限,当然也能够通过 AccessFileName文档指定的 .htaccess 来控制。他的操作有:None、All、Options、FileInfo、AuthConfit、Limit等。

Order、Allow、Deny三个指令必须配合来控制目录访问权限。Order指定检查次序的规则,比如Order Allow, Deny,表示先按Allow检查,假如不匹配再按Deny进行检查。Order Deny, Allow ,表示先按Deny规则检查,假如不满足条件,再按Allow进行检查。

控制目录访问权限的文档

默认在Unix平台下能够使用 .htaccess 来对目录权限进行规则定义,但是这是不安全的,建议关闭,默认的选项:

AccessFileName .htaccess

建议设成:

#AccessFileName .htaccess

全部目录权限定义使用httpd.conf中的定义,不使用 .htaccess。

(9) 用户访问认证

这个技术很重要,能够控制一些非法用户访问本内容。假设我们的网站: http://www.target.com/admin 是我们的后台管理目录,我不允许一些非法用户进行访问,那么我就必须设定对该目录访问是需要验证的。

先在httpd.conf中加入要进行访问认证的目录:


<Directory "/usr/www/admin">
authtype basic
authname "Private"
authuserfile /usr/local/apache/bin/admin.dat
require user login_user
Options Indexes FollowSymlinks MultiViews
AllowOverride None
</Directory>

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!