基于Kerberos的NIFI单节点安全登陆配置
来源:互联网 发布:网络蜘蛛磁力链 编辑:程序博客网 时间:2024/06/11 09:32
一、操作系统配置
1、配置静态ip
vi /etc/sysconfig/network-scripts/ifcfg-enoXXX(该文件可能会因环境而异)2、配置主机名
方法一hostnamectl set-hostname *** ***为主机名,例如:server方法二vi /etc/hostname 把原来的主机名修改为需要设置的主机名,例如:server3、配置ip映射
vi /etc/hosts 192.168.1.109 server4、关闭防火墙
> 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.COMRealm参数自己设定但要一致
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 on2.6. 使用kadmin.local工具,查看用户,使用命令listprincs
2.7. 添加服务主体并导出keytab
> kadmin.local> addprinc -randkey test/NIFI> ktadd -k /opt/test-NIFI.keytab test/NIFI> q2.8. 创建web登陆用户
创建login/server@NIFI.COM作为管理员账户,自定义密码为hadoop
kadmin.local -q "addprinc login/server"
使用kinit命令来检测创建的用户是否成功(需要输入密码)
kinit login/server@NIFI.COM
三、证书生成
下载地址: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=truenifi.security.user.login.identity.provider=kerberos-provider# kerberos # nifi.kerberos.krb5.file=/etc/krb5.confnifi.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: **** (前面配置的用户名和密码)
- 基于Kerberos的NIFI单节点安全登陆配置
- 基于Kerberos的NIFI集群安全登陆模式
- 配置基于IPv6的单节点Ceph
- 基于kerberos的分布式计算平台安全
- 基于kerberos的分布式计算平台安全
- kerberos 安全配置
- 云上基于Kerberos的大数据安全实践
- hadoop2.0 安全配置 kerberos
- cas单节点登陆
- 单节点openstack的配置
- 1-2 集群Kerberos安全配置
- 基于packstack的openstack单节点安装
- 基于单Redis节点的分布式锁
- Kerberos安全体系详解---Kerberos的简单实现
- 基于线程安全的单例模式
- 基于线程安全的单例
- Hadoop的安全模式——hadoop2.2.0的Kerberos的配置
- 单节点redis的安装与配置
- C
- Dynamic log fileNames with log4net
- JavaDay02变量常量
- 论文写作词汇积累-不断更新中
- 求最大公约数和最小公倍数
- 基于Kerberos的NIFI单节点安全登陆配置
- scala中给集合创建懒加载view视图
- python写算法题:leetcode: 35. Search Insert Position
- JQuery对象和DOM对象的区别
- 如何判断链表是否有环
- 指针
- A
- Pull解析Xml文件
- 卡特兰数 hdu 5673