日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FreeRADIUS 测试环境搭建

發布時間:2023/12/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FreeRADIUS 测试环境搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
AAA服務器和RADIUS協議 AAA(Authentication,Authorization,Accounting)驗證,授權,記賬。AAA服務器主要功能是:哪些用戶具有訪問權限,具有訪問權限的用戶 又可以訪問哪些服務,對用戶正在使用的網絡資源進行計賬。 RADIUS(Remote Authentication Dial In User Service)協議是唯一的AAA標準。RADIUS協議是基于UDP的一種客戶機/服務器協議。RADIUS客戶機是網絡訪問服務器,它通常是一個路由器,交換機或者無線訪問點。RADIUS服務器通常是運行在linux或Windows服務器上的一個監護程序。 RADIUS協議的認證端口是1812,記賬端口是1813。 RADIUS協議的特點: 1. Client/Server模式 RADIUS協議是C/S結構協議,客戶端是把用戶信息傳遞給RADIUS服務器,并負責執行返回的響應。 RADIUS服務器負責接受用戶的請求,對用戶身份進行認證,并為客戶端返回所有為用戶提供服務所必須的配置信息。RADIUS服務器可以為其他的RADIUS Server擔當代理。 2. 網絡安全 客戶端和RADIUS服務器之間的交互經過共享密鑰認證,另外避免有人在網絡上監聽獲取用戶密碼,客戶端和服務器之前的任何的通信都是經過加密后傳輸的。? ?3. 認證機制 RADIUS服務器可以采用多種認證方式鑒別用戶的合法性,當用戶提供了用戶名密碼后,RADIUS服務器可以支持點對點的PAP認證(PPP PAP),點對點的CHAP認證(PPP CHAP),UNIX的登陸操作(UNIX Login)和其他認證機制。 RADIUS的工作過程: 1. 用戶輸入用戶名密碼等信息到客戶端 2. 客戶端產生一個接入請求報文到RADIUS服務器,其中包含了用戶名,密碼,客戶端ID和用戶訪問端口的ID,密碼都是經過MD5加密的。 3. RADIUS服務器對用戶進行認證 4. 如果認證成功,RADIUS服務器想客戶端發送允許接入包,否則就發送拒絕接入包。 5. 若客戶端接受到允許接入包,則為用戶建立連接,對用戶進行授權和提供服務;若接受到拒絕接入包,則拒絕用戶接入請求。 6. 客戶端發送計費請求給RADIUS服務器 7. RADIUS服務器接受到計費請求包后開始計費,并向客戶端回送開始計費的響應包。 8. 用戶斷開連接,客戶端發送停止計費包給RADIUS服務器 9. RADIUS服務器接收到停止計費包后停止計費,并向客戶端發送停止計費響應包,完成該用戶的一次計費,記錄計費信息。 Freeradius的安裝配置 Freeradius是開源免費并完全兼容RADIUS協議的RADIUS服務器和客戶端軟件,可以用它對用戶的接入和訪問特定的網絡進行有效的控制,授權,計費等等,它支持多種驗證,包括文件,LDAP,數據庫等等。 測試環境: 192.168.2.97 ?freeradius server 192.168.2.226 ?test.com(域服務器) 192.168.2.110 ? 測試client 配置hosts文件,freeradius測試時需要解析主機名 192.168.2.226 ? ?test.com 192.168.2.97 ? ? freeradius.test.com 修改freeradius的主機名 [root@lamp ~]# vim /etc/sysconfig/network HOSTNAME=freeradius.test.com Freeradius與AD結合需要用的組件有freeradius,samba,krb5-server,直接yum安裝以上組件即可,安裝samba??krb5-server?freeradius2??freeradius2-util?
  • [root@lamp?~]#?yum?install?samba?krb5-server??freeradius2??freeradius2-utils?
  • 設置samba作為AD溝通的橋梁


  • [root@lamp?~]#?vim?/etc/samba/smb.conf?
  • [global]?
  • workgroup?=?test????#指定AD域的netbios名稱,即test.COM的前面部分?
  • realm?=?test.com????#指定AD域名?
  • netbios?name?=??freeradius??#freeradius服務器的主機名?
  • security?=?ads??#指定samba的工作模式為ads?
  • password?server?=?testtest.test.com??#指定擔當身份驗證的服務器?
  • winbind?separator?=?+?????#?指定一個字符作為分隔符,winbind將使用該分隔符來用戶或組名。使用該配置將使得域用戶表示為"MYDOMAIN+username",域組被表示為"MYDOMAIN+Domain?Users"?
  • idmap?uid?=?10000-20000??????#寫入域賬戶的uid、gid的范圍,該范圍是將linux用戶,組的ID映射到Windows用戶的SID,所以需要確保該段的沒有被使用,當winbind啟動后也不能在該段建立用戶?
  • idmap?gid?=?10000-20000?
  • winbind?enum?users?=?yes?????#指定winbind服務是否能在系統上創建Windows域用戶。一般情況下都要設置為yes,除非你處于某種原因希望關閉該功能?
  • winbind?enum?groups?=?yes?
  • nt?acl?support?=?yes?????#nt?acl?支持?
  • winbind?cache?time?=?0?
  • template?shell?=?/bin/bash?
  • template?homedir?=?/home/%D/%U???#?用來指定為域用戶產生主目錄。使用變量替換可使winbind服務把用戶主目錄設置為/homes/MYDOMAIN/username?
  • winbind?use?default?domain?=yes?
  • [homes]?
  • comment?=?Home?Directories?
  • path?=?/home/%D/%U?
  • browseable?=?no?
  • writable?=?yes?
  • ?
  • valid?users?=?%U?
  • ? 修改系統帳號驗證

  • [root@freeradius?~]#?vim?/etc/nsswitch.conf?
  • passwd:?????files???????winbind?
  • shadow:?????files???????winbind?
  • ?
  • group:??????files???????winbind?
  • 設置kerberos認證機制

  • [root@lamp?~]#?vim?/etc/krb5.conf?
  • [libdefaults]?
  • ?default_realm?=?test.COM???#指定默認域名?
  • ?dns_lookup_realm?=?false???#無需dns解析域請求包?
  • ?dns_lookup_kdc?=?false??#是否解析kdc請求報?
  • ?ticket_lifetime?=?24h???#指定kerberos票據有效日期?
  • ?forwardable?=?yes???#允許轉發解析請求?
  • [realms]?
  • ?test.COM?=?{?
  • ??kdc?=?testtest.test.com:88?????#指定KDC服務器和KDC服務器的端口?
  • ??admin_server?=?testtest.test.com:749??#指定域控制器和管理端口?
  • ??default_domain?=?test.com??#指定默認域?
  • ?}?
  • [domain_realm]?
  • ?.example.com?=?EXAMPLE.COM?
  • ?
  • ?example.com?=?test.COM??#設置域的搜索范圍,使得域大小寫無關?
  • 設置kdc配置

  • [root@lamp?~]#?vim?/var/kerberos/krb5kdc/kdc.conf?
  • [realms]?
  • ?test.COM?=?{?
  • ??#master_key_type?=?des3-hmac-sha1?
  • ??acl_file?=?/var/kerberos/krb5kdc/kadm5.acl?
  • ??dict_file?=?/usr/share/dict/words?
  • ??admin_keytab?=?/var/kerberos/krb5kdc/kadm5.keytab?
  • ??supported_enctypes?=?aes256-cts:normal?aes128-cts:normal?des3-hmac-sha1:normal?arcfour-hm?
  • ac:normal?des-hmac-sha1:normal?des-cbc-md5:normal?des-cbc-crc:normal?des-cbc-crc:v4?des-cbc?
  • -crc:afs3?
  • ?
  • ?}?
  • 測試samba與kdc是否可以正常通信

  • [root@lamp?~]#?kinit??administrator@test.COM?
  • ?
  • Password?for?administrator@test.COM:?
  • ??
  • 如果沒有什么報錯就說明通信正常。 將freeradius?server加入到域中

  • [root@freeradius?~]#?/etc/init.d/smb?start?
  • Starting?SMB?services:?????????????????????????????????????[??OK??]?
  • Starting?NMB?services:?????????????????????????????????????[??OK??]?
  • [root@freeradius?~]#?chkconfig??smb?on?
  • [root@freeradius?~]#?chkconfig?winbind?on?
  • ?
  • [root@freeradius?~]#?service??winbind?restart?
  • 加入域

  • [root@freeradius?~]#?net?rpc?join???-U?administrator???????????
  • Password:?
  • ?
  • Joined?domain?test.?
  • 測試是否同步域帳號

    檢查rpc鏈接是否成功

  • [root@freeradius?~]#?wbinfo?-t?
  • ?
  • checking?the?trust?secret?via?RPC?calls?succeeded?
  • ? 獲取用戶信息

  • [root@freeradius?~]#?wbinfo?-u?
  • administrator?
  • guest?
  • krbtgt?
  • ddclic?
  • test01?
  • test02
  • 獲取組信息

  • [root@freeradius?~]#?wbinfo?-g?
  • BUILTIN+administrators?
  • BUILTIN+users?
  • domain?computers?
  • domain?controllers?
  • schema?admins?
  • ?
  • enterprise?admins?
  • 查看密碼是否獲取成功

  • [root@freeradius?~]#?getent??passwd?
  • test1:*:10033:10008:test1:/home/test/test1:/bin/bash?
  • test2:*:10034:10008:test2:/home/test/test2:/bin/bash?
  • test3:*:10035:10008:test3:/home/test/test3:/bin/bash?
  • test4:*:10036:10008:test4:/home/test/test4:/bin/bash?
  • ?
  • test5:*:10037:10008:test5:/home/test/test5:/bin/bash?
  • ?
  • ntlm_auth測試驗證是否成功

  • ?
  • [root@freeradius?~]#?ntlm_auth?--request-nt-key?--domain=test.com?--username=test?--password='123456'?
  • ?
  • 安裝配置freeradius

    加入ntlm_auth驗證到freeradius

  • [root@freeradius?~]#?vim?/etc/raddb/modules/ntlm_auth?
  • exec?ntlm_auth?{?
  • ????????wait?=?yes?
  • ????????program?=?"/usr/bin/ntlm_auth?--request-nt-key?--domain=test.COM?--username=%{mschap?
  • :User-Name}?--password=%{User-Password}"?
  • ?
  • }?}?
  • 修改freeradius驗證機制

  • [root@freeradius?~]#?vim?/etc/raddb/sites-enabled/default?
  • authenticate?{?
  • ????????ntlm_auth?
  • }?
  • [root@freeradius?~]#?vim?/etc/raddb/sites-enabled/inner-tunnel?
  • authenticate?{?
  • ????????ntlm_auth?
  • ?
  • }?
  • 修改users

  • [root@freeradius?~]#?vim?/etc/raddb/users?
  • ?
  • DEFAULT?Auth-Type?=?ntlm_auth?
  • ?

    修改策略

  • [root@freeradius?~]#?vim?/etc/raddb/policy.conf?
  • policy?{?
  • ????#?Give?the?ntlm_auth?exec?module?an?"authorize"?method?that?sets?Auth-Type?to?itself?
  • ????#?but?only?if?it's?a?valid?PAP?request,?and?Auth-Type?is?not?already?set?to?something?
  • ????ntlm_auth.authorize?{?
  • ????????if?(!control:Auth-Type?&&?User-Password)?{?
  • ????????????update?control?{?
  • ???????????????Auth-Type?:=?ntlm_auth?
  • ????????????}?
  • ????????}?
  • ????}?
  • ?
  • }?
  • 測試freeradius帳號驗證機制

  • [root@freeradius?~]#?radiusd?–X?
  • [root@freeradius?~]#?radtest??test?'123456'?localhost?0?testing123?
  • Sending?Access-Request?of?id?48?to?127.0.0.1?port?1812?
  • ????????User-Name?=?"test"?
  • ????????User-Password?=?"123456"?
  • ????????NAS-IP-Address?=?192.168.2.97?
  • ????????NAS-Port?=?0?
  • ????????Message-Authenticator?=?0x00000000000000000000000000000000?
  • ?
  • rad_recv:?Access-Reject?packet?from?host?127.0.0.1?port?1812,?id=48,?length=20?
  • ?
  • 配置使用ntlm_auth做MS_CHAP認證

    刪除users中的test進入點

  • [root@freeradius?~]#?vim?/etc/raddb/users?
  • ?
  • #DEFAULT?Auth-Type?=?ntlm_auth?
  • ?
  • 編輯mschap模塊

  • [root@freeradius?~]#?vim?/etc/raddb/modules/mschap?
  • ntlm_auth?=?"/usr/bin/ntlm_auth?--request-nt-key?--username=%{mschap:User-Name:-None}?--domain=%{%{mschap:NT-Domain}:-test.COM}?--challenge=%{%{mschap:Challenge}:-00}?--n?
  • ?
  • t-response=%{%{mschap:NT-Response}:-00}"?
  • ?
  • 測試

  • [root@freeradius?~]#?radtest??-t?mschap??test?'123456'?localhost?0?testing123??????????
  • Sending?Access-Request?of?id?127?to?127.0.0.1?port?1812?
  • ????????User-Name?=?"test"?
  • ????????NAS-IP-Address?=?192.168.2.97?
  • ????????NAS-Port?=?0?
  • ????????Message-Authenticator?=?0x00000000000000000000000000000000?
  • ????????MS-CHAP-Challenge?=?0x0f1ec04f5f7f3ec2?
  • ????????MS-CHAP-Response?=?0x000100000000000000000000000000000000000000000000000085c8068f30dcb423d1e6f7ed5db18b53a1d321ceb8f2266c?
  • rad_recv:?Access-Reject?packet?from?host?127.0.0.1?port?1812,?id=127,?length=38?
  • ?
  • ????????MS-CHAP-Error?=?"\000E=691?R=1"?
  • ?
  • 報錯:

    ?
  • Exec-Program?output:?winbind?client?not?authorized?to?use?winbindd_pam_auth_crap.?Ensure?permissions?on?/var/cache/samba/winbindd_privileged?are?set?correctly.?(0xc0000022)??
  • ?
  • Exec-Program-Wait:?plaintext:?winbind?client?not?authorized?to?use?winbindd_pam_auth_crap.?Ensure?permissions?on?/var/cache/samba/winbindd_privileged?are?set?correctly.?(0xc0000022)?
  • ?
  • 解決辦法:

  • [root@freeradius?~]#?cd?/var/cache/samba/?
  • [root@freeradius?samba]#?chown??-R??root.radiusd??winbindd_privileged/?
  • [root@freeradius?samba]#?service??winbind?restart?
  • Shutting?down?Winbind?services:????????????????????????????[??OK??]?
  • Starting?Winbind?services:?????????????????????????????????[??OK??]?
  • ?
  • [root@freeradius?~]#?radiusd?–X?
  • ?
  • 再次測試

  • [root@freeradius?samba]#?radtest??-t?mschap??test?'123456'?localhost?0?testing123?
  • Sending?Access-Request?of?id?231?to?127.0.0.1?port?1812?
  • ????????User-Name?=?"test"?
  • ????????NAS-IP-Address?=?192.168.2.97?
  • ????????NAS-Port?=?0?
  • ????????Message-Authenticator?=?0x00000000000000000000000000000000?
  • ????????MS-CHAP-Challenge?=?0x58a8d7e945e9ed8f?
  • ????????MS-CHAP-Response?=?0x00010000000000000000000000000000000000000000000000000fcd072553b1813344cbe6d3fc3fe5e1ecbf853eaf5a4a03?
  • rad_recv:?Access-Accept?packet?from?host?127.0.0.1?port?1812,?id=231,?length=84?
  • ????????MS-CHAP-MPPE-Keys?=?0x0000000000000000c2bea7b13efd39e82dcd04478fb185370000000000000000?
  • ????????MS-MPPE-Encryption-Policy?=?0x00000001?
  • ?
  • ????????MS-MPPE-Encryption-Types?=?0x00000006









  • 本文轉自 waydee 51CTO博客,原文鏈接:http://blog.51cto.com/waydee/1103942,如需轉載請自行聯系原作者

    總結

    以上是生活随笔為你收集整理的FreeRADIUS 测试环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。