`

kerberos

阅读更多
 kerberos是由MIT开发的提供网络认证服务的系统,很早就听说过它的大名,但一直没有使用过它。它可用来为网络上的各种server提供认证服务,使得口令不再是以明文方式在网络上传输,并且联接之间通讯是加密的;它和PKI认证的原理不一样,PKI使用公钥体制(不对称密码体制),kerberos基于私钥体制(对称密码体制)。

  本篇文章不打算详细讲解kerberos的工作原理,而是侧重介绍在redhat8.0环境下如何使用kerberos自己提供的Ktelnetd,Krlogind,Krshd来替代传统的telnetd,rlogind,rshd服务,有关kerberos工作的原理可以参考《Kerberos:AN Authentication Services for Computer Networks》。

  安装环境:一台i386机器。

  安装包:krb5-server-1.2.5-6,krb5-workstation-1.2.5-6,krb5-libs-1.2.5-6

  rpm -ivh krb5-libs-1.2.5-6.i386.rpm

  rpm -ivh krb5-server-1.2.5-6.i386.rpm

  rpm -ivh krb5-workstation-1.2.5-6.i386.rpm

  上述要求满足后,我们就可以先配KDC服务器,然后再配Ktelnetd,Krlogind,Krsh服务器,最后就可以使用krb5-workstation提供的telnet,rlogin,rsh来登录这些服务了。下面是安装步骤:

  1、生成kerberos的本地数据库

  kdb5_util create -r EXAMPLE.COM -s

  这个命令用来生成kerberos的本地数据库,包括几个文件:principal,principal.OK,principal.kadm5,principal.kadm5.lock. -r 指定realm(kerberos术语),我们随便取一个叫EXAMPLE.COM.

  2、生成账号

  kerberos用principal(kerberos术语)来表示realm下的一个帐户,表示为primary/instance@realm,举个例子就是username/9.181.92.90@EXAMPLE.COM,这里假设9.181.92.90是你机器的ip地址.

  在数据库中加入管理员帐户:

  /usr/kerberos/sbin/kadmin.local

  kadmin.local: addprinc admin/admin@EXAMPLE.COM

  在数据库中加入用户的帐号:

  kadmin.local: addprinc username/9.181.92.90@EXAMPLE.COM

  在数据库中加入Ktelnetd,Krlogind,Krshd公用的帐号:

  kadmin.local: addprinc -randkey host/9.181.92.90@EXAMPLE.COM

  3、检查/var/kerberos/krb5kdc/kadm5.keytab是否有下列语句:

  */admin@EXAMPLE.COM *

  若没有,那么就添上。

  4、修改/etc/krb5.conf文件,修改所有的realm为EXAMPLE.COM,并且加入下列句子

  kdc = 9.181.92.90:88

  admin_server = 9.181.92.90:749

  5、在/etc/krb.conf中加入下列语句:

  EXAMPLE.COM

  EXAMPLE.COM 9.181.92.90:88

  EXAMPLE.COM 9.181.92.90:749 admin server

  6、启动kdc服务器和Ktelnetd,Krlogind,Krshd

  /etc/init.d/krb5kdc restart

  chkconfig klogin on

  chkconfig kshell on

  chkconfig eklogin on

  chkconfig krb5-telnet on

  /etc/init.d/xinetd restart

  7、制作本地缓存

  将username/9.181.92.90@EXAMPLE.COM的credentials(kerberos术语)取到本地做为cache,这样以后就可以不用重复输入password了。

  kinit username/9.181.92.90

  如果顺利的话,在/tmp下面会生成文件krb5*;这步如果不通,那么就必须检查以上步骤是否有漏。

  可以用klist命令来查看credential。

  8、导出用户密匙

  export host/9.181.92.90@EXAMPLE.COM的key到/etc/krb5.keytab,Ktelnetd、Krlogind和Krshd需要/etc/krb5.keytab来验证username/9.181.92.90的身份。

  kadmin.local: ktadd -k /etc/krb5.keytab host/9.181.92.90

  9、修改~/.k5login文件

  在其中加入username/9.181.92.90@EXAMPLE.COM,表示允许username/9.181.92.90@EXAMPLE.COM登录该帐户

  cat username/9.181.92.90@EXAMPLE.COM >>~/.k5login

  10、测试kerberos客户端

  krsh 9.181.92.90 -k EXAMPLE.COM ls

  krlogin 9.181.92.90 -k EXAMPLE.COM

  rlogin 9.181.92.90 -k EXAMPLE.COM

  rsh 9.181.92.90 -k EXAMPLE.COM

  telnet -x 9.181.92.90 -k EXAMPLE.COM
分享到:
评论

相关推荐

    Kerberos

    【标题】:Kerberos详解 【描述】:Kerberos是一种广泛应用于网络身份验证的安全协议,由麻省理工学院开发。它通过提供强大的加密机制,确保用户在访问网络资源时的身份安全,防止中间人攻击和其他形式的欺诈。...

    Kerberos v5 源代码

    **Kerberos v5 源代码详解** Kerberos v5 是一个广泛使用的网络身份验证协议,由麻省理工学院开发,旨在提供安全的服务,确保网络通信中的身份验证过程。Kerberos v5 的核心理念是通过共享密钥加密技术来验证用户...

    kerberos的java实现

    **Kerberos协议详解** Kerberos是一种网络身份验证协议,由麻省理工学院开发,旨在提供安全的网络服务。它的核心理念是通过共享密钥的方式进行身份验证,确保通信双方的安全交互。Java语言实现的Kerberos允许开发者...

    flink写入带kerberos认证的kudu connector

    当Flink需要与Kudu交互时,Kerberos认证机制的引入是为了增强系统的安全性,防止未授权的访问。本文将详细介绍如何在Flink中配置和使用带Kerberos认证的Kudu Connector。 ### 1. Kerberos认证简介 Kerberos 是一种...

    为hdfs配置kerberos

    "HDFS 配置 Kerberos" 本文档记录了为 Hadoop 的 HDFS 配置 Kerberos 的过程,Hadoop 的版本是 2.4.1。Kerberos 是一种常用的身份验证协议,用于提供安全的身份验证机制。在 Hadoop 中,Kerberos 可以用于 HDFS 和 ...

    kafka 配置kerberos安全认证

    ### Kafka配置Kerberos安全认证详解 #### 一、引言 Kafka 是一款高性能的消息队列服务,广泛应用于大数据处理领域。为了保障数据的安全性和完整性,Kafka 提供了多种安全认证机制,其中 Kerberos 认证是一种非常...

    【清晰】Kerberos安全体系详解.pdf

    Kerberos是一种网络认证协议,它的核心目的是在网络环境中提供安全的身份验证服务。Kerberos工作原理涵盖了几个关键组成部分和概念,包括身份验证服务器(AS)、票据授权服务器(TGS)和票据(Tickets)等。它采用...

    Hadoop部署和配置Kerberos安全认证

    ### Hadoop部署和配置Kerberos安全认证 #### 一、Kerberos认证系统简介 Kerberos是一种网络认证协议,其设计目标是通过密钥分发中心(Key Distribution Center, KDC)来管理用户和服务之间的认证过程。Kerberos在...

    java实现flink订阅Kerberos认证的Kafka消息示例源码

    在Java中实现Flink订阅Kerberos认证的Kafka消息是一项关键任务,特别是在处理安全敏感的数据流时。本文将深入探讨这一主题,介绍如何利用Apache Flink与Kafka的集成,以及如何通过Kerberos进行身份验证。 首先,...

    LINUX下的kerberos的安装配置

    ### Linux下Kerberos的安装与配置 #### Kerberos简介 Kerberos是一种网络认证协议,由麻省理工学院(MIT)开发,主要用于提供安全的身份验证机制。它不同于常见的密码认证方式,通过一种称为票据(Ticket)的方式...

    ElasticSearch7.2.1+SearchGuard+Kibana+KerBeros集群测试环境部署文档.pdf

    《Elasticsearch 7.2.1 + SearchGuard + Kerberos + Kibana 集群测试环境部署详解》 本文档将详细阐述如何在Elasticsearch 7.2.1版本的基础上,集成SearchGuard安全插件、Kerberos认证服务以及Kibana可视化界面,...

    小白快速掌握Hadoop集成Kerberos安全技术频教程

    从零学习Kerberos安全认证机制,并和Hadoop、YARN、HIVE进行集成,通过知识点 + 案例教学法帮助小白快速掌握Hadoop集成Kerberos安全技术。 课程亮点 1,专项攻破Hadoop安全配置。 2,生动形象,化繁为简,讲解通俗...

    Kerberos权威指南 Kerberos The Definitive Guide

    Kerberos权威指南 ,Kerberos The Definitive Guide。Single sign-on is the holy grail of network administration, and Kerberos is the only game in town. Microsoft, by integrating Kerberos into Active ...

    kerberos认证hive连接代码

    1. **配置Kerberos环境**:首先确保你的系统已经安装了Kerberos客户端,并且已经配置了Kerberos的keytab文件和principal。keytab文件包含了用户的加密凭据,principal是Kerberos中的身份标识。 2. **Hive JDBC连接...

    Kerberos简介

    ### Kerberos简介与工作原理 #### 一、Kerberos概述 Kerberos是一种网络认证协议,其设计目的是为了在不安全的网络环境中为客户端/服务器应用提供强大的身份验证服务。该协议通过加密技术来确保数据的安全性,并且...

    kerberos+hadoop搭建

    Kerberos+Hadoop 搭建 Kerberos 是一个身份验证协议,用于提供安全的身份验证和票据授予机制。Hadoop 是一个大数据处理框架,用于处理和存储大量数据。下面将详细介绍 Kerberos+Hadoop 搭建的过程。 环境准备 在...

    centos7 pyhive连接hive(基于kerberos安全验证)

    CentOS 7 PyHive 连接 Hive(基于 Kerberos 安全验证) CentOS 7 PyHive 连接 Hive(基于 Kerberos 安全验证)是指使用 PyHive 库连接 Hive 服务器,并使用 Kerberos 进行身份验证。Kerberos 是一种广泛使用的身份...

    三步轻松理解Kerberos协议

    Kerberos协议是一种广泛应用于企业环境的身份验证协议,特别是在Active Directory (AD)域环境中,它为客户端和服务器应用提供了安全的认证服务。该协议的核心在于使用对称加密技术,确保了用户身份的安全验证,防止...

    kerberos认证过程,AD域认证

    ### Kerberos认证过程详解 #### 一、基本原理与核心概念 Kerberos是一种广泛使用的安全协议,主要用于网络环境下的身份验证(Authentication)。身份验证的目的在于确认一个人或实体是否确实如其所声称的身份那样。...

    centos7 pyhive连接hive(基于kerberos).docx

    ### CentOS 7 使用 PyHive 连接 Hive(基于 Kerberos 认证) 在大数据处理领域,Hive 是一个常用的数据仓库工具,它允许用户通过类似 SQL 的查询语言(HQL)来处理存储在 Hadoop 文件系统中的数据。在安全环境中,...

Global site tag (gtag.js) - Google Analytics