iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何使用FreeRadius +LDAP实现验证功能
  • 225
分享到

如何使用FreeRadius +LDAP实现验证功能

2023-06-03 05:06:53 225人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关如何使用FreeRadius +LDAP实现验证功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。------ LDAP 的部份 ---------  首先,當然是要

这篇文章将为大家详细讲解有关如何使用FreeRadius +LDAP实现验证功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

------ LDAP 的部份 ---------  
首先,當然是要一個完整、可以提供服務的LDAP系統,怎麼建置請參考小弟的筆記,在此就不多提了。  

以小弟的環境為例,我的使用者 ldif 長得像下面這樣:代碼:  
# extended LDIF  
#  
# LDAPv3  
# base

with scope sub  
# filter: uid=radiususer  
# requesting: ALL  
#  

# radiususer, People, Study-area.org  
dn: uid=radiususer,ou=People,o=Study-area.org  
uid: radiususer  
cn: radiususer  
objectClass: account  
objectClass: posixAccount  
objectClass: top  
userPassWord:: e2NyeXB0fU1EdTdVYlVZalVGQ0k=  
uidNumber: 10070  
gidNumber: 10002  
homeDirectory: /home/radiususer  
loginshell: /bin/bash  

在這邊要特別注意的是,我之前裡面有多定義一個 objectClass ,反而造成系統無法認證,該 objectClass 如下:代碼:  
objectClass: shadowAccount  
有這個就會引發下面這個錯誤,可以在/var/log/radius/radius.log :代碼:  
Fri Sep  1 09:03:16 2006 : Auth: rlm_unix: [radiususer]: invalid password  



--------- radius server 部份 ----------  

基本上,如果你在 Centos 4.3 裡面,只要用以下命令安裝即可:代碼:  
yum install freeradius  
,我之前有在 Fedora Core 4 上面安裝,結果發現少了一個重要的lib,rlm_ldap.so,所以最好在你安裝 FreeRadius 之後檢查一下:代碼:  
find / -name rlm_ldap.so  


在確認以上該有的環境與函式庫都具備之後,我們接著修改下面的幾個部份:  

在 radius.conf 部份引言回覆:  
代碼:  
       ldap {  
               server = "127.0.0.1"  
               identity = "cn=admin,o=My Org,c=UA"  
               password = mypass  
               basedn = "o=People,o=Study-area.org"  
               filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"  
               access_attr = "people"  
               dictionary_mapping = ${raddbdir}/ldap.attrmap  
               ldap_connections_number = 5  
               password_attribute = userPassword  
}  
上面各個設定應該很清楚,小弟就不多說明了。  

在 authorize 區塊裡面,記得開啟 LDAP 認證:代碼:  
authorize {  
ldap  
}  

代碼:  
authenticate {  
       Auth-Type LDAP {  
               ldap  
       }  
}  
注意,以上這兩個區塊裡面,LDAP功能預設都是關閉的,必須自己開啟!  





clients.conf引言回覆:  
再來,在 clients.conf 裡面的設定,找個地方新增認證子機的設定(以下內容,為原始的設定範例,此地僅用來說明與講解):代碼:  
client 192.168.0.0/16 {  
      secret          = testing123-2  
      shortname       = private-network-2  
}  
這個區塊裡面,我們定義了,在 192.168.x.x 這整個網段裡面,子機驗證用的密碼為testing123-2,還有用來形容的稱呼為private-network-2。其中,密碼很重要,因為等等會用到。  
 



proxy.conf引用:此外,還需要設定 proxy.conf ,用來對應「網域」帳號的部份:代碼:  
realm NULL {  
      type        = radius  
      authhost    = LOCAL  
      accthost    = LOCAL  
      nostrip  
}  

realm study-area.org {  
       type    = radius  
       authhost = LOCAL  
       accthost = LOCAL  
}  
 
在這裡,我設定了兩個部份。一個是帳號名稱不帶「網域」的,也就是例如 radiususer 這樣的帳號;另外一個,study-area.org 的部份,就是讓使用者所輸入的帳號,看起來像這樣子 [email]radius@study-area.org[/email]。  





等這些設定完成之後,我們啟動 FreeRadius 服務,然後用下面的指令來檢查一下是否可以透過 ldap 來完成帳號驗證功能:代碼:  
radtest username  userPassword Radius-Server_IP 0  secret-password  
要特別注意的是,在Radius-Server_IP 後面那個 0,是數字;在其後的 secret-password 是我們在 clients.conf 裡面設定的,子機驗證用的密碼。我先前在網路上找到的文章,很多在這部份都有錯誤的範例。  



如果一切順利,就會輸出這樣的畫面:代碼:  
# radtest radiususer radius-password localhost 0 testing123-2  
Sending Access-Request of id 53 to 127.0.0.1:1812  
       User-Name = "radiususer"  
       User-Password = "radius-password"  
       NAS-IP-Address = Machine-name  
       NAS-Port = 0  
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=53, length=20  
 


如果是子機驗證用的密碼錯誤,則會輸出以下的資訊:代碼:  
radtest radiususer radius-password localhost 0 testing123-2  
Sending Access-Request of id 6 to 127.0.0.1:1812  
       User-Name = "radiususer"  
       User-Password = "radius-password"  
       NAS-IP-Address = machine-name  
       NAS-Port = 0  
Re-sending Access-Request of id 6 to 127.0.0.1:1812  
       User-Name = "radiususer"  
       User-Password = "200px27347315pz222Y314U026434333"  
       NAS-IP-Address = machine-name  
       NAS-Port = 0  
rad_recv: Access-Reject packet from host 127.0.0.1:1812, id=6, length=20  
rad_decode: Received Access-Reject packet from 127.0.0.1:1812 with invalid signature (err=2)!  (Shared secret is incorrect.)  

关于“如何使用FreeRadius +LDAP实现验证功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 如何使用FreeRadius +LDAP实现验证功能

本文链接: https://www.lsjlt.com/news/233164.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用FreeRadius +LDAP实现验证功能
    这篇文章将为大家详细讲解有关如何使用FreeRadius +LDAP实现验证功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。------ LDAP 的部份 ---------  首先,當然是要...
    99+
    2023-06-03
  • 如何使用JavaScript实现滑块验证功能
    这篇文章将为大家详细讲解有关如何使用JavaScript实现滑块验证功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下<!DOCTYPE html><html&nb...
    99+
    2023-06-26
  • Ajax+Struts2如何实现验证码验证功能
    这篇文章主要为大家展示了“Ajax+Struts2如何实现验证码验证功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax+Struts2如何实现验证码验证...
    99+
    2024-04-02
  • SpringBoot如何使用Kaptcha实现验证码的生成与验证功能
    本篇内容主要讲解“SpringBoot如何使用Kaptcha实现验证码的生成与验证功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot如何使用Kaptcha实现验证码的生成与验...
    99+
    2023-07-05
  • 如何使用androidx BiometricPrompt实现指纹验证功能
    本篇内容介绍了“如何使用androidx BiometricPrompt实现指纹验证功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!and...
    99+
    2023-06-20
  • Java如何实现验证码功能
    这篇文章给大家分享的是有关Java如何实现验证码功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、前言      验证码可以说在我们生活中已经非常普遍了,任何...
    99+
    2023-05-30
    java
  • 如何使用PHP和Vue实现数据验证功能
    概述:在开发Web应用程序时,数据验证是一个非常重要的环节,它可以保护我们的应用程序免受无效或恶意输入的影响。本文将介绍如何使用PHP和Vue框架来实现强大的数据验证功能。我们将使用PHP后端来接收和处理前端发送的数据,并使用Vue的表单验...
    99+
    2023-10-21
    VUE PHP 数据验证功能
  • VB.NET如何验证LDAP用户身份
    这篇文章主要为大家展示了“VB.NET如何验证LDAP用户身份”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何验证LDAP用户身份”这篇文章吧。首先,我要讲的LDAP不是微软的Ac...
    99+
    2023-06-17
  • Ajax如何实现表单验证功能
    本篇内容主要讲解“Ajax如何实现表单验证功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ajax如何实现表单验证功能”吧! 兼...
    99+
    2024-04-02
  • Vue如何实现滑动验证功能
    这篇文章主要介绍了Vue如何实现滑动验证功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。用Vue实现滑动验证码,鼠标点击滑动验证,验证成功之后会显示验证通过。程序分析鼠标的...
    99+
    2023-06-29
  • SpringBoot使用Kaptcha实现验证码的生成与验证功能
    当我们在项目中登录使用验证码的时候,不妨试试Kaptcha生成验证码,非常简单 1、首先,我们在pom.xml文件中引入kaptcha的maven依赖 <!-- kaptcha...
    99+
    2023-03-13
    SpringBoot实现Kaptcha验证码 SpringBoot Kaptcha验证码 SpringBoot验证码
  • springbooot使用google验证码的功能实现
    目录springbooot使用google验证码1、使用场景2、springboot使用google验证码1、引入依赖2、编写配置类3、编写控制层4、前端实现springbooot使...
    99+
    2023-05-18
    springbooot google验证码 springbooot 验证码
  • 使用androidx BiometricPrompt实现指纹验证功能
    androidsdk版本大于29之后,使用FingerprintManagerCompat进行指纹验证显示被废弃,FingerprintManagerCompat的使用方法这里不再叙...
    99+
    2024-04-02
  • 短信验证码校验功能如何利用SpringBoot实现
    本篇文章为大家展示了短信验证码校验功能如何利用SpringBoot实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。思路用户输入手机号后,点击按钮获取验证码。并设置冷却时间,防止用户频繁点击。后台生...
    99+
    2023-05-31
    springboot bo
  • Django中使用pillow实现登录验证码功能(带刷新验证码功能)
    首先在项目里建立common目录,编写验证码的函数 verification_code.py import random from PIL import Image, Imag...
    99+
    2024-04-02
  • AngularJS中如何实现表单验证功能
    小编给大家分享一下AngularJS中如何实现表单验证功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  ...
    99+
    2024-04-02
  • ASP.NET如何实现验证码生成功能
    这篇文章给大家分享的是有关ASP.NET如何实现验证码生成功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。作业:验证码要求:(1)验证码应该是图片格式,不能是文字格式,即无法用鼠标选中。(2)验证码上应该有噪点...
    99+
    2023-06-29
  • JS如何实现图片验证码功能
    本篇内容主要讲解“JS如何实现图片验证码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS如何实现图片验证码功能”吧!1. html代码<%@ page langu...
    99+
    2023-06-30
  • java如何实现短信验证码功能
    要在Java中实现短信验证码功能,你可以按照以下步骤进行操作:1. 选择一个可靠的短信服务提供商:首先,你需要选择一个可靠的短信服务...
    99+
    2023-10-21
    java
  • js canvas如何实现滑块验证功能
    本篇内容主要讲解“js canvas如何实现滑块验证功能 ”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js canvas如何实现滑块验证功能 ”吧!滑块验证内容如下话不多说先上代码想用的小伙伴...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作