怎样保护Linux系统下的Apache网站
来源:asp之家 发布时间:2010-05-09 17:58:00
Linux的广泛应用和快速发展得益于互联网的飞速发展。对于Internet上应用广泛的Web服务来说,Linux表现出色。很难说清目前Internet上究竟有多少个网站在使用Linux系统,但众多网站中采用Apache服务器的无疑占据了极大的市场份额。
如何为网站提供保护,防止非法用户登入呢?通常可以采用身份认证方式。身份认证是防止非法用户使用资源的有效手段,也是管理注册用户的有效方法。现在很多网站都使用身份认证来管理用户资源,对用户的访问权限进行严格地限制。传统的身份认证方法是通过检验用户的注册名、口令,来决定是否允许用户使用资源,但这种认证方法在某些情况下作用并不十分有效。特别是在Linux平台下的Apache服务器,完全可以用Linux的方法来实现密码验证和保护。
Linux下最常见的密码保护方法是利用.htaccess文件,即目录配置实现密码保护,这也是.htaccess文件的功能之一。这种方法可以使没有授权的浏览者不能进入.htaccess文件所设置的限制区域。一般地,使用JavaScript技术进行设置的密码太简单,很容易就被破解,造成了不安全。而使用.htaccess文件保护目录比使用其它程序(Java/HTML/ASP/CGI)更为有效和安全。更重要的是,使用.htaccess的方式进行设置,不需要编写程序就可以实现,具体操作比较容易。
下面就来介绍和演示Linux+Apache下密码保护的方法,全面实现网站保护。
什么是.htaccess文件
.htaccess文件是Apache服务器上的一个设置文件。它是一个文本文件,可以使用任何文本编辑器进行编写。.htaccess文件提供了针对目录改变配置的方法,即通过在一个特定的文档目录中放置一个包含一个或多个指令的文件(.htaccess文件),以作用于此目录及其所有子目录。.htaccess的功能包括设置网页密码、设置发生错误时出现的文件、改变首页的文件名(如index.html)、禁止读取文件名、重新导向文件、加上MIME类别、禁止列目录下的文件等。
在需要针对目录改变服务器的配置,而对服务器系统没有root权限时,应该使用.htaccess文件。如果服务器管理员不愿意频繁修改配置, 则可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在一台机器上提供多个用户站点,而又希望用户可以自己改变配置的情况下,一般会开放部分.htaccess的功能给使用者自行设置。
注意,.htaccess是一个完整的文件名,不是***.htaccess或其它格式(当然也有管理员把其设置成其它名字,但一般都是使用.htaccess)。另外,上传.htaccess文件时,必须使用ASCⅡ模式,并使用chmod命令改变权限为:644(RW_R__R__)。每一个放置.htaccess的目录和其子目录都会被.htaccess影响。例如,在/abc/目录下放置了一个.htaccess文件,那么/abc/和/abc/def/内所有的文件都会被它影响,但/index.html不会被它影响,这一点是很重要的。
实现密码保护
1、建立.htpasswd文件
首先在要设置存取控制的目录(如htdocs)下建立一个文件,文件名可以自行设定,一般服务器都会设置为.htpasswd,该文件是不能由HTTP读取的。.htpasswd文件中的每一行代表一个使用者,使用者的名字及经过加密的密码以冒号:分隔。
2、.htaccess文件实现保护
.htaccess文件的内容如下:
authtype basic
authuserfile /usr/home/***/htdocs/.abcname1
authgroupfile /usr/home/***/htdocs/.abcname2
authname information
<limit get post>
require valid-user
</limit>
其中第二行和第三行中的***可以改为个人的FTP登录名。.abcname1和.abcname2可以是任意的文件名,如.htpasswd、.htpass,但不能是.htaccess。将.htaccess上传到要进行密码保护的目录(如htdocs)中。
.htaccess文件最后的“require”告诉服务器哪些用户可以进入。require valid-user是指只要是.htpasswd中的任何一个都可以进入。也可以指定名单上的某人或某几人可以通过,使用require user username或require user username1 username2 username3。还可以指定某组人可以通过,使用require group groupname。
3、增加新的许可用户
进入htdocs目录,在命令行状态输入以下命令生成.abcname1文件。
echo > .abcname1
/var/www/bin/htpasswd .abcname1 abc
abc表示要增加的用户名。输入此命令后,系统会提示输入此用户密码,这样该用户名就生效了。以后如要再增加用户,运行第二行的命令时换一个用户名即可。如果这个用户名存在,则会提示修改密码。
4、建立允许访问的组
组的设置方法是建立一个名为.htgroup的文本文件,内容如下:
groupname1: username1 username2 username3
groupname2: username1 username3 username4
并在.htaccess中加上“AuthGroupFile /absolute/path/.htgroup”。以ASCⅡ模式上传所有文件后,该目录中的所有文件都会被保护起来。


猜你喜欢
- 稳定使用多年的UCHOME最近经常出现问题,今天的怪事则是无论普通用户登录还是管理员登录管理,均显示登录成功,而后又自动跳转到重新登录页面。
- 我以前一直是先款交易pp,也从没收到未授权的pp,遇到未授权的pp或买家恶意投诉的pp轻者撤资并且承担手续费(高级)重者帐户被限制或被解除业
- 不少博主给博客添加了Loading加载效果,即当点击博客文章标题链接时,标题的显示会变成如“Loading……”或“请稍候,正在加载中……”
- 做站也几年了,以前没有深入了解SEO,几乎都没有遇到过什么百度快照倒退的情况,当然,没有优化,关键词上不去,流量也不高。做了SEO后,如果你
- 假设有个人从来没有听说过你的公司,你的网站的人在搜索引擎上搜索你们正好生产的一个产品,这是关键词研究的起始点,请注意,你需要找到的是你的客户
- 如何能够快速检测定位出局域网中的ARP病毒电脑?面对着局域网中成百台电脑,一个一个地检测显然不是好办法。其实我们只要利用ARP病毒的基本原理
- 主要使用request对象的ServerVariables属性,通过它来获得环境变量的值。使用的语法为:Request.ServerVari
- 如果你有个站点(并且你如果想赚钱的话,你可能需要一个),那么你就有一个和我们一样的问题,流量。我们都需要流量,不过,搜索引擎越来越聪明了,很
- 作者:Google 广告管理系统小组 李小轲 高效使用网站广告闲置资源通过第一章的介绍,大家已经了解如何使用 Goo
- 这段时间正在学习Redis和容器相关的内容,因此想通过docker搭建一套redis主从系统来加深理解。看这篇文章可能你需要一定
- 保护企业免遭互联网威胁的最集中的硬件设备解决方案,除了集成最佳的URL过滤、WEB应用报告、实时监控以及内部威胁清除等功能之外,还应该包括多
- 服务器维护有一段时间了,这其中最大的收获莫过于对服务器的备份与恢复,今天总结相关内容与大家分享,希望对服务器维护的朋友有点帮助。1.系统备份
- 目录一、简介二、配置步骤一、简介1、NAT模式(VMnet8)可以实现虚拟机之间、虚拟机和主机之间以及虚拟机和外部的网络通信;2、虚拟机的I
- 10月13日是世博倒计时200天,“星耀世博——首批世博城市之星颁奖典礼&
- linux smb.conf详解 服务名:smb配置目录:/etc/sabma/主配置文件:/etc/sabma/smb.conf#====
- 我认为,把搜索引擎优化中最常发生的一些问题归纳整理出来,提供给那些想在搜索结果中取得较高排名的人作为参考,是完全有必要的。我在下面列出了搜索
- SMTP协议是TCP/IP协议族中的一员,主要对如何将电子邮件从发送方地址传送到接收方地址,也即是对传输的规则做了规定。SMTP协议的通信模
- 不要让读者找不着北:关于网站导航问题,越简单越好。虽然google鼓励你创建目录结构,但你不能让它太过复杂,比如需要15次点击才能到达目标内
- 相信大多数朋友都是iframe木马的受害者,有朋友的网站被注入了n回iframe,心情可想而知。而且现在ARP攻击,注入iframe也是轻而
- 套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行。套接字的特性有三个属性确定,它们是: