freeipa 客户端 Kerberos认证 SSSD关系

article/2025/10/30 14:53:12

参考资料:

Documentation - FreeIPA

Kerberos - FreeIPA

SSSD Architecture - sssd.io

Password management — MIT Kerberos Documentation

https://posts.specterops.io/attacking-freeipa-part-i-authentication-77e73d837d6a

freeIPA中kerberos跟LDAP是怎么交互的?

kerberos跟LDAP二者之间的连接是ldapi:///var/run/xxxxIEEVEE-COM.socket这种形式,具体代码可以参见

ipadb_realm_to_ldapi_uri和ipadb_get_connection。

LDAPI使用了IPC通信,通过slapd-xx.socket允许不同进程间通信,相关信息可以参考RedHat的介绍。LDAPI方式比普通LDAP更快,更安全。

Kerberos

Kerberos

The Kerberos KDC/Kadmin components are implemented using theMIT Kerberossoftware. It provides authentication services for the entire FreeIPA realm, it's users services and other components. Kerberos server is one of the base stones of a FreeIPA server.

How it works

When you runkinitcommand you invoke a client that connects to the Kerberos server, called KDC. As a result of the authentication the client receives a ticket. This ticket is a temporary pass or better say a pass-book. The best example from the real life will a be pass to a movie festival. A pass to such festival would allow someone to attend different movies at their discretion. Kerberos is very similar. When user tries to access some kind of resource protected by Kerberos the resource requires the user to present a valid ticket – same as with the movies.

To get such a ticket the user needs to prove that he is who he is. Asking user to authenticate with his password all the time might be too annoying and hard to manage. This is why there is a multi tier process. First user authenticates and gets so calledTGT(ticket granting ticket). This ticket can be presented to Kerberos server at any moment and a new ticket specific to the resource the user wants to access can be acquired. All the tickets have a configurable expiration time (runipa help krbtpolicyto get more information) so user needs to re-authenticate from time to time but it is much less of a burden.

When SSSD project is used, the ticket is get for a user automatically as he authenticates to client machine.

当使用SSSD项目时,用户向客户端计算机进行身份验证时,会自动为其获取票据。

Data

MIT Kerberos KDC server reads all the user and service identity information from aDirectory Server. FreeIPA implements an own ipa-kdb KDC data backend implementation reading and writing all the required information to LDAP tree. The provides both basic identity retrieval function, but also more advanced features, like verifying, signing and producing Kerberos ticket MS-PAC extension whenTrustsare in place.

Kerberos为整个FreeIPA领域、用户服务和其他组件提供身份验证服务。it is one of base stones of a FreeIPA server.

在FreeIPA server中,389服务负责存储Kerberos的数据。

SSSD负责在客户端自动获取、缓存服务信息。

SSSD

SSSD的主要目的是将远程数据库中的数据存储在本地缓存中,然后将这些数据提供给目标用户(应用程序)。使缓存保持最新和有效是一项困难的任务,要做到这一点,SSSD由多个组件(进程和库)组成,这些组件通过各种进程间通信技术相互通信。下面的图表让您对组件及其关系有一个基本的了解。下图对组件进行了更详细的描述。

BACKENDS 后端是写入本地缓存的唯一组件。


缓存查找

SSSD能够缓存许多对象类型,例如用户和组,但也可以缓存soutofs映射、sudo规则、SSH密钥等等。请求数据时执行缓存查找。查找是通过统一的cacheinterface执行的,因此,无论对象类型如何,所有查找都共享基本算法。下面的图表可以让您基本了解lookup是如何执行的。


Kerberos专用术语

身份验证服务器(AS)

一种服务器,它为所需的服务发出票证,然后将票证交给用户访问该服务。AS响应来自没有或没有随请求一起发送凭据的客户端的请求。它通常用于通过发出票证授予票证(TGT)来访问票证授予服务器(TGS)服务。AS通常与密钥分发中心(KDC)在同一主机上运行。

ciphertext 密文

加密数据。

client 客户

网络上可以从Kerberos接收票证的实体(用户、主机或应用程序)。

credentials 资格证书

一组临时的电子凭证,用于验证特定服务的客户端的身份。也叫罚单。

credential cache or ticket file 凭证缓存或票证文件

一种文件,其中包含加密用户与各种网络服务之间通信的密钥。Kerberos 5支持使用其他缓存类型(如共享内存)的框架,但更全面地支持文件。

crypt hash 加密哈希

用于验证用户身份的单向哈希。它们比使用未加密的数据更安全,但对于经验丰富的解密者来说,它们仍然相对容易解密。

GSS-API Generic Security Service Application Program Interface

通用安全服务应用程序接口(定义见互联网工程任务组发布的RFC-2743)是一组提供安全服务的功能。客户机和服务使用此API相互验证,而无需任何一个程序对底层机制有特定的了解。如果网络服务(如cyrus IMAP)使用GSS-API,则可以使用Kerberos进行身份验证。

hash

也称为哈希值。通过哈希函数传递字符串而生成的值。这些值通常用于确保传输的数据未被篡改。

hash function 散列函数

从输入数据生成数字“指纹”的一种方法。这些函数重新排列、转置或以其他方式更改数据以生成哈希值。

key 钥匙

加密或解密其他数据时使用的数据。加密的数据不能解密没有适当的密钥或一个非常好的运气的一部分解密。

key distribution center 密钥分发中心(KDC)

发出Kerberos票证的服务,通常与票证授予服务器(TGS)在同一主机上运行。

keytab (or key table)

包含未加密的主体及其密钥列表的文件。他们需要使用keykintab而不是使用keykintab从服务器检索文件。默认的keytab文件是 /etc/krb5.keytab。KDC管理服务器, /usr/kerberos/sbin/kadmind,是唯一使用任何其他文件的服务(它使用/var/kerberos/krb5kdc/kadm5.keytab ).

kinit

kinit命令允许已经登录的主体获取并缓存初始票证授予票证(TGT)。有关更多信息,请参阅kinit手册页。

principal (or principal name) 委托人(或委托人姓名)

主体是允许使用Kerberos进行身份验证的用户或服务的唯一名称。 遵循表格根[/instance]@领域。对于典型用户,根目录与其登录ID相同。实例是可选的。如果主体有一个实例,则用正斜杠(“/”)将其与根分隔开。空字符串(“”)被视为有效实例(这与默认的空实例不同),但使用它可能会令人困惑。一个领域中的所有主体都有自己的密钥,对于用户来说,密钥是从密码中派生出来的,或者是为服务随机设置的。

realm 领域

一种使用Kerberos的网络,由一个或多个称为KDCs的服务器和大量的客户机组成。

service 服务

通过网络访问的程序。

ticket 票

一组临时的电子凭证,用于验证特定服务的客户端的身份。也称为凭证。

ticket-granting server (TGS) 票证授予服务器(TGS)

一种服务器,它为所需的服务发出票证,然后将票证交给用户访问该服务。TGS通常与KDC运行在同一主机上。

ticket-granting ticket (TGT) 授权票(TGT)

一种特殊的票证,允许客户机在不从KDC申请的情况下获得额外的票证。

unencrypted password 未加密密码

一个纯文本,人类可读的密码。



http://chatgpt.dhexx.cn/article/mF7xnOw3.shtml

相关文章

集成OpenLDAP与Kerberos实现统一认证(二):基于SSSD同步LDAP账号

文章目录 1. 写作背景2. 既定目标3. 工作原理4. 安装操作4.1 创建SSSD的Bind DN4.2 安装软件包4.3 使用authconfig配置SSSD4.4 其他必要配置项4.5 配置SSH4.6 重启服务4.7 登录验证 附录:常见错误 1. 写作背景 写作本系列文章的背景是我们要在大数据平台/企业数据湖…

从网易云、QQ音乐下载音乐

声明:对于热爱音乐的人,还是要支持作者,通过付费购买正版音乐,这样作者才有动力创造更好的音乐给大家。 这种方法下载音乐可能很多人都知道了,但可能还有一些小伙伴不知道,所以在这里分享一下。 1.打开火狐…

3分钟下载好网易云付费音乐

学习笔记 下载网易云付费音乐 无需编程,三分钟下载好你想听的付费音乐,比如下载李荣浩的《不将就》: 第一步: 打开网址:不将就 第二步: 按直接按F12快捷键,如下图 。点击控制台的Network&…

网易云音乐产品体验报告

一、体验环境 体验产品 网易云音乐 软件版本 V5.8.2 手机系统 iOS 14.1 体验时间 2021-2-6 体验人 普翩 二、产品定位 slogan:音乐的力量 产品定位:音乐社交 三、用户需求分析 3.1.用户画像 用户性别比例图3.1 用户城市分布图3.2 用户兴趣分…

付费率第一 亏损显著收窄 网易云音乐将实现盈利?

网易云音乐即将登陆港交所。 8 月 1 日,香港联交所网站显示,网易云音乐已正式通过港交所上市聆讯,并披露了聆讯后资料集。 招股文件显示, 2018 年— 2020 年网易云音乐营收分别为11. 48 亿元、23. 18 亿元、48. 96 亿元&#xff…

尚硅谷微信小程序开发 仿网易云音乐App 小程序 后端接口服务器搭建

目录 小程序学习 视频相关的教程文档与笔记分享 配套服务器 源码地址: 接口使用说明文档 接口列表 启动服务 测试服务启动OK网页 http://localhost:3000/test.html​编辑 Postman测试服务器接口 postman配置 服务ip地址全局变量 ​编辑选择全局变量 登录…

网易云解析接口PHP源码,网易云音乐直链解析API源代码^-^

前盐 网易云网页版自带 API,但是点击字后会自动跳转到 mp3 资源播放,这样很不屌.于是咱们就封装一个吧. API 网易云的 API 为 我这个主题会把网易云的音乐链接自动变成 MP3 所以弄个图片 歌曲 ID 是什么?呐,就是这个. 源码 新建个 PHP 文件. $id = @$_GET[id]; if (empty($id)…

JAVA代码实现下载解析网易云音乐到本地电脑的demo示例

1.PC浏览器打开网易云音乐官网&#xff0c;搜索你想要下载的歌曲名称或者歌手姓名 2.点开你要下载歌曲&#xff0c;进入播放页&#xff0c;从浏览器地址栏里获得歌曲的songID。 3.pom文件引入依赖 <!-- hutool工具类--><dependency><groupId>cn.hutool</…

python爬取付费音乐包_用Python代码来下载任意指定网易云歌曲(超详细版)

前两天教了大家如何在控制台上找到真实的mp3播放地址,但是不可以下载付费的,因为只能下载可播放的歌曲。至于怎样下载付费网易云音乐,还是开个会员吧,要知道免费是最贵的的这个道理。 有粉丝看了前两天文章想用代码来装逼,我就为了满足他,特意去折腾了两天,终于写出来了…

电脑网易云音乐,网易云音乐的橄榄枝来了?

作为舒缓压力、愉悦身心的方式之一&#xff0c;音乐在人们的生活中扮演着越来越重要的角色。据艾媒咨询数据显示&#xff0c;2020年中国的手机音乐客户端用户规模达到6.18亿人&#xff0c;数字音乐市场规模也呈快速增长态势&#xff0c;预计到2022年将会达到482.7亿元。 市场规…

网易云音乐转码_网易云音乐产品分析报告

【网易云音乐】产品分析报告 产品基本信息 产品名称 网易云音乐 产品版本 Android V6.4.5 体验环境 Android 6.0.1 体验时间 2019.11.3 体验者 suing 二.市场背景 1.行业背景&#xff1a; 根据《第44次中国互联网络发展状况统计报告》调查显示&#xff0c;截止2019年6月&#…

三步教你手动破解网易云音乐加密

文章目录 第一步 缓存歌曲第二步 找到文件第三步 解密文件 第一步 缓存歌曲 首先打开网易云音乐随便缓存一首需要付费下载的歌曲 比如这一首 如果你想要下载是需要付费的 第二步 找到文件 点开设置->下载设置 找到缓存目录 按照修改日期排序 找到符合修改时间的那一项 后缀…

网易云音乐android变臃肿,网易云音乐,你变成了我最讨厌的模样

原标题:网易云音乐,你变成了我最讨厌的模样 今天,我卸载了网易云音乐,这个我用了4年的音乐app。虽然我曾经很喜欢用网易云,但现在真的是“累觉不爱”了。 你问我为什么卸载? 是的,网易云音乐下架了我伦的所有歌曲,但这只是其中的一个原因,更重要的原因是,网易云在没有…

网易云音乐服务器code521,宝塔面板部署网易云音乐无版权服务器

项目的原理介绍 我们听歌的时候是从网络上获取资源的&#xff0c;大部分情况下&#xff0c;网络资源都是一个链接。 网易云大部分歌曲的链接是music.163.com或者interface.music.163.com&#xff0c;在获取资源的时候识别到是无版权或者是付费歌曲&#xff0c;就会从其他音乐平…

在 Mac 端获取【网易云音乐】付费音乐的播放地址(注意下载要坚决支持正版!)

在网易云音乐下载付费音乐&#xff0c;如果你是未付费人员会弹出如下的提示&#xff1a; 出于好奇&#xff0c;感觉音乐既然已经能够试听肯定是有有效的下载地址&#xff0c;只是在下载的时候做了权限判断&#xff0c;既然有地址那怎么去获取呢&#xff1f; 首先查看下 云音乐 …

java 爬虫 抓取 网易云音乐

大家好&#xff0c;我是烤鸭&#xff1a; 今天和大家交流一下爬虫&#xff0c;抓取网易云音乐。只讨论技术&#xff0c;不提倡其他的。 1. 找音乐源地址 谷歌浏览器 F12 &#xff0c;找请求类型是 Media的。 2. 找请求链接 切换请求类型到 All&#xff0c;看 Respons…

网易云音乐linux版_全线下架:网易云音乐难解的困境

文丨锌刻度记者 许伟 编辑|杨靖怡 1.体验也好、功能也罢,音乐资源始终才是平台留住用户的根本。 2.网易云音乐曾经尝试从直播和社交双向出发,探索从侧面再次突围的可能性。 3.对于网易云音乐来说,唯有加大版权购买力度才能保持竞争优势,但这意味着更高的成本。 6月29日,网…

UDS知识整理(二):UDS诊断服务简介

本文参考自&#xff1a;ISO/DIS 14229-1&#xff08;2011&#xff09; 一、USD服务简介 根据手册可分为以下几种功能单元 诊断和通信管理功能单元数据传输功能单元存储数据传输功能单元输入输出控制功能单元远程激活常规功能单元上传下载功能单元 Diagnostic and Communicat…

【UDS诊断服务入门】

UDS诊断入门 写在前面&#xff1a;UDS实践性强&#xff0c;逻辑复杂&#xff0c;很多服务非要体验过一次才能理解&#xff0c;导致包括我在内的初学者感觉晦涩难懂&#xff0c;不明觉厉&#xff0c;因此将自己的理解写下来、整理下来&#xff0c;与君共勉。 1备忘录 2.UDS定义…

AUTOSAR--UDS诊断报文

这里写目录标题 一、UDS介绍1.1 UDS数据交互简介1.2 UDS的7种常用服务 二、UDS 26种服务2.1 $10诊断会话控制2.1.2 上电后的情况2.1.3 四种报文类型 2.2 $3E待机握手2.3 $27安全访问 前言&#xff1a;重点学习ISO 15765-2和ISO 14229-1的协议内容&#xff0c;之后可以将Git上的…