apache服务器访问权限设置
禁止所有访问:Options Indexes FollowSymLinks 改为 Option None
Apache单个或多个目录禁止访问方法
这种方法通常用来禁止访问者访问后台管理目录或者程序目录,方法如下
1、打开apache配置文件httpd.conf
2、创建Directory块,比如禁止访问某个类库目录,可以这样实现
- <Directory /var/www/www.leapsoul.cn/inc>
- Order Deny,Allow
- Deny from all
- </Directory>
上述代码实现了禁止所有用户访问www.leapsoul.cn下inc目录的功能。如要实现禁止访问所有目录中inc目录的功能,只要将
<Directory /var/www/www.leapsoul.cn/inc>
更改为
<Directory /var/www/www.leapsoul.cn/*/inc>
即可
3、重启Apache服务器。
只允许某个域名进行目录访问
- <Directory /var/www/www.leapsoul.cn/inc>
- Order Deny,Allow
- Deny from abc.com
- Allow from apache.org
- </Directory>
上述代码实现禁止abc.com域中主机访问inc目录,允许apache.org域中主机访问inc目录的功能。
只允许或禁止某个IP进行目录访问
- <Directory /var/www/www.leapsoul.cn/inc>
- Order Deny,Allow
- Deny from 10.1.1.2
- Allow from 192.168.1.0/255.255.255.0
- </Directory>
上述代码实现禁止IP10.1.1.2访问www.leapsoul.cn/inc目录,允许IP192.168.1子网中的主机访问www.leapsoul.cn/inc目录的功能。
注意:Allow from 192.168.1.0/255.255.255.0等同于Allow from 192.168.1或Allow from 192.168.1.0/24
至此,通过配置Apache服务器我们可以实现禁止目录访问(列出目录或文件列表),也可以实现禁止访问单个或者多个目录,更可以对访问者进行控制,比如允许或禁止某个IP或者域名对目录进行访问,这些功能对提高和优化WEB服务器的安全性能是必不可少的方法。
Apache Server基于主机的访问控制
Apache Server默认情况下的安全配置是拒绝一切访问。假定Apache Server内容存放在/usr/local/apache/share 目录下,下面的指令将实现这种设置:
- Deny from all
- Allow Override None
则禁止在任一目录下改变认证和访问控制方法。
同样,可以用特有的命令Deny、Allow指定某些用户可以访问,哪些用户不能访问,提供一定的灵活性。当Deny、Allow一起用时,用命令Order决定Deny和Allow合用的顺序,如下所示:
拒绝某类地址的用户对服务器的访问权(Deny)
- Deny from all
- Deny from test.cnn.com
- Deny from 204.168.190.13
- Deny from 10.10.10.0/255.255.0.0
允许某类地址的用户对服务器的访问权(Allow)
- Allow from all
- Allow from test.cnn.com
- Allow from 204.168.190.13
- Allow from 10.10.10.0/255.255.0.0
Deny和Allow指令后可以输入多个变量。
简单配置实例:
- Order Allow, Deny
- Allow from all
- Deny from www.test.com
指想让所有的人访问Apache服务器,但不希望来自www.test.com的任何访问。
- Order Deny, Allow
- Deny from all
- Allow from test.cnn.com
指不想让所有人访问,但希望给test.cnn.com网站的来访。