zoukankan      html  css  js  c++  java
  • apache用户认证,ssl双向认证配置

    安装环境:

    OS:contos 6.4

    httpd:httpd-2.2.15-59.el6.centos.i686.rpm

    openssl:openssl-1.0.1e-57.el6.i686.rpm

    mod_ssl:mod_ssl-2.2.15-59.el6.centos.i686.rpm

    一、配置apache的用户认证

    用户认证:用户需在进入web时,登录合法的用户,认证通过后,才能进入访问web服务器

    (1)安装httpd,编辑/etc/httpd/conf/httpd.conf

    在文件中大约338行左右有一行

    “AllowOverride  none” 这个是系统默认的,无控制列表,见附。

    我们这里将none改为AuthConfig,并添加以下几行内容,如下:

    AllowOverride AuthConfig 
    AuthType Basic # 用户认证类型 
    AuthName "Restricted Site" # 认证时显示的名字 
    AuthUserFile /etc/httpd/conf/htpasswd # 认证时用户的账号密码文件 
    #AuthGroupFile /etc/httpd/conf/htgroup #基于组的认证 
    # Require user tom # 只有tom用户才能登录 
    # Require group myusers # 允许哪个组中的用户登录 
    Require valid-user # 出现在账号密码文件中的用户都能登录

    ps:若不支持utf-8,请将中文注释去掉

    (2)创建/etc/httpd/conf/htpasswd文件,及用户

    使用htpasswd命令创建用户,在第一次创建时加-c可创建文件

     htpasswd -c -m /etc/httpd/conf/htpasswd  dyz

    #连续输入两次密码

    # htpasswd -m /etc/httpd/conf/htpasswd  zzz

    #连续输入两次密码

    (3)若开启基于组的认证,则创建组文件/etc/httpd/conf/htgroup

    在文件中写入一行

    myusers:  dyz  zzz

    二、配置apache的ssl双向认证

    ssl单向认证:只服务端部署ssl证书,向用户提供了身份认证

    ssl双向认证:服务端部署ssl证书,向用户提供了身份认证。并且服务段需要客户端提供身份认证,只能是服务端允许的客户能去访问,安全性更高

    (1)安装openssl,使用openssl生成证书

    生成客户端证书密钥:

    openssl genrsa -des3 -out client.key 1024

    生成客户端证书签名请求:
    openssl req -new -key client.key -out client.csr

    生成CA证书密钥:
    openssl genrsa -des3 -out ca.key 1024

    生成CA证书:
    openssl req -new -x509 -keyout ca.key -out ca.crt

    生成客户端证书:
    openssl x509 -req -days 3650 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -o
    ut client.crt

    生成浏览器支持的证书格式p12:

    openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

    输入的密码,在将证书导入浏览器时能用到

    ps:使用openssl verify -CAfile ca.crt client.crt命令,验证客户端证书和CA证书

    (2)安装mod_ssl,编辑/etc/httpd/conf.d/ssl.conf

    设置客户端证书目录:SSLCertificateFile /etc/pki/tls/certs/client.crt

    设置客户端证书密钥目录:SSLCertificateKeyFile /etc/pki/tls/certs/client.key 

    设置CA证书目录:SSLCACertificateFile /etc/pki/tls/certs/ca.crt

    开启要求进行客户端认证:

    取消注释

    SSLVerifyClient require
    SSLVerifyDepth 10

    (3)将第一步生成的证书及证书密钥放入ssl.conf配置文件指定的目录/etc/pki/tls/certs/

    (4)重启httpd服务:service httpd restart

  • 相关阅读:
    C# 设置 Excel 条件格式 与 冻结窗口
    Exce折叠效果(数据组合)
    [一点一滴学英语]20050829
    Tencent Messenger
    很有趣的一篇文章:不使用Linux的五大理由
    Tencent Messenger (continued)
    N久没有听过这么搞笑的RAP了
    [一点一滴学英语]20050827
    [Eclipse笔记]SWT真正的优势不是快这么简单
    [一点一滴学英语]20050828
  • 原文地址:https://www.cnblogs.com/dyzne/p/6781128.html
Copyright © 2011-2022 走看看