FreeBSD下构建安全的Web服务器(2)(2)
2008-02-23 08:21:05来源:互联网 阅读 ()
那么就会在给的错误提示中显示如下信息:
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> |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 架设某大型网站服务器之全部过程网站
下一篇: 令网站提速的7大秘方网站
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
