apache服务器URL访问管理,apache服务器url


	个人的云服务器好久没有管理过了,今天看了看服务器的安全情况,把我吓了一跳。
	虽然我注重安全,更改了端口,php文件也进行了相对严格的防注入措施,但是我的apache代理...已经不想说什么了...
	不仅没有对url进行严格的过滤和重写...就连indexes功能都没有关闭...可怕,没注意到这块。
	果断重写配置了一下服务器,对apache的简单管理主要通过修改Apache配置文件httpd.conf来实现的,我这里就简单总结一些常用的规则。 
	对外显示网站目录是很可怕的事情,首先我们要关闭apache服务器的目录浏览功能
	一般情况下在服务器搭建的所有网站都没有启用目录浏览的需求,那么我们可以通过修改httpd文件一步到位
	打开httpd文件搜索Options 找到indexes一项,在前面添加-号即可。
	当然如果你不想统一关闭目录浏览功能也可以写在vhosts里面,在vhost网站跟目录配置项里面添加Options -Indexes就可以了。
	虽然禁止了apache服务器的目录浏览功能,但是你的常用目录名称文件名称还有你的配置文件、私有资源可能会被猜到
	这时候就需要禁止访问敏感文件了 

	首先我们可以在vhost网站配置项里面增加一个Files选项
		<Files ~ ".inc$">
			Order allow,deny 
			Deny from all  
		</Files> 
	这样就可以禁止访问inc配置文件
	当然你也可以用更为强大的 <FilesMatch regex> ... </FilesMatch> 他支持正则匹配,写起来就十分便捷
	如果你不想让你的私有图片被访问可以用他实现
		<FilesMatch .(?i:gif|jpe?g|png)$>
			Order allow,deny 
			Deny from all  
		</FilesMatch>
	我只是禁止了常见的图片格式,当然你也可以继续添加其他图片格式,除了图片,也可以添加txt inc conf这种配置文件一步到位~ 

	还有就是目录,如果某些目录不想被访问可以用Directory,DirectoryMatch选项更为强大,加入了正则功能方法同理
		<Directory ~ "^/www/text"> 
			Order allow,deny  
			Deny from all  
		</Directory> 

	还有一种就是对url的过滤,效果基本等同于directory,
		<Location /jw/>    
			Order allow,deny  
			Deny from all  
		</Location>
  	这样可以禁止所有出现/jw/的url请求,jw字段支持简单的正则/(jw|j|w)/这样就同时禁止了三个~

		<Proxy http://csdn.net/*>  
			 Order allow,deny  
    			 Deny from all   
   		</Proxy> 
   	#这个可以针对代理方式禁止对某些目标的访问

   		Deny from 10.0.0.1 #阻止一个IP 
   		Deny from 192.168.0.0/24 #阻止一个IP段 
  		<Directory "/var/www/web/"> 
      			Order deny,allow 
      			Deny from all
      			All from example.com #允许某个域名 
      			All from 10.0.0.1 #允许一个iP 
      			All from 10.0.0.1 10.0.0.2 #允许多个iP 
      			Allow from 10.1.0.0/255.255.0.0 #允许一个IP段,掩码对 
      			All from 10.0.1 192.168 #允许一个IP段,后面不填写 
      			All from 192.168.0.0/24 #允许一个IP段,网络号 
   		</Directory> 
   	以上方法可以禁止某些IP访问或者只允许某些IP访问 (这个是我网上抄的...我没这个需求,在这里写了以便以后需要的时候使用) 

  	好啦剩下的就是我将要总结的url重写了,我放在下一篇来写吧~

相关内容

    暂无相关文章