基于.htaccess的网站安全应用研究

时间:2022-06-09 11:45:09

基于.htaccess的网站安全应用研究

摘 要:对于大多数使用Linux虚拟主机下的Apache环境部署网站的管理人员来说,因缺乏相应的root权限而使得其对网站的安全维护成为重点工作之一。本文将介绍如何利用该环境下的分布式配置文件.htaccess来改变服务器的配置而最终达到保护网站安全的目的。

关键词:htaccess;Apache;网站安全

中图分类号:TP399

在Internet上广泛部署WEB服务是现今信息传播的最主要途径,而基于此类应用的Linux加Apache的组合因其出色的表现,在众多WEB服务虚拟主机环境配置中占据着极大的市场份额。而基于网站集群管理的WEB服务提供商往往基于统筹策略给予客户有限的主机管理权限,此时网站的设计与管理人员则可以通过.htaccess文件自己修改服务器配置实现权限控制保护网站安全。使用.htaccess方式不需要编写程序就能方便实现,只需掌握特定的配置指令及rewrite规则即可。

1 .htaccess文件与rewrite规则定义

.htaccess文件是Apache服务器上的一个基于文本的分布式配置文件,它提供了针对目录改变配置的方法,常用在内容提供者需要针对特定目录改变服务器的配置而又没有root权限的情况下,通过自行修改该文件实现权限控制。

Rewrite规则主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言,可基于服务器级和目录级两种方式,本文我们讨论的是后者。

2 Apache下的PHP执行权限控制

网站安全策略中,对目录的执行权限是非常敏感的,一般来说,对于可写入的目录是禁用脚本执行权限的,像DedeCMS系统,可写入的有两个目录data、uploads,data目录主要是基本配置文件和缓存数据,uploads则是附件上传保存的目录,禁止该目录的执行权限可有效防止恶意写入可执行脚本导致网站被攻击的可能性。我们也建议把其他一些生成纯静态html的目录也去除执行权限,这样系统会更为安全。

该方法基于.htaccess文件中使用rewrite来达到禁止指定脚本的运行,规则内容如下:

[1]RewriteEngine on RewriteCond%!^$

[2]RewriteRule filePath/(.*).(php)$[F]

其中,方括号表示代码行序号,在规则书写时切记去掉,代码行[1]表示启用rewrite开关,可不必重复书写,以下类同。将上述代码存储至到.hatccess文件并保存到对应的filePath站点目录下,这样filePath目录下的php脚本(如上例)的执行权限就禁止了。

3 防止站内资源盗用

现在互联网上原创的内容被转载、盗链的现象很普遍,为有效防止盗链,挤占服务器带宽,以及一定程度保护站内资源版权,可通过.htaccess文件来设置资源文件防盗链。规则内容如下:

[1]RewriteCond%{文件,我想使用它作为404 error的页面:

ErrorDocument 404 /notfound.html

错误代码可参考相关书籍描述,接下来,你要做的只是创建一个错误发生时显示的指向页面文件,然后把它们和.htaccess一起上传。

5 目录的密码访问保护

要使用.htaccess进行网站目录密码保护主要分为2个步骤,即配置.htaccess文件和创建.htpasswd密码文件。定义如下:

[1]AuthName “Section Name”

[2]AuthType Basic

[3]AuthUserFile /full/path/to/.htpasswd

[4]Require valid-user

Section Name出现在弹出的密码输入框中,我们可以自己定义,/full/path/to/.htpasswd是我们第二步密码文件.htpasswd的绝对路径,建议将该密码配置文件置于站点之外的目录,可防止他人通过浏览器的方式恶意获取。

密码文件的内容格式为user:password,密码部分必须为加密的格式。当你试图访问被.htaccess密码保护的目录时,你的浏览器会弹出标准的账号、密码对话窗口。

6 来访IP的筛选处理

由于网站的特殊环境,管理员可能限制某些特定IP的用户访问指定的内容,或者想封禁某些指定IP地址段。.htaccess对指定IP进行限制访问在做网站优化以及网站基础部署中都是有用的,可以有效防止采集和信息保密,示例如下:

[1]order allow,deny

[2]deny from *.*.*.*

[3]allow from *.*.*.*

代码行[1]表示先限定许可的,后限定禁止的,反之亦可;行[2]、[3]可限制指定IP地址段的访问开关,可采用地址位方式进行匹配认证。通过维护IP代码行以达到实现保护网站安全受访的目的。

7 结束语

网站的安全性不容小视,网站目录权限的严格控制显得尤为重要,通过.htaccess来保护网站安全方便和可行,因为它不像使用脚本程序那样容易受到漏洞等软性攻击,而更是服务器系统级别的权限控制措施,很大程度上提高了网站的安全性。

参考文献:

[1]陈俊洁.常见WEB服务安全威胁的来源与防范[J].产业与科技论坛,2010(07):118-121.

[2]李汉强.保护Linux下的Apache网站[J].开放系统世界,2004(06).

作者简介:肖俊春(1976-),男,湖北孝感人,讲师,硕士,长期从事网络应用平台的开发与维护,研究方向:软件工程及网络安全管理。

作者单位:湖北职业技术学院,湖北孝感 432000

上一篇:云计算环境下漏洞的研究 下一篇:矿山销售计量数据采集交互故障的分析与优化改...