<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-124  評論-194  文章-0  trackbacks-0

    基本概念
    LDAP是以樹方式組織的數據庫。每個節點可以有什么值是通過類來定義。
    LINUX或者其它應用的認證就是來BIND LDAP樹上的節點,如果能夠BIND,就算認證成功。
    要改變LINUX認證方式,需要讓名字服務NSCD能夠到LDAP查找用戶,這需要nss_ldap.so。
    得到用戶后,再到LDAP去認證,這需要pam_ldap.so實現。

    公私鑰:公鑰可以唯一解密私鑰加密過的數據,反之亦然。
    SSL過程:需要兩對公私鑰(P1,V1),(P2,V2),假設通信雙方是A和B,B是服務器,A要確認和它通信的是B:
    A->B: hello
    B->A: 用V2加密過的P1(即用戶證書,A就用P2解密出P1)
    A->B: ok
    B->A: 用V1加密的一段信息
    A->B: 用P1加密一個自動生成的K(用之前的P1解密成功這段信息則認為B是可信的了)
    B->A: 用K加密的數據(之后兩對密鑰功能結束,由K來加解密數據)
    這里,P2就是第3方的CA證書,由于非對稱加密很慢,所以公私鑰只是用來保證K的傳送安全,之后通信是用K的對稱加密算法來保證。


    需要安裝的組件
    Berkeley DB 4.2.52 or later - http://www.sleepycat.com/(僅服務端)
    NSS_LDAP 2.2.X or PAM_LDAP 1.6.X or later – http://www.padl.com/(僅客戶端)
    OpenSSL 0.9.7e or later – http://www.openssl.org/

    OpenLDAP 2.3.XX or later - http://www.openldap.org/(僅服務端)

    OpenSSH: http://www.openssh.org/

    #?cd?/var/tmp
    #?tar?xvf?openssh-
    3 .X.XpX.tar
    #?cd?openssh-
    3 .X.XpX
    #?./configure?--prefix
    = /usr?--with-pam?--sysconfdir = /etc/ssh?--with-ssl-dir = /usr



    需要修改的文件
    服務器端:
    /etc/openldap/slapd.conf

    include???/etc/openldap/schema/core.schema
    include???/etc/openldap/schema/cosine.schema
    include???/etc/openldap/schema/inetorgperson.schema
    include???/etc/openldap/schema/nis.schema


    loglevel?-
    1

    access?to?attrs
    = shadowLastChange , userPassword
    ??????by?self?write
    ??????by?*?auth

    access?to?*
    ??????by?*?read

    TLSCipherSuite??HIGH:MEDIUM:+SSLv2
    TLSCACertificateFile?/etc/openldap/cacert.pem
    TLSCertificateFile?/etc/openldap/slapd-cert-ldap1.pem
    TLSCertificateKeyFile?/etc/openldap/slapd-key-ldap1.pem

    TLSVerifyClient?never?

    database????bdb
    suffix????????
    " dc=example,dc=com "
    rootdn????????
    " cn=Manager,dc=example,dc=com "
    rootpw????????secret
    directory???????????????/var/lib/ldap
    index????objectClass????eq


    客戶端:
    /etc/ldap.conf

    host?ldap1.example.com
    base?dc
    = example , dc = com
    ssl?start_tls
    tls_cacertfile?/tmp/cacert.pem

    ??????/etc/pam.d/system-auth

    /etc/sysconfig/authconfig

    USEDB = no
    USEHESIOD
    = no
    USELDAP
    = yes
    USENIS
    = no
    USEKERBEROS
    = no
    USELDAPAUTH
    = yes
    USEMD5
    = yes
    USESHADOW
    = yes
    USESMBAUTH
    = no


    /etc/nsswitch.conf


    /etc/hosts

    127.0.0.1 ???????MD_Mother_HDA?localhost
    10.56.28.33 ?????ldap1.example.com

    /etc/ssh/sshd_config

    PasswordAuthentication?yes

    ChallengeResponseAuthentication?yes

    UsePAM?yes

    Subsystem???????sftp????/usr/libexec/sftp-server



    需要重啟的服務
    service nscd restart???????
    service sshd restart

    另外,這個文件是LDAP命令使用的,不是系統認證所需:
    /etc/openldap/ldap.conf

    開始的時候可以不要SSL認證,只需要注釋掉ldap.conf中start_tls一句即可。另外,SSL要求驗證服務器,所以一定要在/etc/hosts文件里加入服務器完整名字,并與SSL證書中一致。

    posted on 2006-11-28 15:56 我愛佳娃 閱讀(7382) 評論(5)  編輯  收藏 所屬分類: 服務配置

    評論:
    # re: LDAP+OpenSSL集中認證配置 2007-03-30 18:00 | 我愛佳娃
    如果設置了不存在的IP為LDAPSVR,會使客戶端認證很慢。改配置也沒用。但只要能PING通的,即使沒裝也會正常了。  回復  更多評論
      
    # re: LDAP+OpenSSL集中認證配置 2008-01-08 19:43 | ykzj
    公私鑰:公鑰可以唯一解密私鑰加密過的數據,反之亦然。
    SSL過程:需要兩對公私鑰(P1,V1),(P2,V2),假設通信雙方是A和B,B是服務器,A要確認和它通信的是B:
    A->B: hello
    B->A: 用V2加密過的P1(即用戶證書,A就用P2解密出P1)
    A->B: ok
    B->A: 用V1加密的一段信息
    ^^^^^^^^^^^^^^^^^^^^B有A的私鑰?


    A->B: 用P1加密一個自動生成的K(用之前的P1解密成功這段信息則認為B是可信的了)
    B->A: 用K加密的數據(之后兩對密鑰功能結束,由K來加解密數據)
    這里,P2就是第3方的CA證書,由于非對稱加密很慢,所以公私鑰只是用來保證K的傳送安全,之后通信是用K的對稱加密算法來保證。  回復  更多評論
      
    # re: LDAP+OpenSSL集中認證配置 2008-01-09 20:21 | 我愛佳娃
    你理解反了,這是是A要確認通信方是B,做個類比,B就相當于銀行,A就是客戶端,A一定要確認B是真正的銀行才能發送自己的用戶名和密碼。

    B->A: 用V1加密的一段信息
    V1是B的私鑰,它用V1加密一段信息給A,A用之前的P1一解,能解開那就確定是B無疑了(因為公鑰可以唯一解密私鑰加密過的數據)。A是沒有任何私鑰的,它唯一要有的就是CA證書,即P2。  回復  更多評論
      
    # re: LDAP+OpenSSL集中認證配置 2008-10-20 14:42 | kudiejlq
    對以下內容的疑問:

    SSL過程:需要兩對公私鑰(P1,V1),(P2,V2),假設通信雙方是A和B,B是服務器,A要確認和它通信的是B:
    A->B: hello
    B->A: 用V2加密過的P1(即用戶證書,A就用P2解密出P1)
    .......

    第二步,即B->A這一步,感覺這里有些問題。v2是CA的私鑰,如果p1是經由v2加過密的,那么考慮一種這樣的情況:客戶瀏覽器中沒有此CA的根證書,即沒有p2會怎么樣? 它根本就不能解密出p1, 也無從知道是哪個ca頒布的證書。即使有該CA的根證書,在不知道P1的內容前,它怎么知道用這個P2(而不是P3或者P4)去解密出P1?所以,我認為CA沒有加密P1,只是用V2對P1進行了簽名。

    期待繼續討論:kudiejlq@126.com
      回復  更多評論
      
    # re: LDAP+OpenSSL集中認證配置 2008-10-27 17:16 | 我愛佳娃
    你瀏覽SSL認證的網頁時,如果事先沒有安裝證書P2,瀏覽器會下載,并彈出對話框問你是否信任此證書的。
    而如果你訪問銀行服務,它會事先給你一個號碼或者導入證書。
    V2對P1所謂的簽名,就是執行了加密,保證只有P2能夠解出來,這是公私匙存在的基礎:公鑰可以唯一解密私鑰加密過的數據,反之亦然。  回復  更多評論
      
    主站蜘蛛池模板: 丁香花在线观看免费观看图片| 亚洲色大成WWW亚洲女子| 一本色道久久综合亚洲精品蜜桃冫| 久久精品国产亚洲AV麻豆网站| 亚洲人成7777| fc2成年免费共享视频18| 无码国产精品一区二区免费式芒果 | 日本午夜免费福利视频| 久久亚洲色一区二区三区| 亚洲另类古典武侠| 欧洲乱码伦视频免费国产| 久9久9精品免费观看| 婷婷综合缴情亚洲狠狠尤物| 亚洲成av人片天堂网| 欧美亚洲国产SUV| 免费精品一区二区三区第35 | 18禁超污无遮挡无码免费网站| 国产成人精品免费视频大| 成人a视频片在线观看免费| 亚洲V无码一区二区三区四区观看| 亚洲精品天堂在线观看| 久久午夜夜伦鲁鲁片无码免费| 免费激情视频网站| 国产亚洲精品拍拍拍拍拍| 亚洲国产AV无码一区二区三区 | 久久午夜免费视频| 国产午夜亚洲精品午夜鲁丝片| 亚洲日本天堂在线| 久操免费在线观看| 国产国拍亚洲精品福利 | 免费在线观看中文字幕| 91天堂素人精品系列全集亚洲 | 久久99精品国产免费观看| 日本免费人成黄页在线观看视频| 亚洲第一精品在线视频| 亚洲精品无码一区二区| a级在线观看免费| 好男人视频社区精品免费| 亚洲成人免费网站| 成av免费大片黄在线观看| 四虎精品亚洲一区二区三区|