基于Kerberos的NIFI单节点安全登陆配置
2017-08-01 09:18
281 查看
一、操作系统配置
1、配置静态ipvi /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.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 > q2.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: **** (前面配置的用户名和密码)
相关文章推荐
- 基于Kerberos的NIFI单节点安全登陆配置
- 基于Kerberos的NIFI集群安全登陆模式
- 基于Kerberos的NIFI集群安全登陆模式
- pgpool-II 2.10 故障节点动态恢复 基于pgpool-ii的集群配置(五)
- 集群:基于DRBD的双节点Master-Slave存储 配置文档
- OpenStack基于修改ip和配置文件的多节点部署
- solr基于jetty容器配置后台登陆角色用户名密码
- 【大数据安全】Kerberos集群安装配置
- 基于kerberos的分布式计算平台安全
- 基于Tomcat安全配置与性能优化详解
- 【大数据安全】Kerberos集群安装配置
- Hadoop的安全模式——hadoop2.2.0的Kerberos的配置
- hbase 安全管理(kerberos)配置完成启动方式
- 1-2 集群Kerberos安全配置
- 配置集群用户以及配置集群节点间无密码ssh登陆
- Spring Cloud服务注册中心双节点集群,使用Eureka实现,以IP方式配置,基于Spring Cloud的Camden SR5版本
- apache的认证安全配置,访问资源时,弹出登陆框需要用户名密码
- 【大数据安全】基于Kerberos的大数据安全验证方案
- 基于Java IO 序列化方案的memcached-session-manager多memcached节点配置
- CAS原理与配置-基于CAS的单点登陆的研究(上)