2019最新 Kerberos 联调环境 Linux 安装配置
Prerequisite
操作系统: CentOS 7
JDK版本:1.8.0_131
Step 1. Install Kerberos
PS:登录到终端的用户是 ROOT.
1.1 安装Kerberos服务
yum install -y krb5-server krb5-workstation
1.2 更新主机名
这一步可以参考网上的操作,我不啰嗦了,你们的主机名自己设置,我用的是duanduan。
1.3 配置Kerberos
服务器hostname需提前配置好以便下列kerberos配置文件使用,参考下图
配置格式:
${IP_ADDRESS} xxx.iteye.com xxx
1.3.1 查看主机IP
查看命令: ifconfig
记住上图红框中的ip,接下来更新到hosts文件
1.3.2 更新hosts文件
查看命令: vi /etc/hosts
为了测试,我用的是 192.168.126.144 duanduan.iteye.com duanduan
需要自己添加一行 ,如上图。
1.3.3 更新客户端文件
查看命令:vi /etc/krb5.conf
该文件的修改处如下图所示:
查看命令:vi /var/kerberos/krb5kdc/kdc.conf
该文件的修改处如下图所示:
查看命令:vi /etc/krb.realms(不存在则创建该文件)
该文件的新增内容如下图所示
新增的内容如下:
duanduan.iteye.com ITEYE.COM
.iteye.com ITEYE.COM
1.4 创建KDC数据库
执行命令创建kerberos数据库, 按照提示输入密码
/usr/sbin/kdb5_util create -s
如下图:
输入的密码要记住,后续有用!
创建完成会在/var/kerberos/krb5kdc/下面生成一系列文件,若重建数据库则需先删
除/var/kerberos/krb5kdc下面principal相关文件
1.5 配置权限
给数据库管理员添加ACL权限,修改kadm5.acl文件,*代表全部权限
#vi /var/kerberos/krb5kdc/kadm5.acl
编辑文件,更新为ITEYE,如下图:
1.6 添加Kerberos管理员
根据提示输入管理员密码
# kadmin.local
kadmin.local: addprinc admin/admin
如下图所示:
完成密码输入后,输入exit 退出命令行。
输入的密码要记住,后续有用!
1.7 查看Kerberos服务状态,设置开机自启动
service krb5kdc status -- 查看状态(下同)
service kadmin status
service krb5kdc start/stop/restart -- 启动/停止/重启(下同)
service kadmin start/stop/restart
chkconfig krb5kdc on -- 设置开机自启(下同)
chkconfig kadmin on
如果中途有重启过linux操作系统,需要重启Kerberos的服务。参考上图重启命令。
1.8 配置JCE
CentOS6.5及以上系统默认使用AES-256加密,因此需要所有节点安装并配置JCE,
JCE下载路径:
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
参考下图,使用下载或文章后面的在线安装包中的jar包
替换/usr/lib/jvm/${JAVA_VERSION_PATH}/jre/lib/security下jar包
(注:需使用root用户替换,其他用户可能没权限操作)
Step 2. Configure a Service Principal for an Oracle Database Server
2.1 Principal格式及说明
kservice/kinstance@REALM
Kservice 只的是ORACLE 的 SID,不懂SID的可以网上搜一下。
示例:
oracle/dbserver.example.com@EXAMPLE.COM
2.2 添加Principal
addprinc -randkey orcl/duanduan.iteye.com@ITEYE.COM
参考下图
输入exit 退出命令行。
Step 3. Extract a Service Key Table from Kerberos
3.1 提取Service Key Table
root用户执行命令:
先执行 命令 kadmin.local
kadmin.local: ktadd -k /tmp/keytab orcl/duanduan.iteye.com
kadmin.local: exit
输入exit 退出命令行。
切换 oracle用户执行命令:
-- cd ${ORACLE_HOME}/bin ,需根据${ORACLE_HOME}实际路径执行下列命令
cd /u01/app/oracle/product/11.2.0/dbhome_1/bin
oklist -k -t /tmp/keytab
注意执行 oklist -k -t /tmp/keytab 命令,发现这个文件的权限如下
-rw------- 1 root root 634 4月 11 16:59 keytab
需要将keytab 的访问权限开放给oracle。否则会执行失败。
用ROOT 用户 执行开放权限的命令 chmod 777 /tmp/keytab 。
再切换oracle用户执行命令,执行结果如下:
3.2 移动Service Key Table
# mv /tmp/keytab /etc/v5srvtab
3.3 检查Service Key Table权限
查看/etc/v5srvtab权限,确保oracle用户拥有该文件读权限
若无读权限,可使用下列命令授予权限
# chmod 777 /etc/v5srvtab
Step 4. Configure Kerberos Authentication
4.1 配置sqlnet.ora
编辑${ORACLE_HOME}/network/admin/sqlnet.ora配置, 参考下图:
若该配置文件存在,直接编辑;若该配置文件不存在,复制${ORACLE_HOME}/network/admin/samples/sqlnet.ora到${ORACLE_HOME}/network/admin/目录下,然后再编辑。
SQLNET.KERBEROS5_REALMS = /etc/krb.realms
SQLNET.KERBEROS5_CC_NAME = /tmp/krb5cc_0
SQLNET.AUTHENTICATION_SERVICES= (BEQ, TCPS, KERBEROS5)
TRACE_LEVEL_CLIENT = SUPPORT
TRACE_LEVEL_SERVER = SUPPORT
SQLNET.KERBEROS5_CONF = /etc/krb5.conf
SQLNET.KERBEROS5_CONF_MIT=TRUE
SQLNET.AUTHENTICATION_KERBEROS5_SERVICE = orcl
ADR_BASE = /u01/app/oracle
新增的文件
4.2 配置init.ora
编辑${ORACLE_HOME}/dbs/init.ora, 添加下列配置
OS_AUTHENT_PREFIX=""
新增的内容如下:
Step 5. Create a Kerberos User
创建kerberos用户,根据提示输入密码
kadmin.local: addprinc krbuser
kadmin.local: exit
完成密码输入后,输入exit 退出命令行。
输入的密码要记住,后续有用!
Step 6. Create an Externally Authenticated Oracle User
切换oralce用户
# su - oracle
# sqlplus /nolog
SQL> CONNECT / AS SYSDBA;
SQL> CREATE USER "KRBUSER@ITEYE.COM" IDENTIFIED EXTERNALLY;
SQL> GRANT CREATE SESSION TO "KRBUSER@ITEYE.COM";
执行结果
Step 7. Get an Initial Ticket for the Kerberos/Oracle User
切换到${ORACLE_HOME}/bin目录, 执行下列命令初始化ticket
okinit krbuser
完成密码输入后,输入exit 退出命令行。
输入的密码要记住,后续有用!
测试数据库连接,如能连接,说明已安装成功
sqlplus /@orcl
连接成功后的效果图
如果连接不上,从这3个方面入手解决
1.查看Oracle 的 ora 监听文件的host是否改成 duanduan,跟着主机名一样就行。
2.用kist 命令 检查是否过期。如果过期用 kinit krbuser 重新注册。密码用之前保存设置的。[root@duanduan ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: krbuser@ITEYE.COM
Valid starting Expires Service principal
2019-04-11T18:25:27 2019-04-12T02:25:12 krbtgt/ITEYE.COM@ITEYE.COM
[root@duanduan ~]# kinit krbuser
Password for krbuser@ITEYE.COM:
[root@duanduan ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: krbuser@ITEYE.COM
Valid starting Expires Service principal
2019-04-12T15:13:53 2019-04-13T15:13:53 krbtgt/ITEYE.COM@ITEYE.COM
3.检查 /tmp/krb5cc_0 的文件权限是否有问题,建议执行如下命令:
[root@duanduan ~]# chmod 777 /tmp/krb5cc_0
[root@duanduan ~]# ll /tmp/krb5cc_0
-rwxrwxrwx 1 root root 685 4月 12 15:14 /tmp/krb5cc_0
Resources
官网:
https://web.mit.edu/kerberos/krb5-1.16/doc/index.html
相关说明文章:
https://docs.oracle.com/cd/E56344_01/html/E53971/kintro-1.html#scrolltoc
http://linux.vbird.org/linux_enterprise/kerberos.php
安装配置参考文章:
https://docs.oracle.com/cd/E11882_01/network.112/e40393/asokerb.htm#ASOAG060
https://blog.csdn.net/Post_Yuan/article/details/54406148
http://www.ateam-oracle.com/configuring-your-oracle-database-for-kerberos-authentication/
https://yq.aliyun.com/articles/624363?spm=a2c4e.11154873.tagmain.6.77abc71cxnqftk
常见错误原因列表及解决办法:
https://docs.oracle.com/cd/E19253-01/816-4557/trouble-6/index.html
相关推荐
本文将重点介绍如何在Linux环境下安装和配置Kerberos服务,并使用Kerberos提供的服务来替代传统的telnetd、rlogind和rshd等服务。 #### 安装环境及软件包 - **操作系统**: Red Hat 8.0 - **安装包**: - krb5-...
#### 二、Linux环境下安装Kerberos KDC服务 1. **安装Kerberos KDC服务** 在CentOS 6.7操作系统上,可以通过`yum`工具安装Kerberos的相关软件包。执行如下命令: ``` yum install krb5-libs krb5-server krb5-...
本文将详细介绍如何在 CentOS 7 上安装必要的软件包,并配置基于 Kerberos 的 PyHive 连接 Hive。 #### 1. 安装所需软件包 为了使 PyHive 能够顺利地与 Hive 通信,并支持 Kerberos 认证,我们需要安装一系列的...
在配置 Kerberos 之前,需要安装和部署 Kerberos 服务。安装和部署 Kerberos 服务的过程请参考相关博客文章。 在 Kerberos 中,为 Namenode 和 Datanode 分别新建 principal:nn/admin@psy.com、dn/admin@psy.com ...
- 已配置YUM源:为了确保Kerberos组件能够顺利安装,需要提前配置好系统的YUM源,通常配置好操作系统和Hadoop的源之后即可满足安装需求。 - JCE策略文件:下载Java Cryptography Extension (JCE) Unlimited ...
### Kafka配置Kerberos安全认证详解 #### 一、引言 Kafka 是一款高性能的消息队列服务,...需要注意的是,在实际部署过程中,可能还会遇到各种细节问题,比如权限设置、配置文件路径等,都需要根据具体环境进行调整。
配置Kerberos主配置文件(`/etc/krb5.conf`),并设置Kerberos域。 3. **创建Kerberos服务主体** 为Elasticsearch和SearchGuard创建服务主体,并生成密钥。 4. **配置Elasticsearch和SearchGuard支持Kerberos** ...
#### 二、AD域控制器下的Kerberos配置 **1. 创建域控制器** 本文以Windows Server 2008为例创建域控制器。具体步骤如下: - **启动dcpromo工具**:点击“开始”菜单,输入“dcpromo”命令。 - **创建活动目录**:...
Kerberos协议: Kerberos协议主要用于计算机网络的身份鉴别...2.1. 环境配置 安装kerberos前,要确保主机名可以被解析。 主机名 内网IP 角色 Vmw201 172.16.18.201 Master KDC Vmw202 172.16.18.20
kerberos 环境搭建
3. **修改Kerberos配置文件**: - Kerberos的配置文件通常位于`C:\ProgramData\MIT\Kerberos5\`目录下,文件名为`krb5.ini`。 - 修改该文件以适应您的环境需求,比如指定Kerberos服务器的位置、域名以及其他特定于...
kafka 配置 kerberos,设置 ACL权限, java 客户端连接。
1. **配置Kerberos环境**:首先确保你的系统已经安装了Kerberos客户端,并且已经配置了Kerberos的keytab文件和principal。keytab文件包含了用户的加密凭据,principal是Kerberos中的身份标识。 2. **Hive JDBC连接...
安装Kerberos涉及多个步骤,包括配置环境、安装软件、设置服务和用户等。具体操作可能因操作系统而异,但通常包括以下步骤: 1. **环境准备**:确保系统满足Kerberos的依赖要求,如OpenSSL库和相关的开发工具。 2....
标题中的“cpp-从Linux内核密钥中提取Kerberos票证的工具”表明这是一个用C++编写的程序,其主要功能是读取Linux内核中的密钥,并用于解析和提取Kerberos票证。Kerberos是一种广泛使用的网络身份验证协议,它通过...
在搭建Kerberos环境前,你需要一个运行Linux的操作系统,例如Ubuntu或CentOS。确保系统已经更新到最新,并安装必要的软件包,如`krb5-server`、`krb5-workstation`等。 3. **配置KDC**: - 配置主KDC:在/etc/krb...
以下是对标题“Hadoop2.0+Kerberos配置”和描述“Hadoop的安全认证机制,在hadoop的集群中实现对服务器与服务器之间的安全保障”中涉及知识点的详细说明: 1. Hadoop2.0安全机制:Hadoop2.0版本对安全性进行了增强...
配置Kerberos服务器需要安装Kerberos软件包,并配置Kerberos服务器的配置文件。Kerberos服务器的配置文件用于指定身份验证服务器的地址、端口号、加密算法等。 五、客户端配置 客户端需要安装Kerberos客户端软件包...
Kerberos是一款广泛应用于网络身份验证的安全协议,尤其在Linux和Unix系统中。它由麻省理工学院开发,旨在提供强大的认证服务,确保用户在访问网络资源时的身份真实可信。Kerberos软件包,如krb5-1.6.3,是实现这一...