2016年11月18日 星期五

記錄在Ubuntu上安裝FreeRadius + OpenLDAP + EPAP WIFI 驗證過程文章

(3設定FreeRadius
         修改FreeRadius模組庫裏面的ldap模組設定檔
         sudo vim /etc/freeradius/modules/ldap
ldap {
#輸入OpenLDAPIP地址
server = "xxx.xxx.xxx.xxx
#紅色字改成OpenLDAP的配置                                      
identity = "cn=admin,dc=example,dc=com"
#OpenLDAP管理員密碼                  
password = 123456
basedn = "dc=kuangda,dc=local"
filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
}

(4) 修改FreeRadius驗證資料庫類型
          sudo vim /etc/freeradius/sites-available/default
          找到一下內容修改
authorize {
#          files
            ldap
         }
authenticate {
            Auth-Type LDAP {
                            ldap
                     }

(5) 修改FreeRadius驗證資料庫類型通道
         sudo vim /etc/freeradius/sites-availeble/inner-tunnel
         找到一下內容修改
authorize {
#          files
            ldap
         }
authenticate {
            Auth-Type LDAP {
                            ldap
                     }

(6) 增加NAS驗證設備
         # 進入clients設定檔案
         sudo vim /etc/freeradius/clients.conf 
                  Client WIFIAP {          
                            ipaddr = 192.168.44.253
                            secret = 123456
                            require_message_authentication = no
                            nastype = other
                               }
               備註:每個牌子的無線AP設定位置有所不同但是大致上都沒什麼大差別,以下是我在DD-WRT設備上的圖。

(7) 進行測試的時候使用Radtest密令測試就正常



(8) 使用WIFI驗證就沒辦法了, 於是使用FreeRadius Debug Mode來看看就發現已下錯誤出現。

備注 :原因是MS-CHAP-V2驗證方式是使用明文密碼&NT-Password&LM-Password的,而已我們在OpenLDAP裏面管理的帳號是{MD5}加密過的密碼所以沒辦法驗證,只要我們解決密碼是以上的格式就可以驗證成功了,解決方法一下:

(9) OpenLDAPschema檔案上面加一個新密碼屬性
         sudo vim /etc/ldap/schema/inetorgperson.schema 
         在objectclass 'inetOrgPerson前增加
attributetype ( 1.3.6.1.4.1.3317.4.3.1.66
        NAME 'radiusUserPassword'
        DESC 'radiusUserPassword'
        SUP userPassword )
   'radiusUserPassword' 作爲可選屬性加到'inetOrgPerson' 對象類
MAY (
                radiusUserPassword $ audio $ businessCategory $ carLicense $ departmentNumber $
                displayName $ employeeNumber $ employeeType $ givenName $
                homePhone $ homePostalAddress $ initials $ jpegPhoto $
                labeledURI $ mail $ manager $ mobile $ o $ pager $
                photo $ roomNumber $ secretary $ uid $ userCertificate $
                x500uniqueIdentifier $ preferredLanguage $
                userSMIMECertificate $ userPKCS12 )
        )

(10) OpenLDAP的資料庫ACL上面家如radiusUserPassword屬性
         sudo vim /etc/ldap/slapd.conf
         #找到以下內容修改
database  hdb
     access to attrs=userPassword,radiusUserPassword
               by self write
               by * auth
  重啓OpenLDAP服務

(11) FreeRadiusldap字典檔上加密碼格式檢查
         sudo vim /etc/freeradius/ldap.attrmap
#新增以下兩行
checkItem                  NT-Password             userPassword
checkItem                  NT-Password             radiusUserPassword
  重啓FreeRadius服務

(12) 安裝生成MD4密碼軟件
   apt-get install make gcc libc-dev
   wget http://nchc.dl.sourceforge.net/project/ldaputils/Contrib/mkntpwd/mkntpwd.tar.gz
   tar -zxvf mkntpwd.tar.gz
   make
   ./mkntpwd -N '密碼'
   出現MD4密碼 , 復制這段密碼到使用者就可以


(13) 在Windows 7 上連線WIFI設定 - 手動增加無線SSID
 - 控制臺 -> 網路和公用中心 -> 管理無線網路











- 點選新增 -> 輸入SSID ->無線驗證模式 ->手動建立網路設定檔











- 下一步 -> 變更連線設定 -> 安全性 -> 設定














 - 去掉確認伺服器驗證 -> 設定
- 去掉自動使用我的Windows帳號&密碼










輸入驗證帳號密碼連線完成

沒有留言:

張貼留言