实验-------basic认证配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验-------basic认证配置相关的知识,希望对你有一定的参考价值。

前提:清除防火墙和selinux策略

   iptables -F ; setenforce 0


basic认证配置示例:

一、基于用户认证:

  (1) 定义安全域

    <Directory “/var/www/html/secret ">

    AuthType Basic    认证方式

    AuthName "String“  提示信息

    AuthUserFile  "/etc/httpd/conf.d/.htusers"  存放用户的文件(利用htpasswd生成,下面有示例)

    Require user http1 http2 ...       定义允许访问的用户

    </Directory>

     允许账号文件中的所有用户登录访问:Require valid-user

技术分享

或者把directory里的四行内容写到需要认证的目录下的文件(/var/www/html/secret/.htaccess),

然后在配置文件里写上AllowOverride authconfig(允许安全认证),如下所示

  vim /var/www/html/secret/.htaccess

     authtype basic

    authname "tingjie dir"

     uthuserfile "/etc/httpd/conf.d/.htusers"

    require user http1 http2

  vim /etc/httpd/conf/httpd.conf

     <directory "/var/www/html/secret">

     AllowOverride authconfig

     </directory>

  (2) 提供账号和密码存储(文本文件)

 使用专用命令完成此类文件的创建及用户管理

 htpasswd [options] /PATH/HTTPD_PASSWD_FILE username

    -c:自动创建文件,仅应该在文件不存在时使用

    -m:md5格式加密,默认方式

    -s: sha格式加密

    -D:删除指定用户

         比如创建http1,http2,http3用户,并分别设置密码

技术分享 

  (3)重新加载服务service httpd reload

测试:在linux上测试如下:

             curl http://192.168.119.129/secret/

技术分享 

在Windows上测试如下:

http://192.168.119.129/secret/,弹出如下用户认证界面,只有http1http2能访问,http3不能

技术分享 

二、基于组账号进行认证

  (1) 定义安全域

    <Directory “/path">

    AuthType Basic

    AuthName "String“

    AuthUserFile "/PATH/HTTPD_USER_PASSWD_FILE"

    AuthGroupFile "/PATH/HTTPD_GROUP_FILE"

    Require group grpname1 grpname2 ...

    </Directory>

           具体示例如下图所示,允许group1组的用户访问

技术分享 

  (2) 创建用户账号和组账号文件

     组文件:每一行定义一个组

      GRP_NAME: username1 username2 ...

             vim /etc/httpd/conf.d/.htgroup

                group1:http1 http2   

                group2:http3

技术分享 

  (3)重新加载服务service httpd reload

  (4)测试方法同上(结果:http3不能访问,http1和http2可以访问)


说明:basic认证是明文的,不安全,可以配合安全的https来使用。https的实现请参看博文:

技术分享

以上是关于实验-------basic认证配置的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat配置Basic认证方案

httpd2.2(centos6)配置认证登陆页面,基于文档认证(basic)虚拟主机专用配置及内置STATUS页面配置

httpd2.2(centos6)配置认证登陆页面,基于文档认证(basic)

nginx配置auth_basic登录认证的方法

Tomcat使用JDBC Realm配置Basic认证

nginx 实现基于basic用户认证机制