您的位置:首页 > 其它

基于Kerberos的NIFI单节点安全登陆配置

2017-08-01 09:18 274 查看

一、操作系统配置

1、配置静态ip

vi /etc/sysconfig/network-scripts/ifcfg-enoXXX(该文件可能会因环境而异)
2、配置主机名
方法一	hostnamectl set-hostname ***     ***为主机名,例如:server
方法二	vi /etc/hostname  把原来的主机名修改为需要设置的主机名,例如:server
3、配置ip映射
vi /etc/hosts
192.168.1.109  server
4、关闭防火墙
> setenforce 0
> vi /etc/selinux/config
SELINUX=disabled  #修改内容为disabled
> systemctl stop firewalld.service
> systemctl disable firewalld.service
> firewall-cmd --state  #查看防火墙状态(关闭显示not running,开启显示running)

二、Kerberos的安装配置

2.1. 通过在线安装的方式安装KDC(密钥分配中心)所需要的软件

       yum -y install krb5-server krb5-libs krb5-workstation krb5-auth-dialog

       查看是否安装成功 which kinit

2.2. 配置/etc/krb5.conf文件
vi /etc/krb5.conf 修改相关参数如下

[libdefaults]
default_realm = NIFI.COM  #此处需要进行配置
[realms]
NIFI.COM ={
kdc = server   #此处配置的为主机名server
admin_server = server  #同上, 配置的为主机名server
}
[domain_realm]
.nifi.com = NIFI.COM  #此处配置与前面配置[realms]保持一致
nifi.com = NIFI.COM


Realm参数自己设定但要一致

kdc=主机ip

admin_server=主机ip

Kdc为kdc位置,格式为  主机:端口(可用默认)(主机可以是主机名或ip)
2.3. 配置/var/kerberos/krb5kdc/kdc.conf文件

vi /var/kerberos/krb5kdc/kdc.conf 

[realms]
NIFI.COM = {
#master_key_type = aes256-cts
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-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}
此处为NIFI.COM与/etc/krb5.conf中的配置保持一致
2.4. 创建Kerberos数据库

kdb5_util create -r NIFI.COM -s

 

根据提示输入数据库管理员的密码

kadmin.local -q "addprinc admin/admin" 

并为其设置密码 kadmin.local

 2.5. 设置kerberos服务开机启动,并且启动服务

       手动启动服务

service krb5kdc start

service kadmin start
      设置开机自动启动

chkconfig krb5kdc on

chkconfig kadmin on
 2.6. 使用kadmin.local工具,查看用户,使用命令listprincs

 2.7. 添加服务主体并导出keytab
> kadmin.local
> addprinc -randkey test/NIFI
> ktadd -k /opt/test-NIFI.keytab test/NIFI
> q
 2.8. 创建web登陆用户

创建login/server@NIFI.COM作为管理员账户,自定义密码为hadoop

kadmin.local -q "addprinc login/server" 

使用kinit命令来检测创建的用户是否成功(需要输入密码)
kinit login/server@NIFI.COM

三、证书生成

3.1. 下载与安装

下载地址:http://nifi.apache.org/download.html

下载后解压安装nifi-toolkit-1.1.2-bin.zip (或tar.gz格式,自己选择最新版本),配置好环境变量方便使用。

 3.2. 生成相关证书

为server节点生成密钥库,truststore,nifi.properties以及具有给定DN的客户端证书。

tls-toolkit.sh standalone -c ca.nifi.com -n 'server' -o './target'

其中 

-n,-hostnames要生成证书的主机名列表(以逗号分隔),可指定多次,支持范围和实例模式。

-c, -certificateAuthorityHostname 为Hostname of NiFi Certificate Authority。

-o, -outputDirectory 指定生成证书的路径

四、NIFI配置

1. 配置nifi常用参数

采用nifi-toolkit工具生成的证书,在生成证书的过程中已经生了一个nifi.properties配置文件,把该目录下的所有文件拷贝到nifi的conf目录下,重复的文件选择覆盖

2. 配置kerberos参数

vi nifi.properties 设置相关参数

nifi.remote.input.secure=true
nifi.security.user.login.identity.provider=kerberos-provider
# kerberos #
nifi.kerberos.krb5.file=/etc/krb5.conf
nifi.kerberos.service.principal=test/NIFI@NIFI.COM #配置的服务主体
nifi.kerberos.keytab.location=/opt/test-NIFI.keytab #配置服务主体的keytab


3. 配置nifi登陆信息

vi login-identity-providers.xml 放开kerberos-provider的注释

<provider>
<identifier>kerberos-provider</identifier>
<class>org.apache.nifi.kerberos.KerberosProvider</class>
<property name="Default Realm">NIFI.COM</property>
<property name="Authentication Expiration">12 hours</property>
</provider>

4. 配置用于登陆的用户信息

vi authorizers.xml

<authorizer>
<identifier>file-provider</identifier>
<class>org.apache.nifi.authorization.FileAuthorizer</class>
<property name="Authorizations File">./conf/authorizations.xml</property>
<property name="Users File">./conf/users.xml</property>
<!--这里配置的是初始管理员-->
<property name="Initial Admin Identity">login/server@NIFI.COM</property>
<property name="Legacy Authorized Users File"></property>
<!--
<property name="Node Identity 1"></property>
<property name="Node Identity 2"></property>
-->
</authorizer>

5. 启动服务,登陆web页面

配置完成后,启动nifi  nifi.sh start

这里稍等一会,因为nifi启动过程大约需要30秒,然后用jps查看相关进程,或用curl命令来验证nifi是否启动  curl --insecure https://server:9443/nifi
访问web页面

Hosts: 前面设置的ip

Port: 9443(默认,或者你修改的端口)

User: login/server 

Password: **** (前面配置的用户名和密码)

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nifi kerberos