设为首页 收藏本站
查看: 935|回复: 0

[经验分享] Web服务基础四之Apache访问控制

[复制链接]

尚未签到

发表于 2018-11-23 09:13:31 | 显示全部楼层 |阅读模式
  基于客户端地址的访问控制
  通过对客户端IP地址的限制可以增强服务器的安全性,客户端IP地址限制只能针对服务器上的某个目录进行设置,大致格式如下:
  
  
317
338     AllowOverride None
343     Order allow,deny
344     Allow from all
346   ...表示对站点的主目录设置,“Order allow,deny”表示默认拒绝所有客户端访问,然后再配合使用“Allow from”语句指定允许访问的客户端。如果是要设置拒绝访问的客户端,那么就得反过来,先用“Order deny,allow”允许所有客户端访问,然后再配合使用“deny from”拒绝指定的客户端。设置允许访问的地址可以是多个,地址之间用空格间隔,如deny from 10.15.72.73 10.16.72.83
  如不允许Client访问Apache Server:
  Apache server ip:10.15.72.38   Client:10.15.72.73
  当前访问Apache Server:
DSC0000.jpg

  修改Apache不允许访问:
[root@justin html]# vim /etc/httpd/conf/httpd.conf
317
331     Options Indexes FollowSymLinks
338     AllowOverride None
343     Order deny,allow
344     Deny from 10.15.72.73
346
[root@justin html]# service httpd restart
停止 httpd:                                               [确定]
正在启动 httpd:                                           [确定]
[root@justin html]#
DSC0001.jpg

  

  Client无法访问Apache Server
  对虚拟目录设置访问控制

  如对bbs的虚拟目录/virdir设置,设置前:
   DSC0002.jpg
[root@justin html]# vim /etc/httpd/conf/httpd.conf
1010 NameVirtualHost 10.15.72.38:80
1011
1012     DocumentRoot /var/www/html/bbs
1013     ServerName bbs.justin.com
1014     Alias /virdir "/home/www/virdir"
1015     
1016 #   order allow,deny
1017     order deny,allow
1018     deny from 10.15.72.73
1019     
1020   设置后:
DSC0003.jpg

  基于用户的访问控制
  在实际应用中,我们大都是希望通过对用户进行身份验证从而来进行访问控制,Apache支持的身份验证方法有基本认证(Basic)和摘要认证(Digest)两种,应用较多的同样是基本认证,以下介绍基本认证。
  基于用户的访问控制也是只能针对服务器上的某个目录进行设置,设置内容必须包含在 …… 的区域中。
  如设置只允许justin1、justin2可以访问apache主目录,其他用户无法访问:
  1、修改主配置文件中MAIN SERVER参数
  
317
331     Options Indexes FollowSymLinks
338     AllowOverride None
343     Order allow,deny
344     allow from all
345     AuthName "html"
346     AuthType Basic
347     AuthUserFile /etc/httpd/conf/.htpasswd
348     require valid-user
349       AuthName:定义受保护的领域名称,客户端访问时在弹出的认证登陆对话框中将显示该名称。
      AuthType:设置认证的类型,Basic为基本认证
      AuthUserFile:设置用于保存用户帐号、密码的认证文件路径。(文件可以自由定义,但通常都是保存于/etc/httpd/conf目录中,并采           用.htpasswd的文件名,文件名前面加.表示隐藏文件。)
       require valid-user:授权给认证文件中的所有有效用户。这一项也可以写成“require user [用户名]”,指定一个具体的用户,这样无论认证文件中如何定义,也只有该用户才可以访问。
  2、添加认证用户

  这个认证用户与系统用户没有任何关系,不需要先创建相应的系统用户,可以直接来添加认证用户。
  
[root@justin html]# htpasswd -cm /etc/httpd/conf/.htpasswd justin1
New password:
Re-type new password:
Adding password for user justin1
[root@justin html]# htpasswd -m /etc/httpd/conf/.htpasswd justin2
New password:
Re-type new password:
Adding password for user justin2
[root@justin html]# cat /etc/httpd/conf/.htpasswd
justin1:$apr1$Zii8HQ7.$0EBdyJmQixiLifXuRDk7O/
justin2:$apr1$uUzIxR4R$e8vtC61eUdURYOY3F6rlj.
[root@justin html]# service httpd restart
停止 httpd:                                               [确定]
正在启动 httpd:                                           [确定]
[root@justin html]#  -c:创建用户认证文件   -m:MD5加密 ;因为创建justin1时候已经生成了认证文件/.htpasswd,后面就不需要在加参数,只需要把用户写入认证文件即可。
  3、访问Apache服务
   DSC0004.jpg DSC0005.jpg
  上面定义的AuthName "html"就显示在上图中了
  对虚拟目录设置访问控制
  
[root@justin html]# vim /etc/httpd/conf/httpd.conf
1013 NameVirtualHost 10.15.72.38:80
1014
1015     DocumentRoot /var/www/html/bbs
1016     ServerName bbs.justin.com
1017     Alias /virdir "/home/www/virdir"
1018     
1019     AuthName "virdir"
1020     AuthType Basic
1021     AuthUserFile /etc/httpd/conf/.htpasswd
1022     require user justin2
1023     
1024
[root@justin html]# service httpd restart
停止 httpd:                                               [确定]
正在启动 httpd:                                           [确定]
[root@justin html]#  访问Apache服务,这时候输入http://10.15.72.38/virdir会弹出身份认证对话框,此时输入据说justin1是无法访问,输入justin2就可以正常访问
  ###########################################################

                            关注微信平台,了解最新动态                                                                        
DSC0006.jpg 由于学习阶段公开的文章随时进行完善,
修正的文章会通过微信平台给出提示,
欢迎关注,同时希望得到大家的指点.

Linux交流QQ群:333212786

DSC0007.png ################################################################################






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638481-1-1.html 上篇帖子: Apache的安全方案与证书实施 下篇帖子: apache从2.2.25升级到2.4.6关键过程记录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表